AKSの特定のポッドに接続する方法


概要

この記事では、PowerShellを使用して、Azure Kubernetes Service(AKS)クラスター内の特定のポッドに接続する方法について説明します。

解決策

Azure Kubernetes Service(AKS)内の特定のポッドに接続するには、以下の手順を実施することを検討してください。

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

 

最後に、特定のポッドのコンテキストでPowerShellセッションを実行するために、以下のコマンドを実行します。

kubectl exec -it <ポッド名> -namespace <名前空間> -- powershell