Hyper-V下搭建K8S集羣-06-在本地管理遠程k8s集羣

通過前一章,我們已經在win10的hyper-v裏搭建了一個k8s集羣,一個master,一個node1,雖然可以通過ssh遠程連接到master來管理集羣,但還是多了這一步,不方便。另外也不方便訪問win10 host中的文件。這一章,我們在本地配置集羣管理工具,來訪問我們前面部署好的集羣。

1.在本機win10 host安裝k8s管理工具,用它來遠程管理k8s集羣

choco install kubernetes-cli
  • 查看安裝結果

   

2.本機可以管理多個k8s集羣,這些集羣的配置信息存儲在本機config文件中

  • 管理集羣,需要知道集羣的ip、端口、用戶、證書信息,配置一次,存儲在本地
C:\Users\<UserName>\.kube\config
  •  不同的集羣,通過不同的context上下文來區分,我們可以查看所有上下文
kubectl config get-contexts
  • 我本機裝了DockerDesktop,已經有了一個集羣 

  

3.本地集羣管理的config構成

  • 配置新的集羣之前,我的config是這樣的
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: 
    server: https://kubernetes.docker.internal:6443
  name: docker-desktop
contexts:
- context:
    cluster: docker-desktop
    user: docker-desktop
  name: docker-desktop
current-context: docker-desktop
kind: Config
preferences: {}
users:
- name: docker-desktop
  user:
    client-certificate-data: 
    client-key-data: 
  • 包含了幾個主要內容
  1. cluster   :集羣地址,授權信息信息等
  2. context  :集羣上下文,將集羣和用戶關聯起來,這樣才能登錄並管理集羣
  3. user       :集羣的用戶信息

4.增加一個集羣,也就是在配置文件中增加一套上述的三個關鍵內容

  • 登錄master節點,拿到要增加的集羣信息,這裏使用admin用戶來登錄集羣
ssh [email protected]
cat /etc/kubernetes/admin.conf
  • 把admin.conf文件中的內容摘抄到本地config中,去掉證書敏感數據後,結果如下:
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: 
    server: https://kubernetes.docker.internal:6443
  name: docker-desktop
- cluster:
    certificate-authority-data: 
    server: https://192.168.137.2:6443
  name: hyper-k8s
- cluster:
    server: htts://192.168.137.2
  name: test
contexts:
- context:
    cluster: docker-desktop
    user: docker-desktop
  name: docker-desktop
- context:
    cluster: hyper-k8s
    user: hyper-k8s-admin
  name: hyper-k8s
current-context: hyper-k8s
kind: Config
preferences: {}
users:
- name: docker-desktop
  user:
    client-certificate-data: 
    client-key-data:
- name: hyper-k8s-admin
  user:
    client-certificate-data: 
    client-key-data:
  • 也可以使用命令完成集羣上下文的配置

   

5.管理本地存儲的所有集羣上下文

  • 查看所有上下文
kubectl config get-contexts
  • 管理hyper-k8s集羣,所必要的信息已經有了 

  

6.在本地管理遠端hyper-k8s集羣

  • 當前集羣切換爲hyper-k8s集羣
config use-context hyper-k8s
  • 帶*的就是當前集羣

  

  • 這樣就可以在本地管理hyper-k8s集羣了
kubectl get nodes

   

下一篇,我們在本地給這個集羣遠程安裝DashBoard,實現集羣的可視化管理。

上一篇  下一篇

發佈了405 篇原創文章 · 獲贊 134 · 訪問量 298萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章