https://www.vmware.com/products/vsphere.html.
背景介紹
vSphere with Kubernetes中有2層Kubernetes群集,如上圖所示。在基礎(chǔ)架構(gòu)層(底層)稱為“Supervisor Kubernetes群集”,服務(wù)層(上層)稱為“ Tanzu Kubernetes群集”。兩個集群都有主(Master)節(jié)點和工作(Worker)節(jié)點。在某些情況下,出于調(diào)試或其他配置原因,您可能需要通過SSH協(xié)議訪問這些節(jié)點。本文將通過實戰(zhàn)的方式,來一步步展示來如何獲取各個層次的不同節(jié)點的訪問地址和秘鑰,主要包含下面兩個方面的內(nèi)容:
- 如何訪問Supervisor Kubernetes集群的節(jié)點
- 如何訪問Tanzu Kubernetes集群的節(jié)點
- 配置好Supervisor Kubernetes集群。請參考:Config a Supervisor Cluster
- 創(chuàng)建并配置好Supervisor Kubernetes集群的命名空間。請參考:Configure Supervisor Cluster Namespaces.
- 下載并安裝好Kubernetes客戶端根據(jù)kubectl和vSphere的插件。請參考:Download and Install the Kubernetes CLI Tools for vSphere
- 在命名空間里創(chuàng)建一個或多個Tanzu Kubernetes 集群。請參考:How to Create Tanzu Kubernetes Clusters.
訪問Supervisor Kubernetes集群的節(jié)點
有兩種獲取Supervisor群集的節(jié)點名稱和IP地址的方法。一種是通過vCenter Server Client控制臺,另一種是通過“ kubectl”命令。
- 通過kubectl命令,以數(shù)據(jù)中心管理員的身份登錄Supervisor 集群。
- 通過下面的命令來獲得Supervisor群集各個節(jié)點的訪問地址:
- 訪問Supervisor群集中的Worker節(jié)點
Supervisor群集中的Worker節(jié)點是上面輸出的最后三行。它們不是虛擬機,而是Esxi主機,這是vSphere with Kubernetes的最大的賣點之一。主機名和IP地址可在管理網(wǎng)絡(luò)中訪問,而數(shù)據(jù)中心管理員應(yīng)該知道這些主機的密碼。
4、Master節(jié)點是上述示例輸出中的前三行。Master的節(jié)點名稱是長數(shù)字字符串,此處顯示的IP地址是私有的IP地址,在管理網(wǎng)絡(luò)中不可訪問。您可以從vCenter Server客戶端中獲取Master節(jié)點的更有意義的名稱和可訪問的IP地址。如下圖所示,在vCenter Server控制臺中,Supervisor群集的Master節(jié)點稱為“ SupervisorControlPlanVM”,我們還可以獲得可在管理網(wǎng)絡(luò)中訪問的網(wǎng)絡(luò)接口。現(xiàn)在的問題是我們不知道訪問這些主節(jié)點的密碼:
5、為了獲得Supervisor群集中的Master節(jié)點的密碼,我們先要登錄到vCenter Server的虛機中。通常來說,數(shù)據(jù)中心管理員應(yīng)該會擁有vCenter Server的root用戶的密碼。先用root用戶通過SSH登錄vCenter Server,還需要運行一段腳本,才能獲得我們所需要的密碼:
通過上面的密碼,可以用root用戶訪問任意的一個Master節(jié)點。
訪問Tanzu Kubernetes集群的節(jié)點
- 通過kubectl命令,以數(shù)據(jù)中心管理員或者Namespace管理員的身份登錄Supervisor 集群。
- 在Tanzu集群所在的命名空間里查看秘鑰的信息,可以通過以下命令獲得有關(guān)Tanzu集群跟SSH登錄相關(guān)的秘鑰信息,記住這個secret的名字,在下面的例子輸出中是“my-tanzu-cluster-ssh”。
- 查看Tanzu集群的節(jié)點信息和IP地址
- 上面輸出的IP地址是內(nèi)網(wǎng)的私有地址,我們從管理網(wǎng)絡(luò)段是無法訪問的,因此我們需要一個跳板機。事實上在上節(jié)中,Supervisor集群的Master節(jié)點可以作為跳板機。但這樣做比較麻煩,需要較多的步驟。下面的方法可以通過kubectl創(chuàng)建一個跳板機,并且將訪問Tanzu集群節(jié)點的私鑰也一起放在跳板機里,就可以方便的訪問Tanzu集群中的各個節(jié)點:
- 部署這個跳板機,并且通過系統(tǒng)用戶”vmware-system-user”和預(yù)制的SSH私鑰去連接Tanzu集群的各個節(jié)點:
總結(jié)
在各種開發(fā)部署的環(huán)境下,總有一些場景需要登錄到Master或Worker節(jié)點中,去查看日志信息,服務(wù)狀態(tài),甚至需要修改配置文件。本文通過一步步操作來說明如何來完成這些任務(wù)。