如何使用Ansible docker_swarm 添加master节点
How to use Ansible docker_swarm to add master nodes
我正在尝试使用 Ansible 添加三个主节点。
- name : Init a new swarm with default parameters
community.general.docker_swarm:
advertise_addr: "{{ docker_swarm_master_ip }}"
state : present
register : swarm_info
when :
- ansible_eth1.ipv4.address == docker_swarm_master_ip
- name : Add master nodes
community.general.docker_swarm:
advertise_addr: docker_swarm_master_ip
remote_addrs : "{{ swarm_master_nodes }}"
join_token : "{{ swarm_info.swarm_facts.JoinTokens.Manager }}"
state : join
when :
- inventory_hostname == "node1"
它没有在列表中添加节点swarm_master_nodes
没有错误。 node1 是集群初始化的领导者。
如何正确使用。文档不是很清楚。
谢谢
根据文档:
- name: Init a new swarm with default parameters
community.general.docker_swarm:
state: present
- name: Add nodes
community.general.docker_swarm:
state: join
advertise_addr: 192.168.1.2
join_token: SWMTKN-1--xxxxx
remote_addrs: [ '192.168.1.1:2377' ]
在初始化新的 swarm 集群时,您不必 advertise_addr
。另外,remote_addrs
应该是主节点的IP地址。
所以,这应该是你想要的:
- name : Init a new swarm with default parameters
community.general.docker_swarm:
state : present
register : swarm_info
when :
- ansible_eth1.ipv4.address == docker_swarm_master_ip
- name : Add master nodes
community.general.docker_swarm:
advertise_addr: "{{ node1 }}"
remote_addrs : ["{{ docker_swarm_master_ip }}"]
join_token : "{{ swarm_info.swarm_facts.JoinTokens.Manager }}"
state : join
when :
- inventory_hostname == "node1"
我正在尝试使用 Ansible 添加三个主节点。
- name : Init a new swarm with default parameters
community.general.docker_swarm:
advertise_addr: "{{ docker_swarm_master_ip }}"
state : present
register : swarm_info
when :
- ansible_eth1.ipv4.address == docker_swarm_master_ip
- name : Add master nodes
community.general.docker_swarm:
advertise_addr: docker_swarm_master_ip
remote_addrs : "{{ swarm_master_nodes }}"
join_token : "{{ swarm_info.swarm_facts.JoinTokens.Manager }}"
state : join
when :
- inventory_hostname == "node1"
它没有在列表中添加节点swarm_master_nodes
没有错误。 node1 是集群初始化的领导者。
如何正确使用。文档不是很清楚。
谢谢
根据文档:
- name: Init a new swarm with default parameters
community.general.docker_swarm:
state: present
- name: Add nodes
community.general.docker_swarm:
state: join
advertise_addr: 192.168.1.2
join_token: SWMTKN-1--xxxxx
remote_addrs: [ '192.168.1.1:2377' ]
在初始化新的 swarm 集群时,您不必 advertise_addr
。另外,remote_addrs
应该是主节点的IP地址。
所以,这应该是你想要的:
- name : Init a new swarm with default parameters
community.general.docker_swarm:
state : present
register : swarm_info
when :
- ansible_eth1.ipv4.address == docker_swarm_master_ip
- name : Add master nodes
community.general.docker_swarm:
advertise_addr: "{{ node1 }}"
remote_addrs : ["{{ docker_swarm_master_ip }}"]
join_token : "{{ swarm_info.swarm_facts.JoinTokens.Manager }}"
state : join
when :
- inventory_hostname == "node1"