X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Finstall_kubeadm_cluster.sh;h=8df461907d0c17c9f51acb5927d243edacf9f8c2;hb=HEAD;hp=c64e28f372de2231585dc3ca1e3b99ca7661af06;hpb=4c3b3fb0584eecbab527c8833fee5bf047039517;p=osm%2Fdevops.git diff --git a/installers/install_kubeadm_cluster.sh b/installers/install_kubeadm_cluster.sh index c64e28f3..f0f49c2d 100755 --- a/installers/install_kubeadm_cluster.sh +++ b/installers/install_kubeadm_cluster.sh @@ -17,6 +17,7 @@ set +eux K8S_VERSION=1.30 K8S_PACKAGE_VERSION="$K8S_VERSION".1-1.1 +K8S_METRICS_VERSION="v0.7.1" # installs kubernetes packages function install_kube() { @@ -59,13 +60,19 @@ function init_kubeadm() { } # Initializes kubeconfig file -function kube_config_dir() { +function save_kubeconfig() { [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function K8S_MANIFEST_DIR="/etc/kubernetes/manifests" [ ! -d $K8S_MANIFEST_DIR ] && FATAL_TRACK k8scluster "Kubernetes folder $K8S_MANIFEST_DIR was not found" - mkdir -p $HOME/.kube - sudo cp /etc/kubernetes/admin.conf $HOME/.kube/config - sudo chown $(id -u):$(id -g) $HOME/.kube/config + KUBEDIR="${HOME}/.kube" + KUBEFILE="$KUBEDIR/config" + mkdir -p "${KUBEDIR}" + KUBEADM_KUBECONFIG="/etc/kubernetes/admin.conf" + sudo cp "${KUBEADM_KUBECONFIG}" "${KUBEFILE}" + sudo chown $(id -u):$(id -g) "${KUBEFILE}" + echo + echo "Credentials saved at ${KUBEFILE}" + echo [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function } @@ -108,6 +115,15 @@ function check_and_track_k8s_ready_before_helm() { [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function } +# removes osm deployments and services +function install_k8s_metrics() { + [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function + echo "Installing Kubernetes metrics" + kubectl apply -f "https://github.com/kubernetes-sigs/metrics-server/releases/download/${K8S_METRICS_VERSION}/components.yaml" + kubectl -n kube-system patch deployment metrics-server --type=json -p '[{"op":"add","path":"/spec/template/spec/containers/0/args/-","value":"--kubelet-insecure-tls"}]' + [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function +} + # removes osm deployments and services function remove_k8s_namespace() { [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function @@ -115,13 +131,13 @@ function remove_k8s_namespace() { kubectl delete ns $1 2>/dev/null [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function } - # main -while getopts ":D:d:i:-: " o; do +OSM_CLUSTER_WORK_DIR="/etc/osm" +OSM_DEVOPS="/usr/share/osm-devops" +DEBUG_INSTALL="" + +while getopts ":D:d:-: " o; do case "${o}" in - i) - DEFAULT_IP="${OPTARG}" - ;; d) OSM_CLUSTER_WORK_DIR="${OPTARG}" ;; @@ -164,13 +180,15 @@ install_kube check_and_track_kube_install init_kubeadm $OSM_CLUSTER_WORK_DIR/kubeadm-config.yaml -kube_config_dir +save_kubeconfig check_and_track_init_k8s deploy_cni_provider taint_master_node check_and_track_k8s_ready_before_helm +install_k8s_metrics + remove_k8s_namespace osm # install_helm has been moved to install_helm_client.sh, run from full_install_osm.sh,