簡體   English   中英

SSH 到 Azure 的 Kubernetes 托管主節點

[英]SSH to Azure's Kubernetes managed master node

我剛剛使用 Azure 容器服務部署了一個托管的 Kubernetes 集群。 我的部署包括托管群集上的單個代理計算機和附加到它的 Azure 磁盤用於持久存儲。

我面臨的問題是我不知道如何 ssh 這個代理服務器。 我讀到您應該能夠 ssh 主節點並從那里連接到代理,但是當我使用托管的 Kubernetes 主節點時,我找不到這樣做的方法。

任何的想法? 先感謝您。

我面臨的問題是我不知道如何 ssh 這個代理服務器。

你的意思是你創建了 AKS 並且找不到主 VM?

如果我理解正確的話,這是一個由設計行為,AKS提供直接訪問(如用SSH)到集群。

如果您想通過 SSH 連接到代理節點,作為一種解決方法,我們可以創建一個公共 IP 地址並將此公共 IP 地址關聯到代理的網卡,然后我們就可以通過 SSH 連接到該代理。

這是我的步驟:

1. 通過 Azure 門戶創建公共 IP 地址:

在此處輸入圖片說明

2. 將公共 IP 地址關聯到代理 VM 的 NIC:

在此處輸入圖片說明

3. 使用此公共 IP 地址通過SSH連接到此 VM:

在此處輸入圖片說明

注意:

默認情況下,我們在嘗試創建 AKS 時可以找到 ssh 密鑰,如下所示:

在此處輸入圖片說明

基本上,您甚至不必為該節點創建公共 IP。 只需使用 Azure CLI 將公共 ssh 密鑰添加到所需節點:

az vm user update --resource-group <NODE_RG> --name <NODE_NAME> --username azureuser --ssh-key-value ~/.ssh/id_rsa.pub

然后運行臨時 pod(不要忘記在 kubernetes 配置中切換到所需的命名空間):

kubectl run -it --rm aks-ssh --image=debian

將私有 ssh 密鑰復制到該 pod:

kubectl cp ~/.ssh/id_rsa <POD_NAME>:/id_rsa

最后,從 pod 連接到 AKS 節點到私有 IP:

ssh -i id_rsa azureuser@<NODE_PRIVATE_IP>

這樣,您不必為公共 IP 付費,此外,從安全角度來看,這也很好。

最簡單的方法是使用下面的,這將在節點上創建一個很小的 ​​priv pod 並使用 nsenter 訪問節點。

https://github.com/mohatb/kubectl-wls

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM