簡體   English   中英

如何使用Ansible為docker swarm集群的節點部分分配標簽?

[英]How to assign label to nodes part of docker swarm cluster using Ansible?

我有一個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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM