通過前一章,我們已經在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:
- 包含了幾個主要內容
- cluster :集羣地址,授權信息信息等
- context :集羣上下文,將集羣和用戶關聯起來,這樣才能登錄並管理集羣
- 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,實現集羣的可視化管理。