Enroll the previous pimps into the k8s cluster

This commit is contained in:
Salt 2021-03-26 20:38:33 -05:00
parent 3d10288d6d
commit 8d544165a0
4 changed files with 4 additions and 145 deletions

View File

@ -10,12 +10,6 @@ all:
vars: vars:
docker_apt_arch: arm64 docker_apt_arch: arm64
children: children:
pimp:
hosts:
pi-mp-1.desu.ltd:
static_ip: 192.168.103.100/16
pi-mp-2.desu.ltd:
static_ip: 192.168.103.101/16
pistorage: pistorage:
hosts: hosts:
pi-storage-1.desu.ltd: pi-storage-1.desu.ltd:
@ -37,6 +31,10 @@ all:
keepalived_priority: 49 keepalived_priority: 49
pi-kub-node-3.desu.ltd: pi-kub-node-3.desu.ltd:
keepalived_priority: 48 keepalived_priority: 48
pi-kub-node-4.desu.ltd:
keepalived_priority: 47
pi-kub-node-5.desu.ltd:
keepalived_priority: 46
desktop: desktop:
hosts: hosts:
dsk-ryzen-0.desu.ltd: dsk-ryzen-0.desu.ltd:

View File

@ -1,137 +0,0 @@
#!/usr/bin/env ansible-playbook
# vim:ft=ansible:
---
# Mass storage Pis
- hosts: pi-storage-1.desu.ltd
tasks:
- name: assure mount directory
file: path=/data state=directory
tags: [ pis, storage ]
- name: assure mount
mount: path=/data src=LABEL=mass state=mounted fstype=ext4
tags: [ pis, storage ]
- name: assure directories in mount
file: path=/data/{{ item }} state=directory
with_items:
- nfs
- postgresql
tags: [ pis, storage ]
- name: assure symlinks to directories in mount
file: path={{ item.path }} src=/data/{{ item.src }} state=link
with_items:
- { path: /var/lib/postgresql, src: postgresql }
- { path: /srv/nfs, src: nfs }
tags: [ pis, storage ]
roles:
- role: backup
vars:
backup_script: s3pgdump
tags: [ backup ]
# - role: backup
# vars:
# backup_s3backup_list_extra:
# - /data
# backup_time: "Mon *-*-* 02:00:00"
- role: motd
vars:
motd_watch_services_extra:
- docker
- postgresql
- role: postgresql
vars:
postgresql_global_config_options:
- option: listen_addresses
value: 192.168.103.1,172.23.103.1
postgresql_hba_entries:
- { type: local, database: all, user: postgres, auth_method: peer }
- { type: local, database: all, user: all, auth_method: md5 }
- { type: host, database: all, user: all, address: '127.0.0.0/8', auth_method: md5 }
- { type: host, database: all, user: all, address: '::1/128', auth_method: md5 }
# Used for internal access from other nodes
- { type: host, database: all, user: all, address: '192.168.0.0/16', auth_method: md5 }
# Allow hosts over zerotier
- { type: host, database: all, user: all, address: '172.23.0.0/16', auth_method: md5 }
postgresql_users:
- name: grafana
password: "{{ secret_grafana_local_db_pass }}"
- name: netbox
password: "{{ secret_netbox_local_db_pass }}"
postgresql_databases:
- name: grafana
owner: grafana
- name: netbox
owner: netbox
tags: [ pis, storage, psql ]
- role: nfs
vars:
nfs_exports:
- "/srv/nfs 192.168.0.0/16(ro,no_root_squash,sync) 172.23.0.0/16(ro,no_root_squash,sync)"
- "/srv/nfs/bulk 192.168.0.0/16(rw,no_root_squash,sync) 172.23.0.0/16(rw,no_root_squash,sync)"
- "/srv/nfs/bulk/media 192.168.0.0/16(rw,no_root_squash,sync) 172.23.0.0/16(rw,no_root_squash,sync)"
- "/srv/nfs/k8s 192.168.0.0/16(rw,no_root_squash,sync) 172.23.0.0/16(ro,no_root_squash,sync)"
tags: [ pis, storage, nfs ]
# Multipurpose Pis running unbound
- hosts: pi-mp-1.desu.ltd,pi-mp-2.desu.ltd
vars:
container_default_behavior: no_defaults
tasks:
- name: docker deploy unbound
docker_container:
name: unbound
image: rehashedsalt/unbound-desu-local:latest
restart_policy: unless-stopped
pull: yes
ports:
- "{{ ansible_facts.eth0.ipv4.address }}:53:5053/tcp"
- "{{ ansible_facts.eth0.ipv4.address }}:53:5053/udp"
tags: [ pis, mp, unbound ]
roles:
- role: motd
vars:
motd_watch_services_extra:
- docker
- isc-dhcp-server
motd_watch_containers_extra:
- unbound
tags: [ pis, mp, motd ]
# And also serving DHCP
- hosts: pi-mp-1.desu.ltd
vars_files:
- vars/desulocal-dhcp.yml
roles:
- role: netplan-static-ip
tags: [ pis, mp, dhcp, static-ip ]
- role: dhcp
vars:
dhcp_global_failover_peer: failover-group
dhcp_global_failover:
role: primary
address: 192.168.103.100
port: 647
peer_address: 192.168.103.101
peer_port: 647
max_response_delay: 15
max_unacked_updates: 10
load_balance_max_seconds: 5
split: 255
mclt: 3600
tags: [ pis, mp, dhcp ]
- hosts: pi-mp-2.desu.ltd
vars_files:
- vars/desulocal-dhcp.yml
roles:
- role: netplan-static-ip
tags: [ pis, mp, dhcp, static-ip ]
- role: dhcp
vars:
dhcp_global_failover_peer: failover-group
dhcp_global_failover:
role: secondary
address: 192.168.103.101
port: 647
peer_address: 192.168.103.100
peer_port: 647
max_response_delay: 15
max_unacked_updates: 10
load_balance_max_seconds: 5
tags: [ pis, mp, dhcp ]

View File

@ -12,6 +12,5 @@
- name: install basic packages - name: install basic packages
apt: apt:
name: name:
- python3-docker
- libraspberrypi-bin - libraspberrypi-bin
tags: [ pis, packages ] tags: [ pis, packages ]

View File

@ -35,6 +35,5 @@
- import_playbook: playbooks/web.yml - import_playbook: playbooks/web.yml
- import_playbook: playbooks/game.yml - import_playbook: playbooks/game.yml
- import_playbook: playbooks/pis.yml - import_playbook: playbooks/pis.yml
- import_playbook: playbooks/pimp.yml
- import_playbook: playbooks/pik8s.yml - import_playbook: playbooks/pik8s.yml
- import_playbook: playbooks/desktop.yml - import_playbook: playbooks/desktop.yml