在 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 仓库。
[root@ansible ~]# rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
第二步: 使用 yum 安装 Ansible
[root@ansible ~]# yum install ansible
安装完成后,检查 ansible 版本:
[root@ansible ~]# ansible --version
第三步: 设置用于节点鉴权的 SSH 密钥
在 Ansible 服务端生成密钥,并且复制公钥到节点中。
root@ansible ~]# ssh-keygen
使用 ssh-copy-id 命令来复制 Ansible 公钥到节点中。
第四步:为 Ansible 定义节点的清单
文件 /etc/ansible/hosts
维护着 Ansible 中服务器的清单。
[root@ansible ~]# vi /etc/ansible/hosts
[test-servers]
192.168.1.9
192.168.1.10
保存并退出文件。
主机文件示例如下:
第五步:尝试在 Ansible 服务端运行命令
使用 ping 检查‘test-servers’或者 ansible 节点的连通性。
[root@ansible ~]# ansible -m ping 'test-servers'
执行 shell 命令
例子 1:检查 Ansible 节点的运行时间(uptime)
[root@ansible ~]# ansible -m command -a "uptime" 'test-servers'
例子 2:检查节点的内核版本
[root@ansible ~]# ansible -m command -a "uname -r" 'test-servers'
例子 3:给节点增加用户
[root@ansible ~]# ansible -m command -a "useradd mark" 'test-servers'
[root@ansible ~]# ansible -m command -a "grep mark /etc/passwd" 'test-servers'
例子 4:重定向输出到文件中
[root@ansible ~]# ansible -m command -a "df -Th" 'test-servers' > /tmp/command-output.txt
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论