mirror of
https://codeberg.org/scottslowe/learning-tools.git
synced 2026-03-11 09:04:37 +00:00
Update Ansible playbook
Update Ansible playbook to work with Vagrant instead of Terraform/EC2 Signed-off-by: Scott Lowe <scott.lowe@scottlowe.org>
This commit is contained in:
parent
d5dc506b41
commit
0eb0ea7e0d
1 changed files with 31 additions and 5 deletions
|
|
@ -9,6 +9,9 @@
|
|||
name: "python-pip"
|
||||
state: "present"
|
||||
update_cache: "yes"
|
||||
tags:
|
||||
- manager
|
||||
- worker
|
||||
|
||||
- name: "Install some Python modules"
|
||||
pip:
|
||||
|
|
@ -19,42 +22,65 @@
|
|||
- "pyopenssl"
|
||||
- "ndg-httpsclient"
|
||||
- "pyasn1"
|
||||
tags:
|
||||
- manager
|
||||
- worker
|
||||
|
||||
- name: "Install Docker APT Key"
|
||||
apt_key:
|
||||
url: "https://download.docker.com/linux/ubuntu/gpg"
|
||||
state: "present"
|
||||
tags:
|
||||
- manager
|
||||
- worker
|
||||
|
||||
- name: "Add Docker repository"
|
||||
apt_repository:
|
||||
repo: "deb [arch=amd64] https://download.docker.com/linux/ubuntu trusty stable"
|
||||
state: "present"
|
||||
update_cache: "yes"
|
||||
tags:
|
||||
- manager
|
||||
- worker
|
||||
|
||||
- name: "Install Docker CE"
|
||||
package:
|
||||
name: "docker-ce"
|
||||
state: "present"
|
||||
tags:
|
||||
- manager
|
||||
- worker
|
||||
|
||||
- name: "Add user to Docker group"
|
||||
user:
|
||||
name: "{{ ansible_ssh_user }}"
|
||||
group: "docker"
|
||||
append: "yes"
|
||||
tags:
|
||||
- manager
|
||||
- worker
|
||||
|
||||
- name: "Initialize Docker Swarm from manager"
|
||||
command: "docker swarm init --advertise-addr {{ ansible_default_ipv4.address }}"
|
||||
when: "ansible.hostname == manager"
|
||||
when: ansible_hostname == 'manager'
|
||||
tags:
|
||||
- manager
|
||||
|
||||
- name: "Register Swarm join token"
|
||||
command: "docker swarm join-token -q worker"
|
||||
register: swarm_token
|
||||
when: "ansible.hostname == manager"
|
||||
when: ansible_hostname == 'manager'
|
||||
tags:
|
||||
- manager
|
||||
|
||||
- name: "Establish Swarm join token as a host fact"
|
||||
set_fact: swarmtoken="{{ swarm_token.stdout }}"
|
||||
when: "ansible.hostname == manager"
|
||||
when: ansible_hostname == 'manager'
|
||||
tags:
|
||||
- manager
|
||||
|
||||
- name: "Join worker nodes to Swarm cluster"
|
||||
command: "docker swarm join --advertise-addr {{ ansible_default_ipv4.address }} --token {{ hostvars[groups['tag_role_manager'][0]].swarmtoken }} {{ hostvars[groups['tag_role_manager'][0]].ansible_default_ipv4.address }}:2377"
|
||||
when: "ansible.hostname != manager"
|
||||
command: "docker swarm join --advertise-addr {{ ansible_default_ipv4.address }} --token {{ hostvars['manager'].swarmtoken }} {{ hostvars['manager'].ansible_default_ipv4.address }}:2377"
|
||||
when: ansible_hostname != 'manager'
|
||||
tags:
|
||||
- worker
|
||||
|
|
|
|||
Loading…
Reference in a new issue