次の方法で共有


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

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

前提条件

  • Arc に接続する前に、サブスクリプションの所有者または共同作成者ロールであるインフラストラクチャ管理者は、次の操作を行う必要があります。
    1. Microsoft.HybridComputeMicrosoft.GuestConfigurationMicrosoft.HybridConnectivityMicrosoft.KubernetesMicrosoft.ExtendedLocationMicrosoft.KubernetesConfiguration など、Azure サブスクリプションで必要なすべてのリソース プロバイダーを有効にします
    2. AKS Edge Essentials Azure リソースのリソース グループを作成して確認します。
  • Arc に接続するには、Kubernetes オペレーターには、リソース グループ レベルでの ID の Kbernetes Cluster - Azure Arc Onboarding ロールが必要です。 Arc から切断するには、オペレーターには、リソース グループ レベルの ID に対する Azure Kubernetes Service Arc 共同作成者ロール ロールが必要です。 アクセス レベルを確認するには、Azure portal でサブスクリプションに移動し、左側の Access control (IAM) を選択し、 [アクセスの表示] を選択します。 リソース グループ 管理の詳細については Azure のドキュメントを参照してください。 所有者ロールまたは共同作成者ロールを持つインフラストラクチャ管理者は、Arc に接続したり Arc から切断したりするアクションを実行することもできます。
  • これらの前提条件に加えて、Azure Arc 対応 Kubernetes の network 要件をすべて満たしていることを確認

Note

リソース グループ内のリソースを削除できるようにするには、 Contributor ロールが必要です。 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 環境からサービス プリンシパルを削除する必要があります。
Attribute 値の型 説明
ClusterName string ご利用のクラスターの名前。 既定値は hostname_cluster です。
Location string リソース グループの場所。 デプロイに最も近い場所を選びます。
SubscriptionId GUID サブスクリプション ID。 Azure portal で、使用しているサブスクリプションを選択し、サブスクリプション ID 文字列をコピーして JSON に貼り付けます。
TenantId GUID テナント ID。 Azure portal で Microsoft Entra ID を検索すると、 Default Directory ページに移動します。 ここから、テナント ID 文字列をコピーして JSON に貼り付けることができます。
ResourceGroupName string AKS Edge Essentials 用の Azure リソースをホストする Azure リソース グループの名前。 既存のリソース グループを使用するか、新しい名前を追加すると、自動的に作成されます。
ClientId GUID 資格情報として使う Azure サービス プリンシパルのアプリケーション ID を指定します。 AKS Edge Essentials では、このサービス プリンシパルを使用してクラスターを Arc に接続します。Azure portal の Microsoft Entra リソース ページの App Registrations ページを使用して、テナント内のサービス プリンシパルを一覧表示および管理できます。 サービス プリンシパルには、サブスクリプションレベルまたはリソース グループ レベルで Kubernetes Cluster - Azure Arc Onboarding ロールが必要であることに注意してください。 詳細については、「 Microsoft Entra id requirements for service principalsを参照してください。
ClientSecret string サービス プリンシパルのパスワード。

Note

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

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

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

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

Note

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

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

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

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

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

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

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

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

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

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

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

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

    kubectl get pods --all-namespaces
    

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

Arc から切断する

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

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

次のステップ