Skip to content

Instantly share code, notes, and snippets.

@mlabouardy
Created October 30, 2017 12:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mlabouardy/c2e3255e6700b34c353ee54310445b02 to your computer and use it in GitHub Desktop.
Save mlabouardy/c2e3255e6700b34c353ee54310445b02 to your computer and use it in GitHub Desktop.
Privision AWS Swarm cluster with Ansible
---
- name: Init Swarm Master
hosts: masters
gather_facts: False
remote_user: ec2-user
tasks:
- name: Swarm Init
command: docker swarm init --advertise-addr {{ inventory_hostname }}
- name: Get Worker Token
command: docker swarm join-token worker -q
register: worker_token
- name: Show Worker Token
debug: var=worker_token.stdout
- name: Master Token
command: docker swarm join-token manager -q
register: master_token
- name: Show Master Token
debug: var=master_token.stdout
- name: Join Swarm Cluster
hosts: workers
remote_user: ec2-user
gather_facts: False
vars:
token: "{{ hostvars[groups['masters'][0]]['worker_token']['stdout'] }}"
master: "{{ hostvars[groups['masters'][0]]['inventory_hostname'] }}"
tasks:
- name: Join Swarm Cluster as a Worker
command: docker swarm join --token {{ token }} {{ master }}:2377
register: worker
- name: Show Results
debug: var=worker.stdout
- name: Show Errors
debug: var=worker.stderr
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment