X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=src%2Ffoundation%2Fscripts%2Fk8s_master.sh;fp=src%2Ffoundation%2Fscripts%2Fk8s_master.sh;h=1782769bc23a97a38d63087863ab9f6642e3cf51;hb=38539411e0db414bd281be6313e080cbff7bab13;hp=0000000000000000000000000000000000000000;hpb=213fe20e6996b570081a86926ceafe4240ca983f;p=iec.git diff --git a/src/foundation/scripts/k8s_master.sh b/src/foundation/scripts/k8s_master.sh new file mode 100755 index 0000000..1782769 --- /dev/null +++ b/src/foundation/scripts/k8s_master.sh @@ -0,0 +1,30 @@ +#!/bin/bash -ex + +# For host setup as Kubernetes master +MGMT_IP=$1 +POD_NETWORK_CIDR=${2:-192.168.0.0/16} +SERVICE_CIDR=${3:-172.16.1.0/24} + +if [ -z "${MGMT_IP}" ]; then + echo "Please specify a management IP!" + exit 1 +fi + +if ! kubectl get nodes; then + sudo kubeadm config images pull + sudo kubeadm init \ + --pod-network-cidr="${POD_NETWORK_CIDR}" \ + --apiserver-advertise-address="${MGMT_IP}" \ + --service-cidr="${SERVICE_CIDR}" + + if [ "$(id -u)" = 0 ]; then + echo "export KUBECONFIG=/etc/kubernetes/admin.conf" | \ + tee -a "${HOME}/.profile" + # 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" + fi +fi