在 CentOS 7 中安装并使用自动化工具 Ansible


Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具。它用Python写成,类似于Chef和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端。它使用SSH来和节点进行通信。

本篇中我们将在CentOS 7上安装并配置Ansible,并且尝试管理两个节点。

  • Ansible 服务端 – ansible.linuxtechi.com ( 192.168.1.15 )

  • 节点 – 192.168.1.9 , 192.168.1.10

 

第一步: 设置EPEL仓库

Ansible仓库默认不在yum仓库中,因此我们需要使用下面的命令启用epel仓库。

  1. [root@ansible ~]# rpm -iUvh http://dl.Fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

 

第二步: 使用yum安装Ansible

  1. [root@ansible ~]#yum install ansible

安装完成后,检查ansible版本:

  1. [root@ansible ~]# ansible --version

ansible-version

ansible-version

 

第三步: 设置用于节点鉴权的SSH密钥

在Ansible服务端生成密钥,并且复制公钥到节点中。

  1. root@ansible ~]#ssh-keygen

ssh-keygen

ssh-keygen

使用ssh-copy-id命令来复制Ansible公钥到节点中。

ssh-copy-id-command

ssh-copy-id-command

 

第四步:为Ansible定义节点的清单

文件 /etc/ansible/hosts 维护着Ansible中服务器的清单。

  1. [root@ansible ~]#vi/etc/ansible/hosts
  2. [test-servers]
  3. 192.168.1.9
  4. 192.168.1.10

保存并退出文件。

主机文件示例如下:

ansible-host

ansible-host

 

第五步:尝试在Ansible服务端运行命令

使用ping检查‘test-servers’或者ansible节点的连通性。

  1. [root@ansible ~]# ansible -m ping'test-servers'

ansible-ping

ansible-ping

 

执行shell命令

例子1:检查Ansible节点的运行时间(uptime)

  1. [root@ansible ~]# ansible -m command -a "uptime"'test-servers'

ansible-uptime

ansible-uptime

例子2:检查节点的内核版本

  1. [root@ansible ~]# ansible -m command -a "uname -r"'test-servers'

kernel-version-ansible

kernel-version-ansible

例子3:给节点增加用户

  1. [root@ansible ~]# ansible -m command -a "useradd mark"'test-servers'
  2. [root@ansible ~]# ansible -m command -a "grep mark /etc/passwd"'test-servers'

useradd-ansible

useradd-ansible

例子4:重定向输出到文件中

  1. [root@ansible ~]# ansible -m command -a "df -Th"'test-servers'>/tmp/command-output.txt

redirecting-output-ansible

redirecting-output-ansible

使用Ansible批量管理远程服务器 

Ansible和Docker的作用和用法 

Ansible批量搭建LAMP环境

Ansible :一个配置管理和IT自动化工具 

Ansible 的详细介绍:请点这里
Ansible 的下载地址:请点这里

相关内容

    暂无相关文章