How to ssh AKS Service

Ian Chen
playtech
Published in
Dec 16, 2023

--

Azure Kubernetes Service(AKS)是由微軟提供的PaaS容器服務,可以簡化在雲端環境中部署、管理和擴展基於容器的應用程式。開發者可以快速部署並管理容器化應用,而不用擔心底層基礎設施的複雜性。做為一個PaaS服務,AKS 自動處理許多繁瑣的管理任務,例如 Kubernetes 主節點的維護、升級和擴展,使得開發者可以專注於開發和部署應用。

PaaS服務這也意謂著會犧牲了管理上的一些權限,例如AKS雖然背後還是建立了VM做為節點(node)來部署容器化服務,但它並不能讓管理者可以直接管理這些VM節點。

那麼如果要管理或操作 AKS 上的 Pod 呢?首先你可以透過 Azure Portal 介面去處理,但對於習慣 kubectl 指令操作的來說,會不如直接下kubectl來的方便,AKS 對於這部份還是保留著可以透過 ssh 方式連結 AKS 服務進行kubectl 的操作,只不過你得先驗明正身,以下就簡單說明如何實現它。

Step 1 安裝Azure CLI : 確保你本機已安裝 Azure CLI,因為接下來我們必須使用Azure CLI取得憑證(credential)。安裝指南請見官方文件

Step 2 登入:執行以下 az cli 指令進行azure login

az login

Step 3 登入取得憑證(credential) : 執行以下 az cli 指令取得 aks 服務的憑證,前題是你的 Azure Account 必須具有管理這個AKS的權限

az aks get-credentials --resource-group ${AZURE_RESOURCE_GROUP} --name ${AKS_CLUSTER_NAME}

Step 4 Kubectl:上一個步驟如果有順利取得 credential ,那麼接下來就可以從本機進行 Kubectl 的操作,可以試著執行取得 node 的指令看看是否能順利取得 node 清單

kubectl get nodes

透過以上簡單的幾個步驟就能輕鬆由本機電腦透過 Kubectl 指令操作 AKS 上的 Pod 服務,個人認為比起 Azure Portal 介面來說,方便許多。

--

--

Ian Chen
playtech

Microsoft MVP / Microsoft Certified Trainer(MCT)