AKS Edge Essentials クラスターを Arc に接続する
この記事では、Azure portal でクラスターの正常性を監視できるように、AKS Edge Essentials クラスターを Azure Arc に接続する方法について説明します。 クラスターがプロキシに接続されている場合は、GitHub リポジトリに用意されているスクリプトを使用して、クラスターを Arc に接続できます。
前提条件
- Arc に接続する前に、サブスクリプションの所有者または共同作成者ロールであるインフラストラクチャ管理者は、次の操作を行う必要があります。
- Microsoft.HybridCompute、Microsoft.GuestConfiguration、Microsoft.HybridConnectivity、Microsoft.Kubernetes、Microsoft.ExtendedLocation、Microsoft.KubernetesConfiguration など、Azure サブスクリプションで必要なすべてのリソース プロバイダーを有効にします。
- 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
出力し、プロセスが完了するとプロンプトに戻ります。
手順 4: Azure で AKS Edge Essentials リソースを表示する
プロセスが完了したら、リソース グループに移動すると、Azure portal でクラスターを表示できます。
左側のパネルで、 Namespaces オプション Kubernetes リソース (プレビュー)を選択します。
Kubernetes リソースを表示するには、ベアラー トークンが必要です。
Get-AksEdgeManagedServiceToken
を実行してサービス トークンを取得することもできます。これで、クラスター上のリソースを表示できます。 Workloads オプションには、クラスターで実行されているポッドが表示されます。
kubectl get pods --all-namespaces
Arc から切断する
Disconnect-AksEdgeArc
を実行して、Arc 対応 Kubernetes から切断します。
# Disconnect Arc-enabled kubernetes
Disconnect-AksEdgeArc -JsonConfigFilePath .\aksedge-config.json