在linux1上安装ansible,作为ansible的控制节点。linux2-linux7作为ansible的受控节点。编写/root/my.yml剧本,该剧本能够在linux1的/root目录创建一个ansible.txt文件,并且将该文件复制到所有受控节点的/root目录。
第一步,在hosts文件中定义ansible的受控节点,可以使用IP地址或者域名来表示。
# vi /etc/ansible/hosts
[servers]
linux2.skills.com
linux3.skills.com
linux4.skills.com
linux5.skills.com
linux6.skills.com
linux7.skills.com
第二步,创建playbook,主要有2个task,第一个用于在本地创建目标文件,第二个用于将目标文件发送到受控节点上,playbook内容如下:
# vi /root/my.yml
---
- name: a
hosts: servers
tasks:
- name: touch file
file:
path: /root/ansible.txt
state: touch
delegate_to: 127.0.0.1
- name: copy to remote servers
copy:
src: /root/ansible.txt
dest: /root/ansible.txt
第三步,执行playbook,检查效果。
# ansible-playbook /root/my.yml
PLAY [a] *******************************************************************************************
TASK [Gathering Facts] *****************************************************************************
ok: [linux2.skills.com]
ok: [linux3.skills.com]
ok: [linux4.skills.com]
ok: [linux5.skills.com]
ok: [linux6.skills.com]
ok: [linux7.skills.com]
TASK [touch file] **********************************************************************************
changed: [linux2.skills.com -> 127.0.0.1]
changed: [linux3.skills.com -> 127.0.0.1]
changed: [linux4.skills.com -> 127.0.0.1]
changed: [linux5.skills.com -> 127.0.0.1]
changed: [linux6.skills.com -> 127.0.0.1]
changed: [linux7.skills.com -> 127.0.0.1]
TASK [copy to remote servers] **********************************************************************
ok: [linux2.skills.com]
ok: [linux3.skills.com]
ok: [linux4.skills.com]
ok: [linux5.skills.com]
ok: [linux6.skills.com]
ok: [linux7.skills.com]
PLAY RECAP *****************************************************************************************
linux2.skills.com : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
linux3.skills.com : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
linux4.skills.com : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
linux5.skills.com : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
linux6.skills.com : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
linux7.skills.com : ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0