X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=src%2Ffoundation%2Fscripts%2Fk8s_master.sh;h=5cce155e76800411c97fbc3d4209d8cf0d0b4aff;hb=12880df8a245f9b91631c4ee2c8681a55a33458a;hp=1782769bc23a97a38d63087863ab9f6642e3cf51;hpb=38539411e0db414bd281be6313e080cbff7bab13;p=iec.git diff --git a/src/foundation/scripts/k8s_master.sh b/src/foundation/scripts/k8s_master.sh index 1782769..5cce155 100755 --- a/src/foundation/scripts/k8s_master.sh +++ b/src/foundation/scripts/k8s_master.sh @@ -1,7 +1,10 @@ #!/bin/bash -ex +# shellcheck source=/dev/null # For host setup as Kubernetes master -MGMT_IP=$1 +# Use the src of the default route as the default local IP +DEF_SRC_IP=$(ip route get 8.8.8.8 | awk '{ for (nn=1;nn<=NF;nn++) if ($nn~"src") print $(nn+1) }') +MGMT_IP=${1:-${DEF_SRC_IP}} POD_NETWORK_CIDR=${2:-192.168.0.0/16} SERVICE_CIDR=${3:-172.16.1.0/24} @@ -10,7 +13,7 @@ if [ -z "${MGMT_IP}" ]; then exit 1 fi -if ! kubectl get nodes; then +if ! kubectl get nodes --request-timeout=3s; then sudo kubeadm config images pull sudo kubeadm init \ --pod-network-cidr="${POD_NETWORK_CIDR}" \ @@ -19,12 +22,16 @@ if ! kubectl get nodes; then if [ "$(id -u)" = 0 ]; then echo "export KUBECONFIG=/etc/kubernetes/admin.conf" | \ - tee -a "${HOME}/.profile" + tee -a "${HOME}/.bashrc" # shellcheck disable=SC1090 - source "${HOME}/.profile" - else - mkdir -p "${HOME}/.kube" - sudo cp -i /etc/kubernetes/admin.conf "${HOME}/.kube/config" - sudo chown "$(id -u)":"$(id -g)" "${HOME}/.kube/config" + source "${HOME}/.bashrc" fi + + mkdir -p "${HOME}/.kube" + # shellcheck disable=SC2216 + yes | sudo cp -rf /etc/kubernetes/admin.conf "${HOME}/.kube/config" + sudo chown "$(id -u)":"$(id -g)" "${HOME}/.kube/config" + + sleep 5 + sudo swapon -a fi