Azure Arc 対応 Kubernetes エージェントの概要
Azure Arc 対応 Kubernetes では、さまざまな環境の Kubernetes クラスター全体でポリシー、ガバナンス、セキュリティを管理するための一元的で一貫性のあるコントロール プレーンが提供されます。
Azure Arc エージェントは、Azure Arc に接続する時に Kubernetes クラスターにデプロイされます。この記事では、これらのエージェントの概要について説明します。
クラスターにエージェントをデプロイする
ほとんどのオンプレミス データセンターにおいては、ネットワーク境界のファイアウォールで、受信通信を禁止する厳格なネットワーク規則が適用されます。 Azure Arc 対応 Kubernetes は、ファイアウォールで受信ポートを必要としないことによって、これらの制限と連携します。 Azure Arc エージェントでは、ネットワーク エンドポイントのセットの一覧への送信通信が必要です。
この図では、Azure Arc コンポーネントのハイレベル概要を示します。 オンプレミスのデータセンターまたは異なるクラウド内の Kubernetes クラスターは、Azure Arc エージェントを介して Azure に接続されます。 この接続により、管理ツールと Azure サービスを使用して Azure でクラスターを管理できます。 クラスターには、オフライン管理ツールを使用してアクセスすることもできます。
Kubernetes クラスターを Azure Arc に接続するには、次の大まかな手順を実行します。
任意のインフラストラクチャ (VMware vSphere、アマゾン ウェブ サービス、Google Cloud Platform、またはいずれかの Cloud Native Computing Foundation (CNCF) 認定 Kubernetes ディストリビューション) 上に Kubernetes クラスターを作成します。 クラスターは、Azure Arc に接続する前に既に存在している必要があります。
クラスターの Azure Arc 登録を開始します。 このプロセスでエージェント Helm チャートがクラスターにデプロイされます。 その後、クラスター ノードにより、Microsoft Container Registry への送信通信が開始され、
azure-arc
名前空間に次のエージェントを作成するために必要なイメージがプルされます。エージェント 説明 deployment.apps/clusteridentityoperator
現在、Azure Arc 対応 Kubernetes によってサポートされているのは、システム割り当て ID のみです。 clusteridentityoperator
によって最初の送信通信が開始されます。 この最初の通信によって、他のエージェントが Azure との通信に使用する管理サービス ID (MSI) 証明書が取り込まれます。deployment.apps/config-agent
クラスターに適用されるソース管理構成リソースの接続されたクラスターを監視します。 コンプライアンスの状態を更新します。 deployment.apps/controller-manager
Azure Arc コンポーネント間の相互作用を調整する、オペレーターのオペレーターです。 deployment.apps/metrics-agent
他の Arc エージェントのメトリックを収集して、パフォーマンスが最適であることを確認します。 deployment.apps/cluster-metadata-operator
クラスターのバージョン、ノード数、Azure Arc エージェントのバージョンなど、クラスターのメタデータを収集します。 deployment.apps/resource-sync-agent
前述のクラスター メタデータを Azure に同期します deployment.apps/flux-logs-agent
ソース管理構成の一部としてデプロイされる Flux オペレーターからログを収集します。 deployment.apps/extension-manager
拡張 Helm チャートをインストールし、そのライフサイクルを管理します。 deployment.apps/kube-aad-proxy
クラスター接続を使用してクラスターに送信される要求の認証に使用されます。 deployment.apps/clusterconnect-agent
クラスターの apiserver
へのアクセスを提供するクラスター接続機能を有効にするリバース プロキシ エージェント。 クラスター接続機能が有効な場合にのみデプロイされるオプション コンポーネント。deployment.apps/guard
Microsoft Entra RBAC 機能に使用される認証および承認 Webhook サーバー。 クラスターで Azure RBAC が有効な場合にのみデプロイされるオプション コンポーネント。 すべての Azure Arc 対応 Kubernetes エージェントのポッドが
Running
状態になったら、クラスターが Azure Arc に接続されていることを確認します。次のものが表示されます。- Azure Resource Manager 内の Azure Arc 対応 Kubernetes
connectedClusters
リソース。 Azure で実際の Kubernetes クラスター自体が追跡されるのではなく、このリソースが、カスタマー マネージド Kubernetes クラスターのプロジェクションとして追跡されます。 - クラスターのメタデータ (Kubernetes のバージョン、エージェントのバージョン、ノードの数など) は、Azure Arc 対応 Kubernetes リソースのメタデータとして表示されます。
- Azure Resource Manager 内の Azure Arc 対応 Kubernetes
クラスターへのエージェントのデプロイの詳細については、「クイックスタート: 既存の Kubernetes クラスターを Azure Arc に接続する」を参照してください。
Arc 対応 Kubernetes クラスターを Azure リージョン間で移動する
状況によっては、Arc 対応 Kubernetes クラスターを別のリージョンに移動することが必要になる場合があります。 たとえば、特定のリージョンでのみ使用できる機能またはサービスをデプロイしたい場合や、内部のガバナンス要件または容量計画の考慮事項のためにリージョンを変更することが必要になる場合があります。
接続されたクラスターを新しいリージョンに移動する場合は、ソース リージョンの Azure Resource Manager リソース connectedClusters
を削除してから、エージェントをデプロイしてターゲット リージョンに connectedClusters
リソースを再作成します。 クラスター内のソース管理の構成、Flux の構成、拡張機能については、リソースに関する詳細を保存してから、新しいクラスター リソースに子リソースを再作成する必要があります。
開始する前に、Azure Arc 対応 Kubernetes リソース (Microsoft.Kubernetes/connectedClusters
) と必要な Azure Arc 対応 Kubernetes 構成リソース (Microsoft.KubernetesConfiguration/SourceControlConfigurations
、Microsoft.KubernetesConfiguration/Extensions
、Microsoft.KubernetesConfiguration/FluxConfigurations
) がターゲット リージョンでサポートされていることを確認します。
LIST を実行してソース クラスター (移動対象のクラスター) 内のすべての構成リソースを取得し、応答本文を保存します。
- Microsoft.KubernetesConfiguration/SourceControlConfigurations
- Microsoft.KubernetesConfiguration/Extensions
- Microsoft.KubernetesConfiguration/FluxConfigurations
Note
構成リソースの LIST/GET からは、
ConfigurationProtectedSettings
は返されません。 このような場合の唯一のオプションは、元の要求本文を保存し、新しいリージョンでリソースを作成するときにそれを再利用することです。基になる Kubernetes クラスターから以前の Arc のデプロイを削除します。
基になる Kubernetes クラスターへのネットワーク アクセスを使用し、新しいリージョンでそのクラスターを接続します。
新しいリージョンで Arc の接続済みクラスターが正常に稼働していることを確認します。
az connectedk8s show -n <connected-cluster-name> -g <resource-group>
を実行し、connectivityStatus
の値がConnected
であることを確認します。kubectl get deployments,pods -n azure-arc
を実行して、すべてのエージェントが正常にデプロイされたことを確認します。
保存した応答本文を使用して、ソース クラスターから LIST コマンドで取得した各構成リソースをターゲット クラスターで再作成します。 確認するには、ターゲット クラスター内のすべての構成リソースの LIST の結果を、ソース クラスターからの元の LIST 応答と比較します。
次のステップ
- クイックスタートを利用して、Kubernetes クラスターを Azure Arc に接続します。
- リリース ノートを表示して、最新のエージェント バージョンに関する詳細を確認します。
- Azure Arc 対応 Kubernetes エージェントのアップグレードについて説明します。
- Azure Arc 対応 Kubernetes を使って、構成リソースとして、クラスターと Git リポジトリ間の接続を作成する方法の詳細について説明します。