ansible-playbook 修改主机的host解析


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 

回显内容略过

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM