This commit is contained in:
2026-02-15 15:14:54 +01:00
parent b03bad579c
commit a71614bd69
7 changed files with 48 additions and 19 deletions

View File

@@ -5,25 +5,31 @@
block:
- name: Facts
ansible.builtin.setup:
- name: Install Docker SDK for Python
pip:
name: docker>=5.0.0
executable: pip3
break_system_packages: true
when: ansible_facts.architecture is not defined
- name: Install docker SDK
ansible.builtin.apt:
name: python3-docker
state: present
- name: Set master host variable
set_fact:
master_host: "{{ (ansible_distribution | lower) ~ ansible_distribution_major_version ~ '-vm01.home.lan' }}"
- name: Initialize swarm
docker_swarm:
state: present
listen_addr: "{{ ansible_default_ipv4.address }}:2377"
register: swarm_init
when: inventory_hostname == "vm01.home.lan"
when: inventory_hostname == master_host
- name: Show join tokens
ansible.builtin.debug:
msg:
- "Manager join token: {{ swarm_init.swarm_facts['JoinTokens']['Manager'] }}"
- "Worker join token: {{ swarm_init.swarm_facts['JoinTokens']['Worker'] }}"
when: inventory_hostname == "vm01.home.lan"
when: inventory_hostname == master_host
- name: Join swarm as worker
shell: docker swarm join --token {{ hostvars['vm01.home.lan']['swarm_init'].swarm_facts['JoinTokens']['Worker'] }} {{ hostvars['vm01.home.lan']['ansible_default_ipv4']['address'] }}:2377
when: inventory_hostname != "vm01.home.lan"
shell: docker swarm join --token {{ hostvars[master_host]['swarm_init'].swarm_facts['JoinTokens']['Worker'] }} {{ hostvars[master_host]['ansible_default_ipv4']['address'] }}:2377
when: inventory_hostname != master_host