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 でクラスターを管理できます。 クラスターには、オフライン管理ツールを使用してアクセスすることもできます。

Azure Arc 対応 Kubernetes エージェントのアーキテクチャの概要を示す図。

Kubernetes クラスターを Azure Arc に接続するには、次の大まかな手順を実行します。

  1. 任意のインフラストラクチャ (VMware vSphere、アマゾン ウェブ サービス、Google Cloud Platform、またはいずれかの Cloud Native Computing Foundation (CNCF) 認定 Kubernetes ディストリビューション) 上に Kubernetes クラスターを作成します。 クラスターは、Azure Arc に接続する前に既に存在している必要があります。

  2. クラスターの 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 が有効な場合にのみデプロイされるオプション コンポーネント。
  3. すべての Azure Arc 対応 Kubernetes エージェントのポッドが Running 状態になったら、クラスターが Azure Arc に接続されていることを確認します。次のものが表示されます。

    • Azure Resource Manager 内の Azure Arc 対応 Kubernetes connectedClusters リソース。 Azure で実際の Kubernetes クラスター自体が追跡されるのではなく、このリソースが、カスタマー マネージド Kubernetes クラスターのプロジェクションとして追跡されます。
    • クラスターのメタデータ (Kubernetes のバージョン、エージェントのバージョン、ノードの数など) は、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/SourceControlConfigurationsMicrosoft.KubernetesConfiguration/ExtensionsMicrosoft.KubernetesConfiguration/FluxConfigurations) がターゲット リージョンでサポートされていることを確認します。

  1. LIST を実行してソース クラスター (移動対象のクラスター) 内のすべての構成リソースを取得し、応答本文を保存します。

    Note

    構成リソースの LIST/GET からは、ConfigurationProtectedSettings は返されません。 このような場合の唯一のオプションは、元の要求本文を保存し、新しいリージョンでリソースを作成するときにそれを再利用することです。

  2. 基になる Kubernetes クラスターから以前の Arc のデプロイを削除します。

  3. 基になる Kubernetes クラスターへのネットワーク アクセスを使用し、新しいリージョンでそのクラスターを接続します。

  4. 新しいリージョンで Arc の接続済みクラスターが正常に稼働していることを確認します。

    1. az connectedk8s show -n <connected-cluster-name> -g <resource-group> を実行し、connectivityStatus の値が Connected であることを確認します。
    2. kubectl get deployments,pods -n azure-arc を実行して、すべてのエージェントが正常にデプロイされたことを確認します。
  5. 保存した応答本文を使用して、ソース クラスターから LIST コマンドで取得した各構成リソースをターゲット クラスターで再作成します。 確認するには、ターゲット クラスター内のすべての構成リソースの LIST の結果を、ソース クラスターからの元の LIST 応答と比較します。

次のステップ