问题描述
我有一个剧本,只想在第一个主节点上运行此剧本。我尝试将列表移到角色中,但没有看到效果。感谢您的帮助!
## master node only changes
- name: Deploy change kubernetes Master
remote_user: tyboard
become: true
roles:
- role: gd.kubernetes.master.role
files_location: ../files
delegate_to: "{{ groups['masters'][0] }}"
错误! “ delegate_to”不是Play的有效属性
错误似乎出在'/mnt/win/kubernetes.playbook/deploy-kubernetes.yml':第11行第3列,但可能 根据确切的语法问题放在文件的其他位置。
违规行似乎是:
主节点仅更改
- 名称:部署更改kubernetes Master ^这里
解决方法
在一个剧本中,create a new group在第一部剧本中带有该主机,在第二部剧本中使用。例如,
shell> cat playbook.yml
- name: Create group with masters.0
host: localhost
gather_facts: false
tasks:
- add_host:
name: "{{ groups.masters.0 }}"
groups: k8s_master_0
- name: Deploy change kubernetes Master
hosts: k8s_master_0
remote_user: tyboard
become: true
roles:
- role: gd.kubernetes.master.role
files_location: ../files
(未测试)
-
如果
files_location
是一个变量,该变量将在角色范围内使用,则将其放入vars
中。例如
roles:
- role: gd.kubernetes.master.role
vars:
files_location: ../files