次の方法で共有


AKS Edge Essentials クラスターを Arc に接続する

この記事では、Azure portalでクラスターの正常性を監視できるように、AKS Edge Essentials クラスターを Azure Arc に接続する方法について説明します。 クラスターがプロキシに接続されている場合は、GitHub リポジトリで提供されているスクリプトを使用して、こちらの説明に従ってクラスターを Arc に接続できます。

前提条件

  • 所有者ロール、または共同作成者ロールとユーザー アクセス管理者ロールの組み合わせを持つ Azure サブスクリプションが必要です。 アクセス レベルをチェックするには、Azure portalでサブスクリプションに移動し、Azure portalの左側にある [アクセス制御 (IAM)] を選択し、[アクセスの表示] を選択します。 リソース グループの管理の詳細については、 Azure のドキュメントを参照してください
  • Microsoft.HybridComputeMicrosoft.GuestConfiguration、Microsoft.HybridConnectivityMicrosoft.KubernetesMicrosoft.ExtendedLocationMicrosoft.KubernetesConfiguration など、Azure サブスクリプションで必要なすべてのリソース プロバイダーを有効にします。
  • AKS Edge Essentials Azure リソースのリソース グループをCreateして確認します。

注意

リソース グループ内のリソースを削除できるようにするには、 共同作成者 ロールが必要です。 このロールを割り当てなければ、Arc から切断するコマンドは失敗します。

手順 1: マシンを構成する

依存関係のインストール

管理者特権の PowerShell ウィンドウで次のコマンドを実行して、PowerShell に依存関係をインストールします。

Install-Module Az.Resources -Repository PSGallery -Force -AllowClobber -ErrorAction Stop  
Install-Module Az.Accounts -Repository PSGallery -Force -AllowClobber -ErrorAction Stop 
Install-Module Az.ConnectedKubernetes -Repository PSGallery -Force -AllowClobber -ErrorAction Stop  

手順 2: Azure 環境を構成する

次の表で説明するように、 aksedge-config.json ファイル Arc の セクションで Azure サブスクリプションの詳細を指定します。 Azure Arc 対応 kubernetes を使用して Azure に正常に接続するには、Azure 上のリソースにアクセスするために、 が組み込まれた Microsoft.Kubernetes connected cluster role サービス プリンシパルが必要です。 サービス プリンシパル ID とパスワードが既にある場合は、 aksedge-config.json ファイル内のすべてのフィールドを更新できます。 サービス プリンシパルを作成する必要がある場合は、 こちらの手順に従うことができます

重要

クライアント シークレットは、パスワードの形式です。 適切な管理は、環境のセキュリティにとって重要です。

  • クライアント シークレットを作成するときは、デプロイの登録のタイミングとスコープに基づいて、非常に短い有効期限を設定します。
  • クライアント シークレットの値と構成ファイルを一般的なアクセスから保護してください。
  • クライアント シークレットが格納されている間にクラスターの構成ファイルがバックアップされている場合、そのクライアント シークレットはバックアップにアクセスできるすべてのユーザーが使用できます。
  • クラスターを登録したら、そのクラスターの構成ファイルからクライアント シークレットを削除します。
  • タスクのスコープ内のすべてのクラスターを登録したら、クライアント シークレットをローテーションするか、Microsoft Entra ID環境からサービス プリンシパルを削除する必要があります。
属性 値の型 説明
ClusterName string クラスターの名前を指定します。 既定値は hostname_cluster です。
Location string リソース グループの場所。 デプロイに最も近い場所を選択します。
SubscriptionId GUID サブスクリプション ID。 Azure portalで、使用しているサブスクリプションを選択し、サブスクリプション ID 文字列をコピーして JSON に貼り付けます。
TenantId GUID テナント ID。 Azure portalで、Microsoft Entra IDを検索します。これにより、[既定のディレクトリ] ページに移動します。 ここから、テナント ID 文字列をコピーして JSON に貼り付けることができます。
ResourceGroupName string AKS Edge Essentialsの Azure リソースをホストする Azure リソース グループの名前。 既存のリソース グループを使用するか、新しい名前を追加すると、システムによって自動的に作成されます。
ClientId GUID 資格情報として使用する Azure サービス プリンシパルのアプリケーション ID を指定します。 AKS Edge Essentialsでは、このサービス プリンシパルを使用してクラスターを Arc に接続します。Azure portalの [Microsoft Entra リソース] ページの [アプリの登録] ページを使用して、テナント内のサービス プリンシパルを一覧表示および管理できます。 サービス プリンシパルには、サブスクリプションレベルまたはリソース グループ レベルで Kubernetes Cluster - Azure Arc Onboarding ロールが必要であることに注意してください。 詳細については、「サービス プリンシパルの ID 要件をMicrosoft Entraする」を参照してください。
ClientSecret string サービス プリンシパルのパスワードを指定します。

注意

この構成は、Azure サブスクリプションごとに 1 回だけ実行する必要があります。 Kubernetes クラスターごとに手順を繰り返す必要はありません。

手順 3: クラスターを Arc に接続する

を実行 Connect-AksEdgeArc して、既存のクラスターをインストールし、Arc 対応 Kubernetes に接続します。

# Connect Arc-enabled kubernetes
Connect-AksEdgeArc -JsonConfigFilePath .\aksedge-config.json

注意

この手順には最大 10 分かかる場合があり、PowerShell が your cluster nameAzure Connected Kubernetes の確立で停止する可能性があります。 PowerShell は、プロセスの完了時にプロンプトを出力 True し、プロンプトに戻ります。

Arc への接続中の PowerShell プロンプトを示すスクリーンショット。

手順 4: Azure で AKS Edge Essentials リソースを表示する

  1. プロセスが完了したら、リソース グループに移動すると、Azure portalでクラスターを表示できます。

    Azure portal内のクラスターを示すスクリーンショット。

  2. 左側のパネルで、[ 名前空間 ] オプションの [ Kubernetes リソース (プレビュー)] を選択します。

    Kubernetes リソースのプレビュー。

  3. Kubernetes リソースを表示するには、ベアラー トークンが必要です。

    ベアラー トークンが必要なページを示すスクリーンショット。

  4. を実行 Get-AksEdgeManagedServiceToken して、サービス トークンを取得することもできます。

    ポータルでトークンを貼り付ける場所を示すスクリーンショット。

  5. これで、クラスター上のリソースを表示できます。 [ワークロード] オプションには、クラスターで実行されているポッドが表示されます。

    kubectl get pods --all-namespaces
    

    Arc 内のすべてのポッドを示すスクリーンショット。

Arc から切断する

を実行 Disconnect-AksEdgeArc して、Arc 対応 Kubernetes から切断します。

# Disconnect Arc-enabled kubernetes
Disconnect-AksEdgeArc -JsonConfigFilePath .\aksedge-config.json

次のステップ