github.com/fafucoder/cilium@v1.6.11/examples/kubernetes-ingress/scripts/04-install-kubectl.sh (about) 1 #!/usr/bin/env bash 2 # 3 # Installs and configures kubernetes kubect, it will use default values from 4 # ./helpers.bash 5 # Globals: 6 # INSTALL, if set installs k8s binaries, otherwise it will only configure k8s 7 ####################################### 8 9 dir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) 10 11 source "${dir}/helpers.bash" 12 13 cache_dir="${dir}/../../../hack/cache/k8s/${k8s_version}" 14 15 log "Installing kubernetes kubectl..." 16 17 set -e 18 19 if [ -n "${INSTALL}" ]; then 20 download_to "${cache_dir}" "kubectl" \ 21 "https://dl.k8s.io/release/${k8s_version}/bin/linux/amd64/kubectl" 22 23 cp "${cache_dir}/kubectl" . 24 25 chmod +x kubectl 26 sudo mv kubectl /usr/local/bin 27 fi 28 29 certs_dir="${dir}/certs" 30 31 mkdir -p /home/vagrant/.kube/certs 32 33 cp "${certs_dir}/k8s-admin.pem" \ 34 "${certs_dir}/k8s-admin-key.pem" \ 35 "${certs_dir}/ca-k8s.pem" \ 36 /home/vagrant/.kube/certs 37 38 kubectl config set-cluster kubernetes-cilium \ 39 --certificate-authority=/home/vagrant/.kube/certs/ca-k8s.pem \ 40 --embed-certs=true \ 41 --server=https://${kubernetes_master}:6443 42 43 kubectl config set-credentials admin \ 44 --client-certificate=/home/vagrant/.kube/certs/k8s-admin.pem \ 45 --client-key=/home/vagrant/.kube/certs/k8s-admin-key.pem \ 46 --embed-certs=true 47 48 kubectl config set-context kubernetes-cilium \ 49 --cluster=kubernetes-cilium \ 50 --user=admin 51 52 kubectl config use-context kubernetes-cilium 53 54 sudo cp /root/.kube/config /home/vagrant/.kube/config 55 56 sudo chmod 755 /home/vagrant/.kube/config 57 58 sudo chown vagrant.vagrant -R /home/vagrant/.kube 59 60 until kubectl get componentstatuses 61 do 62 log "Waiting for kubectl to connect to api-server" 63 sleep 1s 64 done 65 66 kubectl get nodes 67 68 log "Installing kubernetes kubectl... DONE!"