79 lines
2.0 KiB
YAML
79 lines
2.0 KiB
YAML
---
|
|
- name: configure supermaster for docker swarm
|
|
become: yes
|
|
hosts: supermaster
|
|
vars_files:
|
|
- "var/hosts.yml"
|
|
tasks:
|
|
|
|
- name: installing lets encrypt
|
|
apt:
|
|
name: "{{item}}"
|
|
state: latest
|
|
update_cache: yes
|
|
with_items:
|
|
- letsencrypt
|
|
- python3-certbot-nginx
|
|
|
|
- name: init swarm
|
|
become: dockerman
|
|
shell: docker swarm init --advertise-addr {{ item.local }}:2377
|
|
with_items:
|
|
- "{{ supermaster }}"
|
|
register: swarm_init
|
|
ignore_errors: yes
|
|
|
|
|
|
- name: install nfs server
|
|
apt: name=nfs-kernel-server state=present update_cache=yes
|
|
|
|
- name: create nfs directory
|
|
file: path=/volume state=directory mode=0777 owner=root group=root
|
|
|
|
- name: create multiple directories
|
|
shell: |
|
|
mkdir -p /volume/mongo
|
|
mkdir -p /volume/pg
|
|
mkdir -p /volume/rabbit
|
|
mkdir -p /volume/redis
|
|
mkdir -p /volume/ig/ls/wwwroot
|
|
mkdir -p /volume/ig/api/storage
|
|
mkdir -p /volume/dns
|
|
mkdir -p /volume/nginx
|
|
mkdir -p /volume/portainer
|
|
mkdir -p /volume/mongo/primary
|
|
mkdir -p /data/warehouse/windows
|
|
mkdir -p /var/log/nginx/ig/
|
|
chown -R 1001:1001 /volume/mongo/primary
|
|
chown -R 1001:1001 /volume/pg
|
|
chown -R 1001:1001 /volume/redis
|
|
chown -R 1001:1001 /volume/rabbit
|
|
chmod -R 755 /data/warehouse/windows
|
|
|
|
|
|
|
|
|
|
- name: create nfs export
|
|
shell: |
|
|
echo "/volume {{item.local}}/32(rw,sync,no_subtree_check,no_root_squash)" >> /etc/exports
|
|
with_items:
|
|
- "{{ clients }}"
|
|
|
|
- name: exportfs
|
|
shell: exportfs -a
|
|
|
|
- name: set iptables for clients ip for nfs
|
|
shell: |
|
|
iptables -A INPUT -s "{{ item.local }}"/32 -p tcp -m tcp --dport 2049 -j ACCEPT
|
|
with_items:
|
|
- "{{ clients }}"
|
|
|
|
- name: create overlay network
|
|
shell: |
|
|
docker network create --driver=overlay --attachable mother
|
|
ignore_errors: yes
|
|
|
|
|
|
|
|
|
|
|