1. 程式人生 > >ansible---基礎

ansible---基礎

blog log fig文件 編寫 config文件 name mman playbook com

ansible
特點:
不需要安裝客戶端,通過sshd去通信
基於模塊工作,模塊可以由任何語言開發
不僅支持命令行使用模塊,也支持編寫yaml格式的playbook
支持sudo
安裝:
yum install -y epel-release
yum install -y ansible

配置文件:
vi /etc/ansible/hosts //增加
[test]
127.0.0.1 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass=123456
zhan-02 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass=123456

ansible執行遠程命令:
cd /etc/ansible
ansible test -m command -a ‘who‘
[root@zhan-01 ansible]# ansible test -m command -a ‘who‘
zhan-02 | SUCCESS | rc=0 >>
root pts/0 2018-02-03 16:00 (192.168.88.123)
root pts/1 2018-02-03 16:19 (192.168.88.123)
root pts/2 2018-02-03 17:45 (zhan-01)

127.0.0.1 | SUCCESS | rc=0 >>
root pts/0 2018-02-03 16:00 (192.168.88.123)
root pts/1 2018-02-03 08:19 (192.168.88.123)
root pts/4 2018-02-03 09:45 (localhost)

test為主機組名,-m後邊是模塊名字,-a後面是命令。當然我們也可以直接寫一個ip,針對某一臺機器來執行命令。

執行單個主機命令:
ansible 127.0.0.1 -m command -a ‘hostname‘
127.0.0.1 | SUCCESS | rc=0 >>
zhan-01

ansible 取消交互:
去除ssh無交互添加known_hosts配置文件
在/etc/ansible/ansible.cfg打開下面註釋:
host_key_checking = False

取消ssh的yes和no的交互
修改/etc/ssh/ssh_config文件(或$HOME/.ssh/config)中的配置,添加如下兩行配置:
一般為:StrictHostKeyChecking ask
可改為:StrictHostKeyChecking no
UserKnownHostsFile /dev/null
修改好配置後,重新啟動sshd服務即可,命令為:/etc/init.d/sshd restart (或 service sshd restart )

ansible---基礎