Galera cluster deployment based on docker swarm using Linux Containers (LXC) with automatic deployment via Ansible.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

41 lines
1.2 KiB

---
- name: Prepare swarm manager
docker_swarm:
state: present
advertise_addr: "{{ interface }}"
when: inventory_hostname in groups['manager']
- name: Get the Manager join-token
shell: docker swarm join-token --quiet worker
register: worker_token
when: inventory_hostname in groups['manager']
- name: Prepare swarm workers
docker_swarm:
state: join
advertise_addr: "{{ interface }}"
join_token: "{{ hostvars[groups['manager'][0]]['worker_token']['stdout'] }}"
#remote_addrs: "{{ hostvars[groups['manager'][0]]['ansible_lxcbr0_ipv4.address'] }}"
remote_addrs: "10.0.3.1"
when: inventory_hostname in groups['workers']
- name: Prepare docker volumes
file:
path: /var/container_data/mysql
state: directory
mode: '0777'
recurse: true
when: inventory_hostname in groups['workers']
- name: Add docker labels for galera master and secondary nodes
shell: |
docker node update --label-add node1=true worker1
docker node update --label-add node2=true worker2
when: inventory_hostname in groups['manager']
#- name: Add docker labels for galera secondary nodes
# docker_node:
# labels:
# hostname: 'worker2'
# node2: true
# when: inventory_hostname in groups['workers']