ansible是基於python語言開發的模塊化批量管理工具。ansible無終端,基於ssh實現管理;支持主從模式,支持playbook。
實驗環境:3臺Centos7 、131作爲主控節點、130和132作爲被控節點。
1、在131上安裝ansible
(1)、yum install ansible -y
(2)、查看ansible版本
ansible --version
(3)、ansible相關的文件
rpm -qc ansible
/etc/ansible/ansible.cfg #ansible配置文件
/etc/ansible/hosts #ansible主機列表
2、生成祕鑰
(1)、ssh-keygen -t rsa -P ""
(2)、把祕鑰分發給主機
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.70.130
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.70.131
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.70.132
(3)、測試
ssh ser132 ip addr
3、使用ansible管理其餘節點
格式:ansible <host> [options]
選項:
-m: 指定模塊名稱
-a:指定模塊的具體參數
-s:以sudo的方式運行操做
-i:指定被管理節點的主機列表
-f:一批鏈接幾個主機進行操做(默認是5個主機)
查看ansible所支持的模塊的信息
ansible-doc -l
[默認用command模塊]
查看一個模塊的幫助:ansible-doc -s 模塊名
例如command: ansible-doc -s command
ansible被管理節點的列表文件/etc/ansible/hosts
定義被管理節點的時候:能夠單獨基於主機作定義,也能夠將多個主機定義成一個主機組
(1)、將管理節點定義成一個主機組
vim /etc/ansible/hosts
[webserver]
192.168.70.130 info="this is first server"
192.168.70.132 info="this is second server"python
例子:在管理節點經過ansible在被管理節點執行命令
ansible目標 -m command -a "命令"
說明:目標能夠是一個主機組,也能夠是hosts文件中的一個或者多個主機,也但是all
-m command:表示此次ansible操做是基於command模塊實現
-a "命令":表示在管理節點上要執行的命令
(2)、在webserber上全部主機上執行命令顯示主機名
ansible webserver -m command -a "hostname"
(3)、在全部主機上都執行命令顯示主機名
ansible all -m command -a "hostname"
(4)、在指定的主機上執行命令顯示主機名(132)
ansible 192.168.70.132 -m command -a "hostname"
以上就是ansible的簡單安裝及配置,因爲時間問題,ansible的模塊這裏就不一一介紹。博主小白,歡迎各位指出不足和改進意見,感謝觀看。linux
真正讓你走遠的是自律、積極和勤奮!web