角色
作業系統
網路位址
管理主機
ubuntu 14.04 tls
192.168.200.250
託管節點
ubuntu 16.04 tls
192.168.200.11 192.168.200.12
$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install ansible
# vim /etc/ansible/hosts
...[webservers]
192.168.200.11
[compute]
192.168.200.12
...
# ssh-keygen -t rsa
# ssh-agent bash
# ssh-add ~/.ssh/id_rsa
# ssh-keygen -t rsa
# scp [email protected]:~/.ssh/id_rsa.pub ./
# cat id_rsa.pub >> ~/.ssh/authorized_keys
# chmod 600 ~/.ssh/authorized_keys
# apt-get install python
# ansible all -m ping
192.168.200.11 | success >>
192.168.200.12 | success >>
# ansible compute -m ping
192.168.200.12 | success >>
# ansible webservers -m ping
192.168.200.11 | success >>
# ansible all -a "/bin/echo hello"
192.168.200.12 | success | rc=0 >>
hello
192.168.200.11 | success | rc=0 >>
hello
靜態方式
就是前面在檔案/etc/ansible/hosts中指定的主機和組的方式
動態方式
通過外部指令碼獲取主機列表,並按照ansible所要求的格式返回給ansilbe命令的方式。需要注意的是,用於生成json**的指令碼必須支援兩個選項:
},"webservers" : [ "host2.example.com", "host3.example.com" ],
"atlanta" : ,
"children": [ "marietta", "5points" ]
},"marietta" : [ "host6.example.com" ],
"5points" : [ "host7.example.com" ]
}
編寫樣例指令碼inventory-script:
[web]
192.168.200.100
呼叫方式如下:
### ansible預設通過呼叫指令碼的--list選項來獲取主機列表
# ansible web -i inventory-script -m ping
ansible基本使用
ansible是個配置管理工具,可以批量處理一些任務。ansible只需要依賴ssh即可使用,而不需要在受管主機上安裝客戶端工具。ansible具有冪等性,即以結果為導向。比如,當我們拉取檔案到本地時,如果本地有該檔案則不再拉取,如果本地沒有該檔案則拉取。使用ansible需要滿足兩個基本條件 安裝...
ansible 基本使用 1
ansible 當前主流的批量配置管理工具,相比於saltstack 它是無agent 模式,基於ssh 去遠端管理主機。有密碼和金鑰兩種方式遠端認證方式。yum y install ansible 前提是有epel 源,如果沒有需要安裝 pip install ansible github原始碼包...
ansible的安裝及基本使用
1.安裝ansible 如果沒有版本和別的要求,這裡直接使用yum安裝 yum y install ansible 檢視版本 root 0006 ansible version ansible 2.4.2.0 config file etc ansible ansible.cfg executabl...