1. 程式人生 > 其它 >K8S-Demo叢集實踐:安裝kubectl並配置叢集管理員賬戶

K8S-Demo叢集實踐:安裝kubectl並配置叢集管理員賬戶

技術標籤: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。