45 lines
1.1 KiB
YAML
45 lines
1.1 KiB
YAML
---
|
|
- name: "Bootstrap Docker Swarm on IPv6"
|
|
hosts: controlnode
|
|
become: true
|
|
vars:
|
|
# Explicitly defining the IPs based on network map
|
|
mgmt_ip: "fda7:740:3e00:c721:231c:8e23:d51d:1ccb"
|
|
data_ip: "fda7:740:3e00:403e:3a6e:fde8:ea84:d4b5"
|
|
|
|
tasks:
|
|
- name: Ensure docker is installed (standard repo)
|
|
apt:
|
|
name:
|
|
- docker.io
|
|
- python3-docker
|
|
state: present
|
|
|
|
- name: Configure Docker Daemon for IPv6
|
|
copy:
|
|
dest: /etc/docker/daemon.json
|
|
content: |
|
|
{
|
|
"ipv6": true,
|
|
"fixed-cidr-v6": "fda7:740:3e00:docc::/64",
|
|
"ip6tables": true,
|
|
"experimental": true
|
|
}
|
|
notify: Restart Docker
|
|
|
|
- name: Flush handler to apply Docker config immediately
|
|
meta: flush_handlers
|
|
|
|
- name: Initialise or update Docker Swarm Manager
|
|
community.docker.docker_swarm:
|
|
state: present
|
|
advertise_addr: "[{{ mgmt_ip }}]"
|
|
data_path_addr: "[{{ data_ip }}]"
|
|
register: swarm_result
|
|
|
|
handlers:
|
|
- name: Restart Docker
|
|
systemctl:
|
|
name: docker
|
|
state: restarted
|