From 5310e9bd36e05e7c61f76b317f9d60f9140c1206 Mon Sep 17 00:00:00 2001 From: Humble Chirammal Date: Fri, 29 Oct 2021 14:40:39 +0530 Subject: [PATCH] deploy: enable feature gate for generic ephemeral volume support This commit enable feature gate reqquired for generic ephemeral volume support in minikube deployment. This feature gate is enabled for kubernets version >=20. Signed-off-by: Humble Chirammal --- scripts/minikube.sh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/scripts/minikube.sh b/scripts/minikube.sh index 1cb38f5e835..95895818659 100755 --- a/scripts/minikube.sh +++ b/scripts/minikube.sh @@ -43,6 +43,15 @@ minikube_version() { echo "${MINIKUBE_VERSION}" | sed 's/^v//' | cut -d'.' -f"${1}" } +# parse the kubernetes version, return the digit passed as argument +# v1.21.0 -> kube_version 1 -> 1 +# v1.21.0 -> kube_version 2 -> 21 +# v1.21.0 -> kube_version 3 -> 0 +kube_version() { + echo "${KUBE_VERSION}" | sed 's/^v//' | cut -d'.' -f"${1}" +} + + # detect if there is a minikube executable available already. If there is none, # fallback to using /usr/local/bin/minikube, as that is where # install_minikube() will place it too. @@ -202,6 +211,14 @@ up) disable_storage_addons + # get kubernetes version we are operating on and accordingly enable feature gates + KUBE_MAJOR=$(kube_version 1) + KUBE_MINOR=$(kube_version 2) + if [ "${KUBE_MAJOR}" -eq 1 ] && [ "${KUBE_MINOR}" -ge 20 ]; + then + # if kubernetes version is greater than 1.20 enable Generic Ephemeral Volume feature gate + K8S_FEATURE_GATES="GenericEphemeralVolume=true" + fi # shellcheck disable=SC2086 ${minikube} start --force --memory="${MEMORY}" --cpus="${CPUS}" -b kubeadm --kubernetes-version="${KUBE_VERSION}" --driver="${VM_DRIVER}" --feature-gates="${K8S_FEATURE_GATES}" --cni="${CNI}" ${EXTRA_CONFIG} ${EXTRA_CONFIG_PSP} --wait-timeout="${MINIKUBE_WAIT_TIMEOUT}" --wait="${MINIKUBE_WAIT}" --delete-on-failure ${DISK_CONFIG}