AKS Edge Essentials クラスターを Arc に接続する
この記事では、Azure portal でクラスターの正常性を監視できるように、AKS Edge Essentials クラスターを Azure Arc に接続する方法について説明します。 クラスターがプロキシに接続されている場合は、GitHub リポジトリに用意されているスクリプトを使用して、ここで説明するようにクラスターを Arc 接続できます。
前提条件
以下の前提条件に加えて、Azure Arc 対応 Kubernetes のネットワーク要件をすべて満たしていることを確認してください。
- 所有者ロール、または共同作成者とユーザー アクセス管理者ロールの組み合わせが割り当てられた Azure サブスクリプションが必要です。 自分のアクセス レベルを確認するには、Azure portal でサブスクリプションに移動し、Azure portal の左側にある [アクセス制御 (IAM)] を選択して、[自分のアクセスの表示] を選択します。 リソース グループ 管理の詳細については Azure のドキュメントを参照してください。
- Microsoft.HybridCompute、Microsoft.GuestConfiguration、Microsoft.HybridConnectivity、Microsoft.Kubernetes、Microsoft.ExtendedLocation、Microsoft.KubernetesConfiguration など、Azure サブスクリプションで必要なすべてのリソース プロバイダーを有効にします。
- AKS Edge Essentials Azure リソースのリソース グループを作成して確認します。
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 を検索します。この ID を使用すると、 Default Directory ページに移動します。 ここから、テナント 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 ロールが必要であることに注意してください。 詳細については、「 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 は 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