https://www.vmware.com/products/vsphere.html.
背景介紹

vSphere with Kubernetes中有2層Kubernetes群集,如上圖所示。在基礎架構層(底層)稱(chēng)為“Supervisor Kubernetes群集”,服務(wù)層(上層)稱(chēng)為“ Tanzu Kubernetes群集”。兩個(gè)集群都有主(Master)節點(diǎn)和工作(Worker)節點(diǎn)。在某些情況下,出于調試或其他配置原因,您可能需要通過(guò)SSH協(xié)議訪(fǎng)問(wèn)這些節點(diǎn)。本文將通過(guò)實(shí)戰的方式,來(lái)一步步展示來(lái)如何獲取各個(gè)層次的不同節點(diǎn)的訪(fǎng)問(wèn)地址和秘鑰,主要包含下面兩個(gè)方面的內容:
- 如何訪(fǎng)問(wèn)Supervisor Kubernetes集群的節點(diǎn)
- 如何訪(fǎng)問(wèn)Tanzu Kubernetes集群的節點(diǎn)
- 配置好Supervisor Kubernetes集群。請參考:Config a Supervisor Cluster
- 創(chuàng )建并配置好Supervisor Kubernetes集群的命名空間。請參考:Configure Supervisor Cluster Namespaces.
- 下載并安裝好Kubernetes客戶(hù)端根據kubectl和vSphere的插件。請參考:Download and Install the Kubernetes CLI Tools for vSphere
- 在命名空間里創(chuàng )建一個(gè)或多個(gè)Tanzu Kubernetes 集群。請參考:How to Create Tanzu Kubernetes Clusters.
訪(fǎng)問(wèn)Supervisor Kubernetes集群的節點(diǎn)
有兩種獲取Supervisor群集的節點(diǎn)名稱(chēng)和IP地址的方法。一種是通過(guò)vCenter Server Client控制臺,另一種是通過(guò)“ kubectl”命令。
- 通過(guò)kubectl命令,以數據中心管理員的身份登錄Supervisor 集群。
- 通過(guò)下面的命令來(lái)獲得Supervisor群集各個(gè)節點(diǎn)的訪(fǎng)問(wèn)地址:
- 訪(fǎng)問(wèn)Supervisor群集中的Worker節點(diǎn)
Supervisor群集中的Worker節點(diǎn)是上面輸出的最后三行。它們不是虛擬機,而是Esxi主機,這是vSphere with Kubernetes的最大的賣(mài)點(diǎn)之一。主機名和IP地址可在管理網(wǎng)絡(luò )中訪(fǎng)問(wèn),而數據中心管理員應該知道這些主機的密碼。
4、Master節點(diǎn)是上述示例輸出中的前三行。Master的節點(diǎn)名稱(chēng)是長(cháng)數字字符串,此處顯示的IP地址是私有的IP地址,在管理網(wǎng)絡(luò )中不可訪(fǎng)問(wèn)。您可以從vCenter Server客戶(hù)端中獲取Master節點(diǎn)的更有意義的名稱(chēng)和可訪(fǎng)問(wèn)的IP地址。如下圖所示,在vCenter Server控制臺中,Supervisor群集的Master節點(diǎn)稱(chēng)為“ SupervisorControlPlanVM”,我們還可以獲得可在管理網(wǎng)絡(luò )中訪(fǎng)問(wèn)的網(wǎng)絡(luò )接口。現在的問(wèn)題是我們不知道訪(fǎng)問(wèn)這些主節點(diǎn)的密碼:

5、為了獲得Supervisor群集中的Master節點(diǎn)的密碼,我們先要登錄到vCenter Server的虛機中。通常來(lái)說(shuō),數據中心管理員應該會(huì )擁有vCenter Server的root用戶(hù)的密碼。先用root用戶(hù)通過(guò)SSH登錄vCenter Server,還需要運行一段腳本,才能獲得我們所需要的密碼:
通過(guò)上面的密碼,可以用root用戶(hù)訪(fǎng)問(wèn)任意的一個(gè)Master節點(diǎn)。
訪(fǎng)問(wèn)Tanzu Kubernetes集群的節點(diǎn)
- 通過(guò)kubectl命令,以數據中心管理員或者Namespace管理員的身份登錄Supervisor 集群。
- 在Tanzu集群所在的命名空間里查看秘鑰的信息,可以通過(guò)以下命令獲得有關(guān)Tanzu集群跟SSH登錄相關(guān)的秘鑰信息,記住這個(gè)secret的名字,在下面的例子輸出中是“my-tanzu-cluster-ssh”。
- 查看Tanzu集群的節點(diǎn)信息和IP地址
- 上面輸出的IP地址是內網(wǎng)的私有地址,我們從管理網(wǎng)絡(luò )段是無(wú)法訪(fǎng)問(wèn)的,因此我們需要一個(gè)跳板機。事實(shí)上在上節中,Supervisor集群的Master節點(diǎn)可以作為跳板機。但這樣做比較麻煩,需要較多的步驟。下面的方法可以通過(guò)kubectl創(chuàng )建一個(gè)跳板機,并且將訪(fǎng)問(wèn)Tanzu集群節點(diǎn)的私鑰也一起放在跳板機里,就可以方便的訪(fǎng)問(wèn)Tanzu集群中的各個(gè)節點(diǎn):
- 部署這個(gè)跳板機,并且通過(guò)系統用戶(hù)”vmware-system-user”和預制的SSH私鑰去連接Tanzu集群的各個(gè)節點(diǎn):
總結
在各種開(kāi)發(fā)部署的環(huán)境下,總有一些場(chǎng)景需要登錄到Master或Worker節點(diǎn)中,去查看日志信息,服務(wù)狀態(tài),甚至需要修改配置文件。本文通過(guò)一步步操作來(lái)說(shuō)明如何來(lái)完成這些任務(wù)。