#!/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