本頁說明如何透過 SSH 連線至 Google Distributed Cloud 叢集節點。
本頁面適用於負責管理基礎技術架構生命週期的 IT 管理員和作業人員。如要進一步瞭解我們在 Google Cloud 內容中提及的常見角色和範例工作,請參閱「常見的 GKE Enterprise 使用者角色和工作」。
限制
叢集建立後,使用者和管理員叢集的 SSH 金鑰就無法變更或輪替。如果安全性政策規定必須定期輪替 SSH 金鑰,請重新建立叢集,以建立新的 SSH 金鑰。
事前準備
如要完成這些步驟,您需要使用者和管理員叢集的 kubeconfig
檔案位置。根據預設,這些檔案會儲存在您建立管理員和使用者叢集的目錄中。如要進一步瞭解 kubeconfig
,請參閱 GKE 說明文件中的「為 kubectl 設定叢集存取權」。
取得叢集節點的 IP 位址
取得使用者叢集節點的 IP 位址:
kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG] get nodes --output wide
其中 [USER_CLUSTER_KUBECONFIG] 是指使用者叢集 kubeconfig 檔案的路徑。
取得管理員叢集節點的 IP 位址:
kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get nodes --output wide
其中 [ADMIN_CLUSTER_KUBECONFIG] 是管理員叢集 kubeconfig 檔案的路徑。
請注意任一指令的 INTERNAL-IP
欄位。這些是節點 IP 位址。NAME
欄位包含使用者叢集的名稱,並附加專屬 ID。舉例來說,名為 my-user-cluster-12345678-abcdef
的節點屬於名為 my-user-cluster
的使用者叢集。
使用 SSH 連線至使用者叢集節點
取得使用者叢集的安全殼層金鑰:
kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get secrets -n [USER_CLUSTER_NAME] ssh-keys \ -o jsonpath='{.data.ssh\.key}' | base64 -d > \ ~/.ssh/[USER_CLUSTER_NAME].key && chmod 600 ~/.ssh/[USER_CLUSTER_NAME].key
其中:
[ADMIN_CLUSTER_KUBECONFIG] 是管理員叢集 kubeconfig 檔案的路徑。
[USER_CLUSTER_NAME] 是使用者叢集的名稱。您在建立使用者叢集時指定了這個名稱。
上述指令會執行下列步驟:
從管理叢集取得 [USER_CLUSTER_NAME] 命名空間中名為
ssh-keys
的 Secret 的ssh.key
欄位。以 Base64 解碼金鑰。
將解碼後的金鑰儲存在
~/.ssh/[USER_CLUSTER_NAME].key
檔案中。為金鑰檔案設定適當的存取權限。
使用金鑰透過 SSH 連線至使用者叢集節點:
ssh -i ~/.ssh/[USER_CLUSTER_NAME].key anthos@[USER_NODE_IP]
其中 [USER_NODE_IP] 是使用者叢集中節點的內部 IP 位址,您先前已收集該位址。
使用 SSH 連線至管理員叢集節點
取得管理員叢集的 SSH 金鑰:
kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get secrets -n kube-system sshkeys \ -o jsonpath='{.data.vsphere_tmp}' | base64 -d > \ ~/.ssh/admin-cluster.key && chmod 600 ~/.ssh/admin-cluster.key
其中 [ADMIN_CLUSTER_KUBECONFIG] 是管理員叢集的 kubeconfig 檔案路徑。
上述指令會執行下列步驟:
從管理叢集取得
kube-system
命名空間中名為sshkeys
的 Secret 的vsphere_tmp
欄位。將
vsphere_tmp
欄位 (即金鑰) 解碼為 Base64。將解碼後的金鑰儲存在
~/.ssh/admin-cluster.key
檔案中。為金鑰檔案設定適當的存取權限。
使用金鑰透過 SSH 連線至管理員叢集節點:
ssh -i ~/.ssh/admin-cluster.key anthos@[ADMIN_NODE_IP]
其中 [ADMIN_NODE_IP] 是您先前收集的管理員叢集節點內部 IP 位址。