From 9218d5e300f85d9777a0b1c1242085b01ff14d0c Mon Sep 17 00:00:00 2001 From: Jeroen Vermeulen Date: Mon, 23 Oct 2023 14:12:51 +0200 Subject: [PATCH] Cluster configs --- README.md | 4 +- inventory/cluster_[NAME].yml.tpl | 94 ++++++---- inventory/cluster_deovero.yml | 160 +++++++++--------- inventory/cluster_pietje.yml | 94 ++++++---- inventory/general.yml | 13 ++ inventory/general_k8s.yml | 21 ++- ...overo.yml => cluster_deovero.yml.disabled} | 0 playbooks/snel.kubernetes-cluster | 2 +- 8 files changed, 224 insertions(+), 164 deletions(-) create mode 100644 inventory/general.yml rename inventory/group_vars/{customer_deovero.yml => cluster_deovero.yml.disabled} (100%) diff --git a/README.md b/README.md index 734a008..b5739eb 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ In this repo: - In the package the customer will have 6 new Talos VPSses. - The first 3 IPs need to be used for the `talos_control_nodes` - The remaining 3 IPs need to be used for the `talos_worker_nodes` - - Attach 3 extra IPs to the VPS which will become `c1.[NAME].k8s.snel.com`, the first control node. + - Attach 2 extra IPs to the VPS which will become `c1.[NAME].k8s.snel.com`, the first control node. - Use these IPs in the inventory file as `ingress_ips` - These will be floating IPs for MetalLB @@ -24,7 +24,7 @@ In this repo: Your Vaultwarden vault password will be asked. ```zsh cd ~/repos/snel.ansible -git pull +git pull --recurse-submodules bw sync BW_SESSION=$(bw unlock --raw) ansible-playbook site.yml --limit cluster_[NAME] ``` diff --git a/inventory/cluster_[NAME].yml.tpl b/inventory/cluster_[NAME].yml.tpl index bdac7ee..3249c48 100644 --- a/inventory/cluster_[NAME].yml.tpl +++ b/inventory/cluster_[NAME].yml.tpl @@ -1,39 +1,59 @@ --- -kubernetes: +talos_control_lb: children: - customer_[NAME]: - vars: - cluster_name: [NAME].k8s.snel.com - children: - control_lb_nodes: - hosts: - control.[NAME].k8s.snel.com: - ansible_host: 185.62.___.___ - talos: - children: - talos_control_nodes: - hosts: - c1.[NAME].k8s.snel.com: - ansible_host: 185.62.___.___ - c2.[NAME].k8s.snel.com: - ansible_host: 185.62.___.___ - c3.[NAME].k8s.snel.com: - ansible_host: 185.62.___.___ - talos_worker_nodes: - hosts: - w1.[NAME].k8s.snel.com: - ansible_host: 185.62.___.___ - w2.[NAME].k8s.snel.com: - ansible_host: 185.62.___.___ - w3.[NAME].k8s.snel.com: - ansible_host: 185.62.___.___ - #talos_hardware_nodes: - # hosts: - # hw1.[NAME].k8s.snel.com: - talos_first_nodes: - hosts: - c1.[NAME].k8s.snel.com: - ingress_ips: - - 185.62.___.___ # Rancher + Traefik - # - 185.62.___.___ # extra IP - # - 185.62.___.___ # extra IP + cluster_[NAME]_control_lb: +talos_control_nodes: + children: + cluster_[NAME]_control_nodes: +talos_worker_nodes: + children: + cluster_[NAME]_worker_nodes: +talos_hardware_nodes: + children: + cluster_[NAME]_hardware_nodes: +talos_first_nodes: + hosts: + c1.[NAME].k8s.snel.com: + +cluster_[NAME]: + vars: + cluster_name: [NAME].k8s.snel.com + ingress_ips: + - 185.62.___.___ # Rancher + Traefik + - 185.62.___.___ # extra IP + children: + cluster_[NAME]_control_lb: + hosts: + control.[NAME].k8s.snel.com: + ansible_host: 185.62.___.___ + cluster_[NAME]_control_nodes: + hosts: + c1.[NAME].k8s.snel.com: + ansible_host: 185.62.___.___ + c2.[NAME].k8s.snel.com: + ansible_host: 185.62.___.___ + c3.[NAME].k8s.snel.com: + ansible_host: 185.62.___.___ + cluster_[NAME]_worker_nodes: + hosts: + w1.[NAME].k8s.snel.com: + ansible_host: 185.62.___.___ + w2.[NAME].k8s.snel.com: + ansible_host: 185.62.___.___ + w3.[NAME].k8s.snel.com: + ansible_host: 185.62.___.___ + cluster_[NAME]_hardware_nodes: + hosts: + # hw1.[NAME].k8s.snel.com: + # ansible_host: 77.95.___.___ + # talos_disk: /dev/nvme0n1 + # mayastor_disk: /dev/nvme1n1 + # network_interface: bond0 + # network_interface_bond: + # mode: balance-rr + # miimon: 100 + # updelay: 200 + # downdelay: 200 + # interfaces: + # - enp196s0f1 + # - enp65s0f1 \ No newline at end of file diff --git a/inventory/cluster_deovero.yml b/inventory/cluster_deovero.yml index 1ec5ee2..e474234 100644 --- a/inventory/cluster_deovero.yml +++ b/inventory/cluster_deovero.yml @@ -1,78 +1,86 @@ --- -kubernetes: +talos_control_lb: children: - cluster_deovero: - vars: - cluster_name: deovero.k8s.snel.com - children: - control_lb_nodes: - hosts: - control.deovero.k8s.snel.com: - ansible_host: 185.62.56.88 - talos: - children: - talos_control_nodes: - hosts: - c1.deovero.k8s.snel.com: - ansible_host: 185.62.58.191 - c2.deovero.k8s.snel.com: - ansible_host: 185.62.58.208 - c3.deovero.k8s.snel.com: - ansible_host: 185.62.56.102 - talos_worker_nodes: - hosts: - w1.deovero.k8s.snel.com: - ansible_host: 185.62.58.15 - w2.deovero.k8s.snel.com: - ansible_host: 185.62.56.96 - hw1.deovero.k8s.snel.com: - ansible_host: 77.95.229.160 - talos_disk: /dev/nvme0n1 - mayastor_disk: /dev/nvme1n1 - network_interface: bond0 - network_interface_bond: - mode: balance-rr - miimon: 100 - updelay: 200 - downdelay: 200 - interfaces: - - enp196s0f1 - - enp65s0f1 - hw2.deovero.k8s.snel.com: - ansible_host: 128.204.192.80 - talos_disk: /dev/nvme0n1 - mayastor_disk: /dev/nvme1n1 - network_interface: bond0 - network_interface_bond: - mode: balance-rr - miimon: 100 - updelay: 200 - downdelay: 200 - interfaces: - - enp196s0f1 - - enp65s0f1 - hw3.deovero.k8s.snel.com: - ansible_host: 89.207.131.21 - talos_disk: /dev/nvme0n1 - mayastor_disk: /dev/nvme1n1 - network_interface: bond0 - network_interface_bond: - mode: balance-rr - miimon: 100 - updelay: 200 - downdelay: 200 - interfaces: - - enp196s0f1 - - enp65s0f1 - talos_hardware_nodes: - hosts: - hw1.deovero.k8s.snel.com: - hw2.deovero.k8s.snel.com: - hw3.deovero.k8s.snel.com: - talos_first_nodes: - hosts: - c1.deovero.k8s.snel.com: - ingress_ips: - - 185.62.58.184 # Rancher + Traefik - - 185.62.57.66 - #- 185.62.58.66 + cluster_deovero_control_lb: +talos_control_nodes: + children: + cluster_deovero_control_nodes: +talos_worker_nodes: + children: + cluster_deovero_worker_nodes: +talos_hardware_nodes: + hosts: + hw1.deovero.k8s.snel.com: + hw2.deovero.k8s.snel.com: + hw3.deovero.k8s.snel.com: +talos_first_nodes: + hosts: + c1.deovero.k8s.snel.com: + +cluster_deovero: + vars: + cluster_name: deovero.k8s.snel.com + ingress_ips: + - 185.62.58.184 # Rancher + Traefik + - 185.62.57.66 + - 185.62.58.66 + children: + cluster_deovero_control_lb: + hosts: + control.deovero.k8s.snel.com: + ansible_host: 185.62.56.88 + cluster_deovero_control_nodes: + hosts: + c1.deovero.k8s.snel.com: + ansible_host: 185.62.58.191 + c2.deovero.k8s.snel.com: + ansible_host: 185.62.58.208 + c3.deovero.k8s.snel.com: + ansible_host: 185.62.56.102 + cluster_deovero_worker_nodes: + hosts: + w1.deovero.k8s.snel.com: + ansible_host: 185.62.58.15 + w2.deovero.k8s.snel.com: + ansible_host: 185.62.56.96 + cluster_deovero_hardware_nodes: + hosts: + hw1.deovero.k8s.snel.com: + ansible_host: 77.95.229.160 + talos_disk: /dev/nvme0n1 + mayastor_disk: /dev/nvme1n1 + network_interface: bond0 + network_interface_bond: + mode: balance-rr + miimon: 100 + updelay: 200 + downdelay: 200 + interfaces: + - enp196s0f1 + - enp65s0f1 + hw2.deovero.k8s.snel.com: + ansible_host: 128.204.192.80 + talos_disk: /dev/nvme0n1 + mayastor_disk: /dev/nvme1n1 + network_interface: bond0 + network_interface_bond: + mode: balance-rr + miimon: 100 + updelay: 200 + downdelay: 200 + interfaces: + - enp196s0f1 + - enp65s0f1 + hw3.deovero.k8s.snel.com: + ansible_host: 89.207.131.21 + talos_disk: /dev/nvme0n1 + mayastor_disk: /dev/nvme1n1 + network_interface: bond0 + network_interface_bond: + mode: balance-rr + miimon: 100 + updelay: 200 + downdelay: 200 + interfaces: + - enp196s0f1 + - enp65s0f1 diff --git a/inventory/cluster_pietje.yml b/inventory/cluster_pietje.yml index 2f646db..97b1d66 100644 --- a/inventory/cluster_pietje.yml +++ b/inventory/cluster_pietje.yml @@ -1,39 +1,59 @@ --- -kubernetes: +talos_control_lb: children: - cluster_pietje: - vars: - cluster_name: pietje.k8s.snel.com - children: - control_lb_nodes: - hosts: - control.pietje.k8s.snel.com: - ansible_host: 185.62.58.98 - talos: - children: - talos_control_nodes: - hosts: - c1.pietje.k8s.snel.com: - ansible_host: 185.62.58.123 - c2.pietje.k8s.snel.com: - ansible_host: 185.62.57.138 - c3.pietje.k8s.snel.com: - ansible_host: 185.62.57.9 - talos_worker_nodes: - hosts: - w1.pietje.k8s.snel.com: - ansible_host: 185.62.56.40 - w2.pietje.k8s.snel.com: - ansible_host: 185.62.56.141 - w3.pietje.k8s.snel.com: - ansible_host: 185.62.57.201 - # talos_hardware_nodes: - # hosts: - # hw1.[NAME].k8s.snel.com: - talos_first_nodes: - hosts: - c1.pietje.k8s.snel.com: - ingress_ips: - - 185.62.58.66 # Rancher + Traefik - # - 185.62.___.___ # extra IP - # - 185.62.___.___ # extra IP + cluster_pietje_control_lb: +talos_control_nodes: + children: + cluster_pietje_control_nodes: +talos_worker_nodes: + children: + cluster_pietje_worker_nodes: +talos_hardware_nodes: + children: + cluster_pietje_hardware_nodes: +talos_first_nodes: + hosts: + c1.pietje.k8s.snel.com: + +cluster_pietje: + vars: + cluster_name: pietje.k8s.snel.com + ingress_ips: + - 185.62.56.120 # Rancher + Traefik + - 185.62.56.201 # extra IP + children: + cluster_pietje_control_lb: + hosts: + control.pietje.k8s.snel.com: + ansible_host: 185.62.58.98 + cluster_pietje_control_nodes: + hosts: + c1.pietje.k8s.snel.com: + ansible_host: 185.62.58.123 + c2.pietje.k8s.snel.com: + ansible_host: 185.62.57.138 + c3.pietje.k8s.snel.com: + ansible_host: 185.62.57.9 + cluster_pietje_worker_nodes: + hosts: + w1.pietje.k8s.snel.com: + ansible_host: 185.62.56.40 + w2.pietje.k8s.snel.com: + ansible_host: 185.62.56.141 + w3.pietje.k8s.snel.com: + ansible_host: 185.62.57.201 + cluster_pietje_hardware_nodes: + hosts: + # hw1.[NAME].k8s.snel.com: + # ansible_host: 77.95.___.___ + # talos_disk: /dev/nvme0n1 + # mayastor_disk: /dev/nvme1n1 + # network_interface: bond0 + # network_interface_bond: + # mode: balance-rr + # miimon: 100 + # updelay: 200 + # downdelay: 200 + # interfaces: + # - enp196s0f1 + # - enp65s0f1 diff --git a/inventory/general.yml b/inventory/general.yml new file mode 100644 index 0000000..e0f0865 --- /dev/null +++ b/inventory/general.yml @@ -0,0 +1,13 @@ +--- +debian: + children: + ubuntu: + +control_hosts: + children: + ansible_host: + hosts: + localhost: + jump_host: + hosts: + jump.snel.com: diff --git a/inventory/general_k8s.yml b/inventory/general_k8s.yml index 4ac6366..586dda1 100644 --- a/inventory/general_k8s.yml +++ b/inventory/general_k8s.yml @@ -3,18 +3,17 @@ kubernetes: children: ubuntu: children: - control_lb_nodes + talos_control_lb: haproxy: children: - control_lb_nodes - debian: + talos_control_lb: + talos: children: - ubuntu: -control_hosts: + talos_control_nodes: + talos_worker_nodes: + children: + talos_hardware_nodes: + +kubernetes_control_lb: children: - ansible_host: - hosts: - localhost: - jump_host: - hosts: - jump.snel.com: + talos_control_lb: diff --git a/inventory/group_vars/customer_deovero.yml b/inventory/group_vars/cluster_deovero.yml.disabled similarity index 100% rename from inventory/group_vars/customer_deovero.yml rename to inventory/group_vars/cluster_deovero.yml.disabled diff --git a/playbooks/snel.kubernetes-cluster b/playbooks/snel.kubernetes-cluster index 0889cc8..883ef18 160000 --- a/playbooks/snel.kubernetes-cluster +++ b/playbooks/snel.kubernetes-cluster @@ -1 +1 @@ -Subproject commit 0889cc8caae33796d70e620de8812cdc79f76c7c +Subproject commit 883ef18d44ede735ea5f6c08338c2a3d2e808085