前提:
安裝kubelet工具,參考:https://jimmysong.io/kubernetes-handbook/practice/kubectl-installation.html
如遇科學上網問題請自行解決。
推薦國外vps服務器:https://www.vultr.com/?ref=7294723,2.5美元一個月,很優惠,很好用,不懂的問我qq402151718
安裝並賦予可執行權限,繼續進行操作:
1、創建TLS bootstrapping Token,即token.csv文件
export BOOTSTRAP_TOKEN=$(head -c 16 /dev/urandom | od -An -t x | tr -d ' ') cat > token.csv <<EOF ${BOOTSTRAP_TOKEN},kubelet-bootstrap,10001,"system:kubelet-bootstrap" EOF
注意事項:
- 更新 token.csv 文件,分發到所有機器 (master 和 node)的 /etc/kubernetes/ 目錄下,分發到node節點上非必需;
- 重新生成 bootstrap.kubeconfig 文件,分發到所有 node 機器的 /etc/kubernetes/ 目錄下;
- 重啟 kube-apiserver 和 kubelet 進程;
- 重新 approve kubelet 的 csr 請求;
拷貝文件到配置文件夾
cp token.csv /etc/kubernetes
2、創建kubelet(node節點)要用的bootstrap.kubeconfig文件
注意:以下都是一條條執行的命令,不是復制這些代碼到文件里。。。注意。。有網友已經錯誤的這樣做了。
cd /etc/kubernetes export KUBE_APISERVER="https://10.10.90.105:6443" # 設置集群參數 kubectl config set-cluster kubernetes \ --certificate-authority=/etc/kubernetes/ssl/ca.pem \ --embed-certs=true \ --server=${KUBE_APISERVER} \ --kubeconfig=bootstrap.kubeconfig # 設置客戶端認證參數 kubectl config set-credentials kubelet-bootstrap \ --token=${BOOTSTRAP_TOKEN} \ --kubeconfig=bootstrap.kubeconfig # 設置上下文參數 kubectl config set-context default \ --cluster=kubernetes \ --user=kubelet-bootstrap \ --kubeconfig=bootstrap.kubeconfig # 設置默認上下文 kubectl config use-context default --kubeconfig=bootstrap.kubeconfig
3、創建節點要用的kube-proxy.kubeconfig文件
export KUBE_APISERVER="https://10.10.90.105:6443" # 設置集群參數 kubectl config set-cluster kubernetes \ --certificate-authority=/etc/kubernetes/ssl/ca.pem \ --embed-certs=true \ --server=${KUBE_APISERVER} \ --kubeconfig=kube-proxy.kubeconfig # 設置客戶端認證參數 kubectl config set-credentials kube-proxy \ --client-certificate=/etc/kubernetes/ssl/kube-proxy.pem \ --client-key=/etc/kubernetes/ssl/kube-proxy-key.pem \ --embed-certs=true \ --kubeconfig=kube-proxy.kubeconfig # 設置上下文參數 kubectl config set-context default \ --cluster=kubernetes \ --user=kube-proxy \ --kubeconfig=kube-proxy.kubeconfig # 設置默認上下文 kubectl config use-context default --kubeconfig=kube-proxy.kubeconfig
4、分發文件
將兩個 kubeconfig 文件分發到所有 Node 機器的 /etc/kubernetes/
目錄,本機就是生產的那些
scp bootstrap.kubeconfig kube-proxy.kubeconfig root@10.10.90.106:/etc/kubernetes/
scp bootstrap.kubeconfig kube-proxy.kubeconfig root@10.10.90.107:/etc/kubernetes/