文档首页 > > 移植指南> 安装Ansible> 移植指导

移植指导

分享
更新时间:2020/08/31 GMT+08:00

介绍

简要介绍

Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

语言:Python

一句话概述:自动化运维工具

建议的版本

建议使用版本为“ansible-2.0.0.0”

环境要求

云服务器要求

本文以云服务器KC1实例测试,云服务器配置如表1所示。

表1 云服务器配置

项目

说明

规格

kc1.xlarge.2 | 4vCPUs | 8GB

磁盘

系统盘:高IO(40GB)

操作系统要求

操作系统要求如表2所示。

表2 操作系统要求

项目

版本

下载地址

CentOS

7.5

在公共镜像中已提供。

Kernel

4.14.0

在公共镜像中已提供。

获取源码

https://releases.ansible.com/ansible/ 提供Ansible各版本的源码压缩包,可以直接下载。

编译和安装

本文以“ansible-2.0.0.0”版本为例进行说明。

  1. 由于Ansible是基于Python开发的,所以需要先安装Python开发包“python-devel”

    yum install python-devel -y

  2. 安装ansible依赖的模块“paromiko”

    下载“paromiko”源码,解压并安装。

    wget https://pypi.python.org/packages/source/p/paramiko/paramiko-1.15.1.tar.gz

    tar -xvzf paramiko-1.15.1.tar.gz

    cd paramiko-1.15.1

    python setup.py install

  3. 获取Ansible的源代码。

    cd

    wget https://releases.ansible.com/ansible/ansible-2.0.0.0.tar.gz

  4. 解压并安装Ansible。

    tar -zxvf ansible-2.0.0.0.tar.gz

    cd ansible-2.0.0.0

    make

    make install

  5. 编译安装完成后,查看Ansible版本号是否与源码版本号一致。

    ansible --version

    回显信息如下,则表示“ansible-2.0.0.0”编译并安装成功。

    ansible 2.0.0.0
        config file = 
        configured module search path = Default w/o overrides

运行和验证

安装了Ansible的服务器,可以作为管理服务器,管理整个服务器集群中的其他目标服务器。通过验证安装了Ansible服务器上的Ansible命令是否成功执行,来验证Ansible是否安装成功并能正常使用。

  1. 配置SSH认证信息。

    1. 在本地机器上使用ssh-keygen产生公钥私钥对。

      cd ~

      ssh-keygen -t rsa

      参数说明:

      • “-t rsa”表示使用rsa算法进行加密,执行后,会在“/root/.ssh”目录下生成“id_rsa”(私钥)和“id_rsa.pub”(公钥)。
      • 过程中依次提示输入保存的文件名、使用该秘钥的密码和确认密码时,直接按“enter”键。
      回显内容如下:
      Generating public/private rsa key pair.
      Enter file in which to save the key (/root/.ssh/id_rsa): 
      Enter passphrase (empty for no passphrase): 
      Enter same passphrase again: 
      Your identification has been saved in /root/.ssh/id_rsa.
      Your public key has been saved in /root/.ssh/id_rsa.pub.
      The key fingerprint is:
      SHA256:UgSw+84uCqU+PqllkGC/dknlkR1ueO5GndVdKWv2e9U root@ecs-xjt-c-0004
      The key's randomart image is:
      +---[RSA 2048]----+
      |    ......      o|
      |     . .= .  ...o|
      |..  .  =.=   .o..|
      |o..  .o.= . o+   |
      |o ......So oo . .|
      | +  o...o      .E|
      |o +o o.  o      o|
      |.B. oo  .      ..|
      |+o+. o+         .|
      +----[SHA256]-----+

    2. 添加目标节点的SSH认证信息

      “ssh-copy-id”将公钥“id_rsa.pub”复制到目标节点中。

      ssh-copy-id -i ~/.ssh/id_rsa.pub root@xxxx

      • “xxxx”表示目标节点的IP地址,可用ifconfig命令查看,过程中会提示输入目标节点的“root”用户密码,输入即可
      • 添加认证信息后,目标节点的“~/.ssh/”目录下将会出现一个“authorized_keys”文件,里面包含了Ansible管理节点的公钥信息,可检查是否存在。

  2. 验证Ansible命令是否成功执行。

    1. 在Ansible管理服务器中创建“hosts”文件。
      1. 创建配置目录:

        mkdir -p /etc/ansible

      2. 编辑目标主机列表,在“hosts”文件中输入需要管理的主机IP地址(与1中目标主机的IP地址一致)。

        vi /etc/ansible/hosts

      3. 保存并退出。
    2. 在Ansible管理服务器上运行Ansible命令。

      ansible all -m ping

      回显信息如下,则表示Ansible安装成功且运行正常:
      192.168.1.163 | SUCCESS => {
          "changed": false, 
          "ping": "pong"
      }

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问