36 lines
1004 B
Bash
Executable File
36 lines
1004 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
set -u
|
|
set -x
|
|
|
|
SCRIPT_DIR=$(dirname -- "$(readlink -f -- "$BASH_SOURCE")")
|
|
source ${SCRIPT_DIR}/helper.sh
|
|
|
|
set_remote $1
|
|
|
|
# Setup k3s
|
|
ARGS="--tls-san=$VIP --disable servicelb --disable traefik --disable local-storage --cluster-init"
|
|
ssh -t $REMOTE "curl -sfL https://get.k3s.io | INSTALL_K3S_SKIP_START=true INSTALL_K3S_EXEC=\"server $ARGS\" sh -"
|
|
start_k3s
|
|
|
|
# Copy over kubeconfig
|
|
ssh -t $REMOTE "sudo -S cp /etc/rancher/k3s/k3s.yaml ~/k3s.yaml && sudo chown titan:titan ~/k3s.yaml"
|
|
scp $REMOTE:~/k3s.yaml ~/.kube/config
|
|
ssh -t $REMOTE "rm ~/k3s.yaml"
|
|
|
|
# Update up to correct ip
|
|
sed -i -e "s/127.0.0.1/$REMOTE_IP/" ~/.kube/config
|
|
|
|
add_interface_label
|
|
|
|
kubectl apply -k ${SCRIPT_DIR}/../clusters/titan.lan.huizinga.dev/kube-vip/
|
|
|
|
# Add sops secret to the cluster
|
|
kubectl apply -f ${SCRIPT_DIR}/namespace.yaml
|
|
sops decrypt ${SCRIPT_DIR}/sops-gpg.yaml | kubectl apply -f -
|
|
|
|
# Update the ip to the control plane virtual ip
|
|
sed -i -e "s/$REMOTE_IP/$VIP/" ~/.kube/config
|
|
|
|
kubectl get nodes
|