Azure AKS でノードに SSH ログインする

 
デバッグ対応でちょっと SSH で入る必要あったのでメモ。

デフォルトで AKS は SSH が有効化されてない。
という訳で以下手順。

preview 機能を追加してない場合は追加する。

az extension add --name aks-preview
az extension update --name aks-preview
az feature register --namespace "Microsoft.ContainerService" --name "DisableSSHPreview"
az feature show --namespace "Microsoft.ContainerService" --name "DisableSSHPreview"
#上記 show の結果が "Registered" になったら進む
az provider register --namespace Microsoft.ContainerService

そしたら稼働中の AKS ノードに pubkey を追加する

az aks update --name myAKSCluster --resource-group MyResourceGroup --ssh-key-value ~/.ssh/id_rsa.pub

AKS ノードのイメージを更新する

az aks upgrade --resource-group <resource-group> --name <cluster-name> --node-image-only

AKS ノード (nodepool0) の SSH を有効化する

az aks nodepool update --cluster-name myManagedCluster --name nodepool0 --resource-group myResourceGroup --ssh-access localuser

これで、数分するとSSHでアクセス出来るようになった。

参考URL
Azure Kubernetes Service (AKS) ノードへのセキュリティで保護されたアクセスのために SSH を管理する
Azure Kubernetes Service (AKS) ノード イメージのアップグレード