Ansible 中的概念
任务 Task——多个 Task 顺序执行,在每个 Task 执行结束可以通知 Hanlder 触发新操作。
变量 Variable——用户定义的变量。
环境 Facts——Facts 从每台服务器上收集得到,可以用作变量。
模块——比如 shell、ping、apt 等等
操作 Hanlder
安装
#yum install ansible
设置用于节点鉴权的SSH密钥
#ssh-keygen
使用ssh-copy-id命令来复制Ansible公钥到节点中。
为Ansible定义节点的清单
修改 /etc/ansible/hosts 添加
[web] 192.168.1.2 192.168.1.3 192.168.1.4
尝试在Ansible服务端运行命令
# ansible -m ping ‘web’
[root@node1 admin]# ansible -m ping 'webservers' 192.168.47.131 | SUCCESS => { "changed": false, "ping": "pong" } 192.168.47.128 | SUCCESS => { "changed": false, "ping": "pong" }
给节点增加用户
# ansible -m command -a "useradd mark" 'webservers'
重定向输出到文件中
# ansible -m command -a "df -Th"'test-servers'>/tmp/command-output.txt