#!/usr/bin/env bash ### # create_stack.sh - Intialize a Kubernetes cluster and install components ## set -o errexit set -o pipefail set -o nounset CUR_DIR=$(pwd) SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")" : ${TOKEN:=} : ${MASTER_IP:=} : ${CERT_SANS:=} HIGH_POD_COUNT=${HIGH_POD_COUNT:-""} LOAD_BALANCER_IP=${LOAD_BALANCER_IP:-""} LOAD_BALANCER_PORT="${LOAD_BALANCER_PORT:-6444}" # versions CANAL_VER="${CLRK8S_CANAL_VER:-v3.24}" CILIUM_VER="${CLRK8S_CILIUM_VER:-v1.9.13}" FLANNEL_VER="${CLRK8S_FLANNEL_VER:-v0.16.3}" CILIUM_VAL_OVERRIDE="" K8S_VER="${CLRK8S_K8S_VER:-}" KATA_VER="${CLRK8S_KATA_VER:-2.4.0}" ROOK_VER="${CLRK8S_ROOK_VER:-v1.8.10}" METRICS_VER="${CLRK8S_METRICS_VER:-v0.6.1}" DASHBOARD_VER="${CLRK8S_DASHBOARD_VER:-v2.6.1}" INGRES_VER="${CLRK8S_INGRES_VER:-controller-v1.3.0}" EFK_VER="${CLRK8S_EFK_VER:-193692c92eb4667b8f4fb7d4cdf0462e229b5f13}" METALLB_VER="${CLRK8S_METALLB_VER:-v0.8.3}" NPD_VER="${CLRK8S_NPD_VER:-v0.6.6}" PROMETHEUS_VER="${CLRK8S_PROMETHEUS_VER:-v0.10.0}" CNI=${CLRK8S_CNI:-"canal"} if [[ -z "${RUNNER+x}" ]]; then RUNNER="${CLRK8S_RUNNER:-"crio"}"; fi NFD_VER="${CLRK8S_NFD_VER:-v0.4.0}" mode="multinode" function print_usage_exit() { exit_code=${1:-0} cat <${METRICS_DIR}/overlays/${METRICS_VER}/components.yaml kubectl apply -k "${METRICS_DIR}/overlays/${METRICS_VER}/" } function wait_on_pvc() { # create and destroy pvc until successful while [[ $(kubectl get pvc test-pv-claim --no-headers | grep Bound -c) -ne 1 ]]; do sleep 30 done kubectl delete pvc test-pv-claim } function create_pvc() { kubectl apply -f - <