This commit is contained in:
2025-07-05 13:22:00 +02:00
parent 6e99cd64f9
commit 194fe4bf24
6 changed files with 95 additions and 103 deletions

View File

@ -1,28 +1,18 @@
#!/bin/bash
source .env
KUBE_USER="ubuntu"
PRIVATE_KEY_PATH="$HOME/.ssh/id_ed25519"
KUBE_CP="k8s-control-plane"
KUBE_W1="k8s-worker1"
KUBE_W2="k8s-worker2"
ANSIBLE_DIR="ansible"
POD_NET_CIDR="192.168.0.0/16"
CNI_VER="v3.30.2"
API_ADDR=$(getent hosts "$KUBE_CP" | awk '{ print $1 }')
LOAD_BALANCER_IP="10.50.3.30"
## Variables for envsubst
export ACME_MAIL="kevin@nixit.it"
export IP_POOL_RANGE="10.50.3.30-10.50.3.40"
export LONGHORN_DNS_NAME="longhorn.nixit.it"
ALL_NODES=("$KUBE_CP" "${KUBE_WORKERS[@]}")
## Prepare all of the nodes with k8s using the ansible playbooks I prepared
ansible-playbook ./"$ANSIBLE_DIR"/master-k8s.yaml \
-i "$KUBE_CP,$KUBE_W1,$KUBE_W2," \
-e "k8s-control-plane=["$KUBE_CP"] k8s_nodes=["$KUBE_W1","$KUBE_W2"]" \
ansible-playbook ./"$ANSIBLE_DIR"/k8s-install-deps.yaml \
-i "$(IFS=, ; echo "${ALL_NODES[*]}",)" \
-u "$KUBE_USER" \
--private-key "$PRIVATE_KEY_PATH"
ansible-playbook ./"$ANSIBLE_DIR"/longhorn-deps.yaml \
-i "$(IFS=, ; echo "${KUBE_WORKERS[*]}",)" \
-u "$KUBE_USER" \
--private-key "$PRIVATE_KEY_PATH"
@ -51,7 +41,7 @@ kubectl apply -f \
JOIN_TOKEN=$(ssh "$KUBE_USER@$KUBE_CP" \
"sudo kubeadm token create --print-join-command")
for NODE in "$KUBE_W1" "$KUBE_W2"; do
for NODE in "${KUBE_WORKERS[@]}"; do
echo "Joining $NODE"
ssh "$KUBE_USER@$NODE" "sudo $JOIN_TOKEN"
done