现在很多人都在说运维自动化工具,这里大致介绍下Ansible的一个安装配置过程。


Ansible简介

Ansible是一个简单的自动化运维管理工具,基于Python语言实现,由红帽主导。

Ansible最大的特点:无需在被控主机部署任何客户端代理,默认直接通过SSH通道进行远程命令执行或下发配置。

Ansible架构图:

自动化运维平台 Paas 自动化运维平台搭建_自动化运维平台 Paas_02

各个功能模块在网上可以查到具体的说明,这里简单是一个环境搭建的分享,功能模块在今后的分享中会具体来说明。


Ansible的特点,这个网上可以找到不少,这里大致罗列了一些:

  • 部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作;默认使用SSH协议对设备进行管理。
  • 配置简单、功能强大、扩展性强。
  • 支持API及自定义模块,可通过Python轻松扩展。
  • 通过Playbooks来定制强大的配置、状态管理。
  • 对云计算平台、大数据都有很好的支持。

Ansible安装配置(一)

实验环境

笔者在Zstack虚拟化环境上搭建了4台云主机来操作,操作系统版本为Centos7.4

对应主机名和IP地址:


1. 192.168.1.122 jacky1 主管理节点
2. 192.168.1.123 fisho1 客户端节点
3. 192.168.1.124 jacky2 客户端节点
4. 192.168.1.125 fisho2 客户端节点
  • 安装过程中记得配置好/etc/hosts文件,然后关闭Selinux,关闭防火墙。

 

1. vim /etc/sysconfig/selinux
2. SELINUX=enforcing 改为 SELINUX=disabled
 
 
1. systemctl disable firewalld.service

系统重启。


  • 配置SSH密钥:

在主管理节点中(192.168.1.122 jacky1):


 

1. sh-keygen -N ''
2. yes即可

然后分发密钥:


 

1. ssh-copy-id root@192.168.1.123
2. ssh-copy-id root@192.168.1.124
3. ssh-copy-id root@192.168.1.125

完成后测试: 

自动化运维平台 Paas 自动化运维平台搭建_客户端_03


  • 安装Ansible:

主管理节点(192.168.1.122 jacky1)通过yum命令安装:

 

1. yum install ansible -y

过程稍等片刻就好了,安装成功后显示如下: 

自动化运维平台 Paas 自动化运维平台搭建_自动化运维平台 Paas_04


自动化运维平台 Paas 自动化运维平台搭建_vim_05


配置host文件:

这里配置的不是/etc/hosts,而是:etc/ansible/hosts

1. vim etc/ansible/hosts 
2. 增加客户端设备的IP,并设置为【jacky】组

自动化运维平台 Paas 自动化运维平台搭建_vim_06


检查配置文件:

检查/etc/ansible/ansible.cfg中的host_key_checking = False


  • 基本测试:

完成上述过程,其实很简单,那么可以测试是否能运行: 
主节点运行命令:


1. ansible jacky -m command -a "uptime"

显示如下: 

自动化运维平台 Paas 自动化运维平台搭建_客户端_07

表示目前为止是成功的,关于上述命令,可以参考下命令的说明。

  • 命令说明:

 

1. ansible -m MOD_NAME -a MOD_ARGS

通过执行:


1. ansible -h

可以看到命令的使用说明:

自动化运维平台 Paas 自动化运维平台搭建_Ansible_08


自动化运维平台 Paas 自动化运维平台搭建_vim_09


 

1. ansible-doc -l 获取模块信息
2. ansible-doc -s MOD_NAME 获取指定模块的使用帮助 
3. 举例:ansible-doc -s aos_ip_pool

如图:

自动化运维平台 Paas 自动化运维平台搭建_客户端_10