k8s-cluster/init.sh
2024-05-18 05:03:38 +03:00

49 lines
1.6 KiB
Bash
Executable file

#!/bin/bash
# k8x v2
KUBESPRAY_TAG="release-2.16"
if [ -f config ]; then
echo "config file FOUND :)"
source config
else
echo "config file is missing."
exit 1
fi
echo "] Install packages to cluster admin node ..."
apt update
apt install git rsync python3-pip -y
echo "] Clone Kubespray ..."
git clone https://github.com/kubernetes-sigs/kubespray.git
echo "] Sync our recipies ..."
rsync -av inventory/ kubespray/inventory/kube/
echo "- setup external load balancer variable from config..."
sed -i "s#var_lb_domain#${EXT_LB_DOMAIN}#g" "kubespray/inventory/kube/group_vars/all/all.yml"
sed -i "s#var_lb_address#${EXT_LB_ADDRESS}#g" "kubespray/inventory/kube/group_vars/all/all.yml"
sed -i "s#var_lb_port#${EXT_LB_PORT}#g" "kubespray/inventory/kube/group_vars/all/all.yml"
echo "- setup additional addresses to kube ssl cert"
sed -i "s#var_cluster_supp_addr#${CLUSTER_SUPP_ADDR}#g" "kubespray/inventory/kube/group_vars/k8s_cluster/k8s-cluster.yml"
echo "- setup ceph variables from config ..."
sed -i "s#var_ceph_monitors#${CEPH_MONITOR_1}:6789,${CEPH_MONITOR_2}:6789,${CEPH_MONITOR_3}:6789#g" "kubespray/inventory/kube/group_vars/k8s_cluster/addons.yml"
sed -i "s#var_ceph_admin_key#${CEPH_ADMIN_KEY}#g" "kubespray/inventory/kube/group_vars/k8s_cluster/addons.yml"
sed -i "s#var_ceph_user_key#${CEPH_USER_KEY}#g" "kubespray/inventory/kube/group_vars/k8s_cluster/addons.yml"
echo "] Switch to $KUBESPRAY_TAG branch ..."
cd kubespray/
git checkout $KUBESPRAY_TAG
cd ..
echo "] Patch $KUBESPRAY_TAG ..."
rsync -av patches/${KUBESPRAY_TAG}/ kubespray/
echo "] Execute python requierments.txt ..."
cd kubespray/
pip3 install -r requirements.txt