Adjusted bootstrap scripts with velero in mind
This commit is contained in:
parent
6732d8a074
commit
112cdab762
|
@ -3,40 +3,4 @@ set -e
|
||||||
set -u
|
set -u
|
||||||
set -x
|
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 --etcd-s3 --etcd-s3-endpoint=s3.us-west-002.backblazeb2.com --etcd-s3-bucket=titan-k3s-backup --etcd-s3-folder=testing --cluster-init"
|
|
||||||
ssh -t $REMOTE "curl -sfL https://get.k3s.io | INSTALL_K3S_SKIP_START=true INSTALL_K3S_EXEC=\"server $ARGS\" sh -"
|
|
||||||
add_b2_key_to_k3s_env
|
|
||||||
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/
|
|
||||||
|
|
||||||
echo "Join the other nodes to the cluster, once done hit enter"
|
|
||||||
read
|
|
||||||
|
|
||||||
# Add sops secret to the cluster
|
|
||||||
kubectl apply -f ${SCRIPT_DIR}/namespace.yaml
|
|
||||||
sops decrypt ${SCRIPT_DIR}/sops-gpg.yaml | kubectl apply -f -
|
|
||||||
|
|
||||||
# Bootstrap flux on the node
|
|
||||||
flux bootstrap git --url ssh://git@huizinga.dev/Dreaded_X/flux-infra --branch=master --path=clusters/titan.lan.huizinga.dev --components source-controller,kustomize-controller,helm-controller
|
flux bootstrap git --url ssh://git@huizinga.dev/Dreaded_X/flux-infra --branch=master --path=clusters/titan.lan.huizinga.dev --components source-controller,kustomize-controller,helm-controller
|
||||||
|
|
||||||
# Update the ip to the control plane virtual ip
|
|
||||||
sed -i -e "s/$REMOTE_IP/$VIP/" ~/.kube/config
|
|
||||||
|
|
||||||
kubectl get nodes
|
|
||||||
|
|
|
@ -6,25 +6,6 @@ function set_remote() {
|
||||||
REMOTE="$REMOTE_USER@$REMOTE_IP"
|
REMOTE="$REMOTE_USER@$REMOTE_IP"
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_from_secret() {
|
|
||||||
export $2=$(sops decrypt $1 | grep $2 | awk '{print $2}' | base64 -d)
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_b2_key() {
|
|
||||||
B2_SECRET_FILE=${SCRIPT_DIR}/../common/postgres/b2-access-key.yaml
|
|
||||||
get_from_secret $B2_SECRET_FILE ACCESS_KEY_ID
|
|
||||||
get_from_secret $B2_SECRET_FILE ACCESS_SECRET_KEY
|
|
||||||
}
|
|
||||||
|
|
||||||
function add_b2_key_to_k3s_env() {
|
|
||||||
get_b2_key
|
|
||||||
# TODO: Check if the entries already exist and overwrite them
|
|
||||||
ssh -t $REMOTE "cat << EOF | sudo tee -a /etc/systemd/system/k3s.service.env >> /dev/null
|
|
||||||
AWS_ACCESS_KEY_ID=$ACCESS_KEY_ID
|
|
||||||
AWS_SECRET_ACCESS_KEY=$ACCESS_SECRET_KEY
|
|
||||||
EOF"
|
|
||||||
}
|
|
||||||
|
|
||||||
function start_k3s() {
|
function start_k3s() {
|
||||||
ssh -t $REMOTE "sudo -S systemctl start k3s"
|
ssh -t $REMOTE "sudo -S systemctl start k3s"
|
||||||
}
|
}
|
||||||
|
|
35
scripts/init.sh
Executable file
35
scripts/init.sh
Executable file
|
@ -0,0 +1,35 @@
|
||||||
|
#!/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
|
|
@ -13,9 +13,8 @@ echo "Please enter the k3s token, you can find this in '/var/lib/rancher/k3s/ser
|
||||||
read TOKEN
|
read TOKEN
|
||||||
|
|
||||||
# Setup k3s
|
# Setup k3s
|
||||||
ARGS="--tls-san=$VIP --disable servicelb --disable traefik --disable local-storage --etcd-s3 --etcd-s3-endpoint=s3.us-west-002.backblazeb2.com --etcd-s3-bucket=titan-k3s-backup --etcd-s3-folder=testing --server https://$VIP:6443"
|
ARGS="--tls-san=$VIP --disable servicelb --disable traefik --disable local-storage --server https://$VIP:6443"
|
||||||
ssh -t $REMOTE "curl -sfL https://get.k3s.io | K3S_TOKEN=$TOKEN INSTALL_K3S_SKIP_START=true INSTALL_K3S_EXEC=\"server $ARGS\" sh -"
|
ssh -t $REMOTE "curl -sfL https://get.k3s.io | K3S_TOKEN=$TOKEN INSTALL_K3S_SKIP_START=true INSTALL_K3S_EXEC=\"server $ARGS\" sh -"
|
||||||
add_b2_key_to_k3s_env
|
|
||||||
start_k3s
|
start_k3s
|
||||||
|
|
||||||
add_interface_label
|
add_interface_label
|
||||||
|
|
Loading…
Reference in New Issue
Block a user