Kubernetes容器集群kubectl管理工具遠程管理集群(七)


概述

kubectl是k8s的客戶端程序,也是k8s的命令行工具,kubectl提供了大量的子命令可以讓用戶和集群進行交互。

kubectl不一定部署在master上。用戶通過kubectl連接到master上然后將命令通過master分發到集群的node節點上。

默認情況下是連接本地的apiserver 統一集群入口

 

使用https連接集群

默認情況下,kubectl使用非安全http協議連接本地apiserver的8080非安全端口: 

[root@master ~]# kubectl -s 127.0.0.1:8080 get node
NAME            STATUS    ROLES     AGE       VERSION
192.168.1.102   Ready     <none>    18h       v1.9.2
192.168.1.103   Ready     <none>    17h       v1.9.2

 

現在使用https端口(6443)連接集群,方如如下:

1.將master端的kubectl客戶端工具放到其中一台節點

   [root@master ~]# scp /opt/kubernetes/bin/kubectl root@192.168.1.103:/usr/local/bin/

2.將master端的admin證書傳到一台節點,
   admin證書主要用於客戶端工作管理集群

    [root@master ssl]# scp admin*.pem root@192.168.1.103:/root
    [root@node2 ssl]# cp ca.pem /root/

3.生成kubectl配置文件
    
    kubectl config set-cluster kubernetes --server=https://192.168.1.101:6443 --certificate-authority=ca.pem
     這步完成后會在當前目錄下創建一個隱藏文件./kube目錄,在其中生成一個config文件,

4.設置用戶項中cluster-admin用戶證書認證字段

   kubectl config set-credentials cluster-admin --certificate-authority=ca.pem --client-key=admin-key.pem --client-certificate=admin.pem

5.設置環境中的默認上下文件
    
    kubectl config set-context default --cluster=kubernetes --user=cluster-admin

6.設置當前環境的default
    
    [root@node2 ~]# kubectl config use-context default

7. 查看Node節點
    [root@node2 ~]# kubectl get node

后面就是通過當前環境下的config來操作集群

[root@node2 ~]# cat .kube/config 
apiVersion: v1
clusters:
- cluster:
    certificate-authority: /root/ca.pem
    server: https://192.168.1.101:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: cluster-admin
  name: default
current-context: default
kind: Config
preferences: {}
users:
- name: cluster-admin
  user:
    client-certificate: /root/admin.pem
    client-key: /root/admin-key.pem

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM