我有一个3节点泊坞群集(swarm),并希望为节点分配标签。我目前正在进行节点的节点是节点1,应该为其分配标签abc1。其他2个节点应分配abc2和abc3。
我已经尝试过在https://docs.ansible.com/ansible/devel/modules/docker_node_module.html中给出的示例,但似乎得到了YAML语法错误。
我的Yaml:
- name: Assigning labels
hosts: localhost
connection: local
gather_facts: false
tasks:
- name: Localhost label assignment
docker_node:
hostname: vm-test
label:
abc1: true
错误:
The offending line appears to be:
tasks:
- name: Localhost label assignment
^ here
凭借我所拥有的,它将仅为节点1分配标签。如何将增量标签分别分配给节点2和节点3到abc2和abc3?
hosts文件如下所示:
[target-machines]
10.xx.xx.xx ansible_sudo_pass=xyz ansible_ssh_pass=xyz ansible_ssh_user=xyz
10.xx.xx.xx ansible_sudo_pass=abc ansible_ssh_pass=abc ansible_ssh_user=abc
有没有办法可以遍历hosts文件并分配标签?
该模块在ansible 2.8
中引入。将Ansible升级到2.8,错误将消失。
pip install ansible==2.8.0rc1
参数哈希是labels
而不是标签。
---
- name: Assigning labels
hosts : localhost
gather_facts: no
connection: local
tasks:
- name: Merge node labels and new labels
docker_node:
hostname: vm-test
labels:
abc1: true