剧本中的proxy_to出现问题,导致角色只能在列表中的一台主机上运行

问题描述

我有一个剧本,只想在第一个主节点上运行此剧本。我尝试将列表移到角色中,但没有看到效果。感谢您的帮助!

## 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

(未测试)


  • 修复role name

  • 如果files_location是一个变量,该变量将在角色范围内使用,则将其放入vars中。例如

  roles:
    - role: gd.kubernetes.master.role
      vars:
        files_location: ../files

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...