この記事では、PowerShellを使用して、Azure Kubernetes Service(AKS)クラスター内の特定のポッドに接続する方法について説明します。
Azure Kubernetes Service(AKS)内の特定のポッドに接続するには、以下の手順を実施することを検討してください。
- 以下の記事に記載されている内容に従って、Azure Az PowerShellモジュールをインストールします。
https://learn.microsoft.com/ja-jp/powershell/azure/new-azureps-module-az?view=azps-11.1.0
- Windows PowerShellを管理者権限で実行します。
- az login コマンドを実行します。
ブラウザを使用してAzureへの接続を認証するためのプロンプトが提示されます。
- Azureポータルを使用して、接続しようとしているリソース(Kubernetesサービス)を探します。
特定のディレクトリにアクセスするために、ID(アカウント)を変更しなければならない場合があります。詳細につきましては、以下をご参照下さい。
https://learn.microsoft.com/ja-jp/azure/devtest/offer/how-to-change-directory-tenants-visual-studio-azure
- 接続(Connect)をクリックし、次にPowerShellを使用して推奨されているコマンドを実行します。例:
az account set --subscription <サブスクリプションID>
az aks get-credentials --resource-group <リソース グループ名> --name <aks名>
これにより以降のコマンド全てに対する現在のAzureリソース グループが設定されるため、この手順が非常に重要です。
- 以下のPowerShellコマンドを実行し、全てのデプロイを表示して、必要な名前空間を探します。
kubectl get deployments --all-namespaces=true
- 見つけた名前空間とラベルを使用して、ポッド名を識別します。例:
kubectl get pods -l app.kubernetes.io/name=cm -namespace <名前空間>
最後に、特定のポッドのコンテキストでPowerShellセッションを実行するために、以下のコマンドを実行します。
kubectl exec -it <ポッド名> -namespace <名前空間> -- powershell