X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Finstall_kubeadm_cluster.sh;h=0ec2a31387530889050774536fc496c3448cf636;hb=4ef4419d061615b0e401e10d599fdcd3ee1502d5;hp=9c0fa2f574391257154230552fd903027ace317d;hpb=fa3eb33a4fcb134bd60b4006c54f3e31f8bce929;p=osm%2Fdevops.git diff --git a/installers/install_kubeadm_cluster.sh b/installers/install_kubeadm_cluster.sh index 9c0fa2f5..0ec2a313 100755 --- a/installers/install_kubeadm_cluster.sh +++ b/installers/install_kubeadm_cluster.sh @@ -26,7 +26,7 @@ function install_kube() { sudo apt-get update && sudo apt-get install -y apt-transport-https sudo apt-get update && sudo apt-get install -y apt-transport-https curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - - sudo add-apt-repository "deb https://apt.kubernetes.io/ kubernetes-xenial main" + sudo add-apt-repository -y "deb https://apt.kubernetes.io/ kubernetes-xenial main" sudo apt-get update echo "Installing Kubernetes Packages ..." sudo apt-get install -y kubelet=${K8S_VERSION} kubeadm=${K8S_VERSION} kubectl=${K8S_VERSION} @@ -114,7 +114,7 @@ function check_and_track_k8s_ready_before_helm() { #Helm releases can be found here: https://github.com/helm/helm/releases function install_helm() { [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function - HELM_VERSION="v3.7.2" + HELM_VERSION="v3.11.3" if ! [[ "$(helm version --short 2>/dev/null)" =~ ^v3.* ]]; then # Helm is not installed. Install helm echo "Helm3 is not installed, installing ..." @@ -184,6 +184,20 @@ function install_helm_metallb() { [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function } +#installs cert-manager +function install_helm_certmanager() { + [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function + echo "Installing cert-manager" + CERTMANAGER_VERSION="v1.9.1" + helm repo add jetstack https://charts.jetstack.io + helm repo update + helm install cert-manager --create-namespace --namespace cert-manager jetstack/cert-manager \ + --version ${CERTMANAGER_VERSION} --set installCRDs=true --set prometheus.enabled=false \ + --set clusterResourceNamespace=osm \ + --set extraArgs="{--enable-certificate-owner-ref=true}" + [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function +} + #checks openebs and metallb readiness function check_for_readiness() { [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function @@ -220,6 +234,13 @@ function check_for_readiness() { COUNT_METALLB_READY=$(echo "${METALLB_READY}" | grep -v -e '^$' | wc -l) COUNT_METALLB_NOT_READY=$(echo "${METALLB_NOT_READY}" | grep -v -e '^$' | wc -l) + # State of CertManager + CERTMANAGER_STATE=$(kubectl get pod -n ${CERTMANAGER_NAMESPACE} --no-headers 2>&1) + CERTMANAGER_READY=$(echo "${CERTMANAGER_STATE}" | awk '$2=="1/1" || $2=="2/2" {printf ("%s\t%s\t\n", $1, $2)}') + CERTMANAGER_NOT_READY=$(echo "${CERTMANAGER_STATE}" | awk '$2!="1/1" && $2!="2/2" {printf ("%s\t%s\t\n", $1, $2)}') + COUNT_CERTMANAGER_READY=$(echo "${CERTMANAGER_READY}" | grep -v -e '^$' | wc -l) + COUNT_CERTMANAGER_NOT_READY=$(echo "${CERTMANAGER_NOT_READY}" | grep -v -e '^$' | wc -l) + # OK sample if [[ $((${COUNT_OPENEBS_NOT_READY}+${COUNT_METALLB_NOT_READY})) -eq 0 ]] then @@ -241,13 +262,21 @@ function check_for_readiness() { echo fi - # Reports failed statefulsets + # Reports failed pods in MetalLB if [[ "${COUNT_METALLB_NOT_READY}" -ne 0 ]] then echo "MetalLB: Waiting for ${COUNT_METALLB_NOT_READY} of $((${COUNT_METALLB_NOT_READY}+${COUNT_METALLB_READY})) pods to be ready:" echo "${METALLB_NOT_READY}" echo fi + + # Reports failed pods in CertManager + if [[ "${COUNT_CERTMANAGER_NOT_READY}" -ne 0 ]] + then + echo "CertManager: Waiting for ${COUNT_CERTMANAGER_NOT_READY} of $((${COUNT_CERTMANAGER_NOT_READY}+${COUNT_CERTMANAGER_READY})) pods to be ready:" + echo "${CERTMANAGER_NOT_READY}" + echo + fi fi #------------ NEXT SAMPLE @@ -342,6 +371,8 @@ install_k8s_storageclass track k8scluster k8s_storageclass_ok install_helm_metallb track k8scluster k8s_metallb_ok +install_helm_certmanager +track k8scluster k8s_certmanager_ok check_for_readiness track k8scluster k8s_ready_ok