ansible功能簡介:ansible可以實現批量系統配置、批量軟件部署、批量文件拷貝、批量運行命令等功能。主要基於ssh實現連接各個被控制端
yum默認安裝的ansible,常用的配置文件有兩個,一個是ansible服務器配置文件/etc/ansible/ansible.cfg,另一個則是用力管理被控制主機的ip地址的 /etc/ansible/hosts
ansible服務器端:172.16.13.159
ansible被控制端:172.16.13.158
大體思路:ansible服務器端免密登錄被控制端,安裝ansible服務,修改配置文件,發送命令測試,如果正常執行則說明成功了
1.免密登錄
在服務器端:
執行ssh-keygen 生成密鑰
接着執行ssh-copy-id root@172.16.13.158 輸入158的秘密
最后執行ssh 172.16.13.158如果沒有提示輸入秘密就直接登入158,說明免密登錄成功了
2.安裝ansible
在服務器端:
先安裝epel源,下載路徑https://fedoraproject.org/wiki/EPEL 找到epel-releaselatest-7下載
執行yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install ansible -y
3.被控制端
被控制端安裝如下軟件
yum install libselinux-python -y
4.配置ansible服務器
在服務器端:
修改文件/etc/ansible/hosts
內容如下
[root@localhost ~]# cat /etc/ansible/hosts |grep -v ^#|grep -v ^$
[george]
172.16.13.158
[root@localhost ~]#
5.測試ansible功能
在ansible服務器端(在被管理主機上的root目錄下創建一個a文件夾,默認情況下執行后會有警告,但是不影響)
ansible george -m command -a "mkdir /root/a"
PS:
查看的是george主機組,模塊為command,的主機負載信息
george #主機組
-m #指定模塊參數(command為默認模塊,不寫也可以)
command #模塊名稱
-a #指定利用模塊執行的動作參數,-a后面的是要執行的命令
uptime #批量執行的命令
執行結果解釋
ansible執行命令后輸出信息中:
綠色——表示查詢,或者沒有發生任何改變
紅色——表示命令操作出現異常
屎×××——對遠程主機做了相應改動
粉色——對操作提出建議或忠告
如下圖:第一個結果因組不存在告警,第二個結果則執行正常
6.在被控制主機上查看,可以成功看到root目錄下多了一個a文件夾