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

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

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