ansible 任务委派功能
delegate_torun_noce: true 在一个主机上面只执行一次一个任务. ,如果没有这个参数的话,每个playbook中的组的主机都会执行一次。
我们有的时候有这种需求,在运行一个playbook的时候里面的task是分配到一组服务器中去分别执行的,但是如果我们想要在其中某一个task执行的时候是在另外一个不属于这个组里面的机器
中去执行。这个时候就需要用到ansible的委派功能。 delegate_to比如:1.a b c d e 5个机器是一个组local我需要在a b c d e 这四个机器中创建一个/root/test目录 ,然后在这个目录下分别建一个以各自主机名为名字的文件,在创建test目录的同时要在ansible-04机器中的/root/a.txt文件中写入一个1[python@heaven-00 0130]$ cat test20.yml
--- - hosts: local tasks: - name: mkdir document /root/test file: path: /root/test state: directory owner: root mode: "755"- name: jiluyi
shell: echo "1" >> /root/a.txt delegate_to: ansible-04- name: toush file
file: path: /root/test/{ { ansible_hostname }} state: touch mode: "755" owner: root