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
Ansible倉庫默認不在yum倉庫中,因此我們需要使用下面的命令啟用epel倉庫。
[root@ansible ~]# rpm -iUvh http://dl.Fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
[root@ansible ~]#yum install ansible
安裝完成後,檢查ansible版本:
[root@ansible ~]# ansible --version
ansible-version
在Ansible服務端生成密鑰,並且復制公鑰到節點中。
root@ansible ~]#ssh-keygen
ssh-keygen
使用ssh-copy-id命令來復制Ansible公鑰到節點中。
ssh-copy-id-command
文件 /etc/ansible/hosts
維護著Ansible中服務器的清單。
[root@ansible ~]#vi/etc/ansible/hosts
[test-servers]
192.168.1.9
192.168.1.10
保存並退出文件。
主機文件示例如下:
ansible-host
使用ping檢查‘test-servers’或者ansible節點的連通性。
[root@ansible ~]# ansible -m ping'test-servers'
ansible-ping
例子1:檢查Ansible節點的運行時間(uptime)
[root@ansible ~]# ansible -m command -a "uptime"'test-servers'
ansible-uptime
例子2:檢查節點的內核版本
[root@ansible ~]# ansible -m command -a "uname -r"'test-servers'
kernel-version-ansible
例子3:給節點增加用戶
[root@ansible ~]# ansible -m command -a "useradd mark"'test-servers'
[root@ansible ~]# ansible -m command -a "grep mark /etc/passwd"'test-servers'
useradd-ansible
例子4:重定向輸出到文件中
[root@ansible ~]# ansible -m command -a "df -Th"'test-servers'>/tmp/command-output.txt
redirecting-output-ansible
使用Ansible批量管理遠程服務器 http://www.linuxidc.com/Linux/2015-05/118080.htm
Ansible和Docker的作用和用法 http://www.linuxidc.com/Linux/2014-11/109783.htm
Ansible批量搭建LAMP環境 http://www.linuxidc.com/Linux/2014-10/108264.htm
Ansible :一個配置管理和IT自動化工具 http://www.linuxidc.com/Linux/2014-11/109365.htm
Ansible 的詳細介紹:請點這裡
Ansible 的下載地址:請點這裡
更多CentOS相關信息見CentOS 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=14
via: http://www.linuxtechi.com/install-and-use-ansible-in-centos-7/
作者:Pradeep Kumar 譯者:geekpi 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出