summaryrefslogtreecommitdiff
path: root/playbooks.d/k8s-node/playbook.bash
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks.d/k8s-node/playbook.bash')
-rw-r--r--playbooks.d/k8s-node/playbook.bash103
1 files changed, 0 insertions, 103 deletions
diff --git a/playbooks.d/k8s-node/playbook.bash b/playbooks.d/k8s-node/playbook.bash
deleted file mode 100644
index fbf49e9..0000000
--- a/playbooks.d/k8s-node/playbook.bash
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/usr/bin/env bash
-
-BASHTARD_PLAYBOOK_VARS[$BASHTARD_PLAYBOOK.cert-hash]="required"
-BASHTARD_PLAYBOOK_VARS[$BASHTARD_PLAYBOOK.master.address]="required"
-BASHTARD_PLAYBOOK_VARS[$BASHTARD_PLAYBOOK.token]="required"
-
-playbook_add() {
- local version
-
- version="1.29"
-
- case "${BASHTARD_PLATFORM[key]}" in
- linux-debian_gnu_linux)
- # Fetch the apt key
- info "$BASHTARD_PLAYBOOK" "Adding apt repository"
- mkdir -pv -m 755 -- /etc/apt/keyrings
- curl -fsSL "https://pkgs.k8s.io/core:/stable:/v$version/deb/Release.key" \
- | gpg --dearmor \
- > /etc/apt/keyrings/kubernetes-apt-keyring.gpg
- printf "deb [signed-by=%s] %s /\n" \
- "/etc/apt/keyrings/kubernetes-apt-keyring.gpg" \
- "https://pkgs.k8s.io/core:/stable:/v$version/deb/" \
- > /etc/apt/sources.list.d/kubernetes.list
- apt update
- ;;
- esac
-
- pkg install containerd
- pkg install kubeadm
- pkg install kubectl
- pkg install kubelet
-
- info "$BASHTARD_PLAYBOOK" "Enabling forwarding"
- cat <<-EOF > "$(config "fs.etcdir")/sysctl.d/kubernetes.conf"
- net.bridge.bridge-nf-call-iptables = 1
- net.bridge.bridge-nf-call-ip6tables = 1
- net.ipv4.ip_forward = 1
- net.ipv6.conf.all.forwarding = 1
- EOF
-
- sysctl --system
-
- info "$BASHTARD_PLAYBOOK" "Enabling kernel modules"
- cat <<-EOF > "$(config "fs.etcdir")/modules-load.d/kubernetes.conf"
- br_netfilter
- overlay
- EOF
-
- modprobe overlay
- modprobe br_netfilter
-
- if [[ "$(config "$BASHTARD_PLAYBOOK.node-ip" "")" != "" ]]
- then
- notice "$BASHTARD_PLAYBOOK" "Setting node ip in $(config "fs.etcdir")/default/kubelet"
- cat <<-EOF > "$(config "fs.etcdir")/default/kubelet"
- KUBELET_EXTRA_ARGS="--node-ip=$(config "$BASHTARD_PLAYBOOK.node-ip")"
- EOF
- fi
-
- notice "$BASHTARD_PLAYBOOK" "Initialize kubeadm"
- kubeadm join \
- --discovery-token-ca-cert-hash "$(config "$BASHTARD_PLAYBOOK.cert-hash")" \
- --node-name="${BASHTARD_PLATFORM[fqdn]}" \
- --token "$(config "$BASHTARD_PLAYBOOK.token")" \
- "$(config "$BASHTARD_PLAYBOOK.master.address"):$(config "$BASHTARD_PLAYBOOK.master.port" "6443")"
-}
-
-playbook_sync() {
- :;
-}
-
-playbook_del() {
- kubectl drain "${BASHTARD_PLATFORM[fqdn]}" \
- --delete-emptydir-data \
- --force \
- --ignore-daemonsets
-
- kubeadm reset --force
- iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
- ipvsadm -C
- rm -fr -- \
- "$(config "fs.etcdir")/modules-load.d/kubernetes.conf" \
- "$(config "fs.etcdir")/sysctl.d/kubernetes.conf" \
- "$(config "fs.etcdir")/cni/net.d" \
- "$(config "fs.etcdir")/kubernetes" \
- "/var/lib/etcd" \
- "/var/lib/cni"
-
- pkg uninstall kubectl
- pkg uninstall kubeadm
- pkg uninstall kubelet
- pkg uninstall containerd
-
- case "${BASHTARD_PLATFORM[key]}" in
- linux-debian_gnu_linux)
- # Fetch the apt key
- info "$BASHTARD_PLAYBOOK" "Removing apt repository"
- rm -fr -- \
- /etc/apt/keyrings/kubernetes-apt-keyring.gpg \
- /etc/apt/sources.list.d/kubernetes.list
- ;;
- esac
-}