Swarm operational
This commit is contained in:
78
ansible/swarm-master.yml
Normal file
78
ansible/swarm-master.yml
Normal file
@@ -0,0 +1,78 @@
|
||||
---
|
||||
- hosts: swarm_master
|
||||
become: true
|
||||
|
||||
roles:
|
||||
- role: geerlingguy.swap
|
||||
- role: geerlingguy.docker
|
||||
- role: common
|
||||
|
||||
tasks:
|
||||
- name: Debug all relevant variables
|
||||
debug:
|
||||
msg: |
|
||||
=== SWARM JOIN DEBUG INFO ===
|
||||
Current host: {{ inventory_hostname }}
|
||||
Current host IP: {{ ansible_host }}
|
||||
|
||||
Master group hosts: {{ groups['swarm_master'] }}
|
||||
First master: {{ groups['swarm_master'][0] }}
|
||||
|
||||
Master hostvars:
|
||||
- ansible_host: {{ hostvars[groups['swarm_master'][0]]['ansible_host'] }}
|
||||
- inventory_hostname: {{ hostvars[groups['swarm_master'][0]]['inventory_hostname'] }}
|
||||
|
||||
Remote address calculation:
|
||||
- Raw master ansible_host: {{ hostvars[groups['swarm_master'][0]]['ansible_host'] }}
|
||||
- Fallback to hostname: {{ groups['swarm_master'][0] }}
|
||||
- Final address: {{ hostvars[groups['swarm_master'][0]]['ansible_host'] | default(groups['swarm_master'][0]) }}
|
||||
- With port: {{ hostvars[groups['swarm_master'][0]]['ansible_host'] | default(groups['swarm_master'][0]) }}:2377
|
||||
|
||||
- name: Init a new swarm with default parameters
|
||||
community.docker.docker_swarm:
|
||||
state: present
|
||||
advertise_addr: "{{ ansible_eth1.ipv4.address }}"
|
||||
listen_addr: "{{ ansible_eth1.ipv4.address }}"
|
||||
- name: print listen addr
|
||||
debug:
|
||||
msg: "{{ ansible_eth1.ipv4.address }}"
|
||||
|
||||
- name: Get Docker Swarm information
|
||||
community.docker.docker_swarm_info:
|
||||
register: swarm_info
|
||||
|
||||
- name: Save worker join token to file
|
||||
copy:
|
||||
content: "{{ swarm_info.swarm_facts.JoinTokens.Worker }}"
|
||||
dest: /tmp/swarm_worker_token
|
||||
mode: '0600'
|
||||
|
||||
- name: Save manager join token to file
|
||||
copy:
|
||||
content: "{{ swarm_info.swarm_facts.JoinTokens.Manager }}"
|
||||
dest: /tmp/swarm_manager_token
|
||||
mode: '0600'
|
||||
|
||||
# Copy tokens to host filesystem
|
||||
# - name: Fetch worker join token to host
|
||||
# fetch:
|
||||
# src: /tmp/swarm_worker_token
|
||||
# dest: ./tokens/swarm_worker_token
|
||||
# flat: yes
|
||||
|
||||
# - name: Fetch manager join token to host
|
||||
# fetch:
|
||||
# src: /tmp/swarm_manager_token
|
||||
# dest: ./tokens/swarm_manager_token
|
||||
# flat: yes
|
||||
# - name: Create Portainer data volume
|
||||
# community.docker.docker_volume:
|
||||
# name: portainer_data
|
||||
# state: present
|
||||
|
||||
# - name: Deploy Portainer stack from compose file
|
||||
# community.docker.docker_stack:
|
||||
# name: portainer
|
||||
# state: present
|
||||
# compose:
|
||||
# - "{{ lookup('file', 'files/docker-base-stack.yml') | from_yaml }}"
|
||||
Reference in New Issue
Block a user