From 46f1a392fb8c05e0bb3d04dddccae3f86182cd8c Mon Sep 17 00:00:00 2001 From: Devin Buhl Date: Wed, 8 Jun 2022 09:42:09 -0400 Subject: [PATCH] feat(ansible): rename playbooks and update AnsibleTasks Signed-off-by: Devin Buhl --- .taskfiles/AnsibleTasks.yml | 11 ++++++----- .../{k3s-install.yml => cluster-installation.yml} | 0 .../playbooks/{k3s-nuke.yml => cluster-nuke.yml} | 14 +++++++++++++- .../{ubuntu-prepare.yml => cluster-prepare.yml} | 2 +- provision/ansible/playbooks/cluster-reboot.yml | 15 +++++++++++++++ .../templates/kube-vip-daemonset.yaml.j2 | 8 ++++---- .../roles/{ubuntu => prepare}/handlers/main.yml | 0 .../{ubuntu => prepare}/tasks/filesystem.yml | 0 .../roles/{ubuntu => prepare}/tasks/kernel.yml | 0 .../roles/{ubuntu => prepare}/tasks/locale.yml | 0 .../roles/{ubuntu => prepare}/tasks/main.yml | 0 .../roles/{ubuntu => prepare}/tasks/network.yml | 1 - .../roles/{ubuntu => prepare}/tasks/packages.yml | 0 .../tasks/unattended-upgrades.yml | 0 .../roles/{ubuntu => prepare}/tasks/user.yml | 0 15 files changed, 39 insertions(+), 12 deletions(-) rename provision/ansible/playbooks/{k3s-install.yml => cluster-installation.yml} (100%) rename provision/ansible/playbooks/{k3s-nuke.yml => cluster-nuke.yml} (69%) rename provision/ansible/playbooks/{ubuntu-prepare.yml => cluster-prepare.yml} (93%) create mode 100644 provision/ansible/playbooks/cluster-reboot.yml rename provision/ansible/roles/{ubuntu => prepare}/handlers/main.yml (100%) rename provision/ansible/roles/{ubuntu => prepare}/tasks/filesystem.yml (100%) rename provision/ansible/roles/{ubuntu => prepare}/tasks/kernel.yml (100%) rename provision/ansible/roles/{ubuntu => prepare}/tasks/locale.yml (100%) rename provision/ansible/roles/{ubuntu => prepare}/tasks/main.yml (100%) rename provision/ansible/roles/{ubuntu => prepare}/tasks/network.yml (99%) rename provision/ansible/roles/{ubuntu => prepare}/tasks/packages.yml (100%) rename provision/ansible/roles/{ubuntu => prepare}/tasks/unattended-upgrades.yml (100%) rename provision/ansible/roles/{ubuntu => prepare}/tasks/user.yml (100%) diff --git a/.taskfiles/AnsibleTasks.yml b/.taskfiles/AnsibleTasks.yml index b0d094e0..ed3798b7 100644 --- a/.taskfiles/AnsibleTasks.yml +++ b/.taskfiles/AnsibleTasks.yml @@ -27,20 +27,21 @@ tasks: desc: Prepare all the k8s nodes for running k3s dir: provision/ansible cmds: - - ansible-playbook -i {{.ANSIBLE_INVENTORY_DIR}}/hosts.yml {{.ANSIBLE_PLAYBOOK_DIR}}/ubuntu-prepare.yml + - ansible-playbook -i {{.ANSIBLE_INVENTORY_DIR}}/hosts.yml {{.ANSIBLE_PLAYBOOK_DIR}}/cluster-prepare.yml install: desc: Install Kubernetes on the nodes dir: provision/ansible cmds: - - ansible-playbook -i {{.ANSIBLE_INVENTORY_DIR}}/hosts.yml {{.ANSIBLE_PLAYBOOK_DIR}}/k3s-install.yml + - ansible-playbook -i {{.ANSIBLE_INVENTORY_DIR}}/hosts.yml {{.ANSIBLE_PLAYBOOK_DIR}}/cluster-installation.yml nuke: desc: Uninstall Kubernetes on the nodes dir: provision/ansible + interactive: true cmds: - - ansible-playbook -i {{.ANSIBLE_INVENTORY_DIR}}/hosts.yml {{.ANSIBLE_PLAYBOOK_DIR}}/k3s-nuke.yml - - defer: ansible kubernetes -i {{.ANSIBLE_INVENTORY_DIR}}/hosts.yml -a '/usr/bin/systemctl reboot' --become + - ansible-playbook -i {{.ANSIBLE_INVENTORY_DIR}}/hosts.yml {{.ANSIBLE_PLAYBOOK_DIR}}/cluster-nuke.yml + - task: reboot ping: desc: Ping all the hosts @@ -58,7 +59,7 @@ tasks: desc: Reboot all the k8s nodes dir: provision/ansible cmds: - - ansible kubernetes -i {{.ANSIBLE_INVENTORY_DIR}}/hosts.yml -a '/usr/bin/systemctl reboot' --become + - ansible-playbook -i {{.ANSIBLE_INVENTORY_DIR}}/hosts.yml {{.ANSIBLE_PLAYBOOK_DIR}}/cluster-reboot.yml poweroff: desc: Shutdown all the k8s nodes diff --git a/provision/ansible/playbooks/k3s-install.yml b/provision/ansible/playbooks/cluster-installation.yml similarity index 100% rename from provision/ansible/playbooks/k3s-install.yml rename to provision/ansible/playbooks/cluster-installation.yml diff --git a/provision/ansible/playbooks/k3s-nuke.yml b/provision/ansible/playbooks/cluster-nuke.yml similarity index 69% rename from provision/ansible/playbooks/k3s-nuke.yml rename to provision/ansible/playbooks/cluster-nuke.yml index 3271bf57..edafac4f 100644 --- a/provision/ansible/playbooks/k3s-nuke.yml +++ b/provision/ansible/playbooks/cluster-nuke.yml @@ -5,9 +5,21 @@ become: true gather_facts: true any_errors_fatal: true + vars_prompt: + - name: nuke + prompt: |- + Are you sure you want to nuke this cluster? + Type YES I WANT TO DESTROY THIS CLUSTER to proceed + default: "n" + private: false pre_tasks: + - name: Check for confirmation + ansible.builtin.fail: + msg: Aborted nuking the cluster + when: nuke != 'YES I WANT TO DESTROY THIS CLUSTER' + - name: Pausing for 5 seconds... - pause: + ansible.builtin.pause: seconds: 5 tasks: - name: Kill k3s diff --git a/provision/ansible/playbooks/ubuntu-prepare.yml b/provision/ansible/playbooks/cluster-prepare.yml similarity index 93% rename from provision/ansible/playbooks/ubuntu-prepare.yml rename to provision/ansible/playbooks/cluster-prepare.yml index 719ae06f..0fc815b2 100644 --- a/provision/ansible/playbooks/ubuntu-prepare.yml +++ b/provision/ansible/playbooks/cluster-prepare.yml @@ -10,4 +10,4 @@ pause: seconds: 5 roles: - - ubuntu + - prepare diff --git a/provision/ansible/playbooks/cluster-reboot.yml b/provision/ansible/playbooks/cluster-reboot.yml new file mode 100644 index 00000000..4f109d3a --- /dev/null +++ b/provision/ansible/playbooks/cluster-reboot.yml @@ -0,0 +1,15 @@ +--- +- hosts: + - master + - worker + become: true + gather_facts: true + any_errors_fatal: true + pre_tasks: + - name: Pausing for 5 seconds... + ansible.builtin.pause: + seconds: 5 + tasks: + - name: Reboot + ansible.builtin.reboot: + msg: Rebooting nodes diff --git a/provision/ansible/playbooks/templates/kube-vip-daemonset.yaml.j2 b/provision/ansible/playbooks/templates/kube-vip-daemonset.yaml.j2 index 9484567b..22d843a2 100644 --- a/provision/ansible/playbooks/templates/kube-vip-daemonset.yaml.j2 +++ b/provision/ansible/playbooks/templates/kube-vip-daemonset.yaml.j2 @@ -63,11 +63,11 @@ spec: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - - key: node-role.kubernetes.io/master - operator: Exists + - key: node-role.kubernetes.io/master + operator: Exists - matchExpressions: - - key: node-role.kubernetes.io/control-plane - operator: Exists + - key: node-role.kubernetes.io/control-plane + operator: Exists tolerations: - effect: NoSchedule operator: Exists diff --git a/provision/ansible/roles/ubuntu/handlers/main.yml b/provision/ansible/roles/prepare/handlers/main.yml similarity index 100% rename from provision/ansible/roles/ubuntu/handlers/main.yml rename to provision/ansible/roles/prepare/handlers/main.yml diff --git a/provision/ansible/roles/ubuntu/tasks/filesystem.yml b/provision/ansible/roles/prepare/tasks/filesystem.yml similarity index 100% rename from provision/ansible/roles/ubuntu/tasks/filesystem.yml rename to provision/ansible/roles/prepare/tasks/filesystem.yml diff --git a/provision/ansible/roles/ubuntu/tasks/kernel.yml b/provision/ansible/roles/prepare/tasks/kernel.yml similarity index 100% rename from provision/ansible/roles/ubuntu/tasks/kernel.yml rename to provision/ansible/roles/prepare/tasks/kernel.yml diff --git a/provision/ansible/roles/ubuntu/tasks/locale.yml b/provision/ansible/roles/prepare/tasks/locale.yml similarity index 100% rename from provision/ansible/roles/ubuntu/tasks/locale.yml rename to provision/ansible/roles/prepare/tasks/locale.yml diff --git a/provision/ansible/roles/ubuntu/tasks/main.yml b/provision/ansible/roles/prepare/tasks/main.yml similarity index 100% rename from provision/ansible/roles/ubuntu/tasks/main.yml rename to provision/ansible/roles/prepare/tasks/main.yml diff --git a/provision/ansible/roles/ubuntu/tasks/network.yml b/provision/ansible/roles/prepare/tasks/network.yml similarity index 99% rename from provision/ansible/roles/ubuntu/tasks/network.yml rename to provision/ansible/roles/prepare/tasks/network.yml index 8d4cb576..9061ba16 100644 --- a/provision/ansible/roles/ubuntu/tasks/network.yml +++ b/provision/ansible/roles/prepare/tasks/network.yml @@ -37,4 +37,3 @@ net.bridge.bridge-nf-call-ip6tables: 1 net.ipv4.conf.default.rp_filter: 0 net.ipv4.conf.all.rp_filter: 0 - diff --git a/provision/ansible/roles/ubuntu/tasks/packages.yml b/provision/ansible/roles/prepare/tasks/packages.yml similarity index 100% rename from provision/ansible/roles/ubuntu/tasks/packages.yml rename to provision/ansible/roles/prepare/tasks/packages.yml diff --git a/provision/ansible/roles/ubuntu/tasks/unattended-upgrades.yml b/provision/ansible/roles/prepare/tasks/unattended-upgrades.yml similarity index 100% rename from provision/ansible/roles/ubuntu/tasks/unattended-upgrades.yml rename to provision/ansible/roles/prepare/tasks/unattended-upgrades.yml diff --git a/provision/ansible/roles/ubuntu/tasks/user.yml b/provision/ansible/roles/prepare/tasks/user.yml similarity index 100% rename from provision/ansible/roles/ubuntu/tasks/user.yml rename to provision/ansible/roles/prepare/tasks/user.yml