ansible-playbook 修改主机的host解析
注:ansible 主机同被控主机的互信配置忽略,不在本次讨论的范围内。
1、增加ansible host被控主机信息
[root@ansible-server ansible_playbook_temple]# more ansiblehosts [ansible_hosts] 192.168.1.10 192.168.1.11 192.168.1.12 192.168.1.13 192.168.1.14
2、测试是否正常
[root@ansible-server ansible_playbook_temple]#ansible ansible_hosts -i ansiblehosts -m ping
192.168.1.10 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.1.11 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.1.12 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.1.13 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.1.14 | SUCCESS => {
"changed": false,
"ping": "pong"
}
3、操作被控主机的host解析,通过ansible-playbook
增加host解析脚本
[root@ansible-server ansible_playbook_temple]# more add_hosts.yaml
---
- hosts: ansible_hosts
remote_user: root
tasks:
- name: add hosts
lineinfile:
path: /etc/hosts
state: present
line: "10.10.10.100 www.wanghengzhi.com"
- name: test hosts
shell: ping -c2 www.wanghengzhi.com
register: result
failed_when: false
- name: "show result"
debug:
msg: "{{result.stdout_lines}}"
运行方式
[root@ansible-server ansible_playbook_temple]#ansible-playbook add_hosts.yaml -i ansiblehosts
回显内容略过
修改host解析脚本
[root@ansible-server ansible_playbook_temple]# more replace_hosts.yaml
---
- hosts: ansible_hosts
remote_user: root
tasks:
- name: replace hosts
lineinfile:
path: /etc/hosts
regexp: "10.10.10.100 www.wanghengzhi.com"
line: "#10.10.10.100 www.wanghengzhi.com"
- name: test hosts
shell: ping -c2 www.wanghengzhi.com
register: result
failed_when: false
- name: "show result"
debug:
msg: "{{result.stdout_lines}}"
运行方式
[root@ansible-server ansible_playbook_temple]#ansible-playbook replace_hosts.yaml -i ansiblehosts
回显内容略过
删除host解析脚本
[root@ansible-server ansible_playbook_temple]# more del_hosts.yaml
---
- hosts: ansible_hosts
remote_user: root
tasks:
- name: del hosts
lineinfile:
path: /etc/hosts
state: absent
line: "10.10.10.100 www.wanghengzhi.com"
- name: test hosts
shell: ping -c2 www.wanghengzhi.com
register: result
failed_when: false
- name: "show result"
debug:
msg: "{{result.stdout_lines}}"
运行方式
[root@ansible-server ansible_playbook_temple]#ansible-playbook del_hosts.yaml -i ansiblehosts
回显内容略过