K8S-Demo叢集實踐:安裝kubectl並配置叢集管理員賬戶
阿新 • • 發佈:2021-01-20
技術標籤:k8s-demokubernetes
K8S-Demo叢集實踐:安裝kubectl並配置叢集管理員賬戶
- kubectl是一個命令列工具,通過訪問apiserver的介面,對叢集進行操作管理
- k8s-demo有3個master節點和3個node節點,為了方便操作kubectl部署在3個master節點上
- 可以只部署在master1上,也可以部署在所有節點上,根據實際需要部署
一、下載kubectl
[[email protected] ~]# cd /opt/install/soft
[[email protected] ~]# wget https://dl.k8s.io/v1.18.5/kubernetes-client-linux-amd64.tar.gz
[[email protected] ~]# tar -xzvf kubernetes-client-linux-amd64.tar.gz
[[email protected] ~]# cd kubernetes/client/bin/
[[email protected] bin]# mv kubectl /opt/k8s/bin/
- 下載地址 https://kubernetes.io/docs/setup/release/notes
- k8s-demo使用 v1.18.5,後續會寫一篇更新到最新版本的文章(挖個坑先~)
二、把kubectl分發到3個master節點
[[email protected] ~]# cd /opt/k8s/bin/
[[email protected] bin]# for node_ip in ${MASTER_IPS[@]}
do
echo ">>> ${node_ip}"
scp kubectl [email protected]${node_ip}:/opt/k8s/bin/
ssh [email protected] ${node_ip} "chmod +x /opt/k8s/bin/*"
done
三、配置叢集管理員賬戶 kubeconfig
[[email protected] ~]# cd /opt/install/kubeconfig
## 設定叢集引數
[[email protected] kubeconfig]# kubectl config set-cluster k8s-demo \
--certificate-authority=/opt/install/cert/ca.pem \
--embed-certs=true \
--server=${KUBE_APISERVER} \
--kubeconfig=kubectl.kubeconfig
## 設定客戶端認證引數
[[email protected] kubeconfig]# kubectl config set-credentials k8s-demo-admin \
--client-certificate=/opt/install/cert/kubectl-admin.pem \
--client-key=/opt/install/cert/kubectl-admin-key.pem \
--embed-certs=true \
--kubeconfig=kubectl.kubeconfig
## 設定上下文引數 使用者名稱 k8s-demo-admin
[[email protected] kubeconfig]# kubectl config set-context k8s-demo-admin-ctx \
--cluster=k8s-demo \
--user=k8s-demo-admin \
--kubeconfig=kubectl.kubeconfig
## 設定預設上下文
[[email protected] kubeconfig]# kubectl config use-context k8s-demo-admin-ctx --kubeconfig=kubectl.kubeconfig
- /opt/install/kubeconfig 是臨時存放目錄
- –embed-certs=true:將 ca.pem 和 admin.pem 證書內容嵌入到生成的 kubectl.kubeconfig 檔案中,否則寫入的是證書檔案路徑後續拷貝 kubeconfig 到其它機器時,還需要單獨拷貝證書檔案,有點不方便
四、把kubeconfig分發到3個master節點
[[email protected] ~]# cd /opt/install/kubeconfig
[[email protected] kubeconfig]# for node_ip in ${MASTER_IPS[@]}
do
echo ">>> ${node_ip}"
ssh [email protected]${node_ip} "mkdir -p ~/.kube"
scp kubectl.kubeconfig [email protected]${node_ip}:~/.kube/config
done
- 先用起來,通過操作實踐認識k8s,積累多了自然就理解了
- 把理解的知識分享出來,自造福田,自得福緣
- 追求簡單,容易使人理解,知識的上下文也是知識的一部分,例如版本,時間等
- 歡迎留言交流,也可以提出問題,一般在週末回覆和完善文件
- [email protected] 2021-1-19。