クラスター拡張機能
Helm チャートにより、最も複雑な Kubernetes アプリケーションでも、そのアプリケーションを定義、インストール、アップグレードするために必要な構成要素を提供することで管理できます。
クラスター拡張機能は、Helm のパッケージング コンポーネントを基盤として構築されています。 拡張機能を使用すると、Kubernetes クラスター上のさまざまな機能のインストールとライフサイクル管理に Azure Resource Manager 駆動型のエクスペリエンスを使用できるようになります。
クラスターのオペレーターまたは管理者は、クラスター拡張機能を使用して、次のことを行うことができます。
- Kubernetes クラスターにキー管理、データ、アプリケーション オファリングをインストールして管理します。
- Azure Policy を使用して、環境内のすべてのクラスターへのクラスター拡張機能の大規模なデプロイを自動化します。
- 各拡張機能のリリース トレーニング (プレビューや安定版など) をサブスクライブします。
- 拡張機能の自動アップグレードを設定するか、特定のバージョンにピン留めし、バージョンを手動でアップグレードします。
- 拡張機能のプロパティを更新するか、拡張機能インスタンスを削除します。
幅広い Azure サービスとシナリオをサポートするために拡張機能を使用できます。 現在サポートされている拡張機能の一覧については、「Azure Arc 対応 Kubernetes クラスターで使用可能な拡張機能」を参照してください。
Architecture
クラスター拡張機能インスタンスは、Azure Resource Manager で、(Microsoft.Kubernetes/connectedClusters
によって表される) Azure Arc 対応 Kubernetes リソース上に拡張機能 Azure Resource Manager リソース (Microsoft.KubernetesConfiguration/extensions
) として作成されます。
Azure Resource Manager での表現によって、特定のクラスター拡張機能が含まれる、または含まれないすべての Azure Arc 対応 Kubernetes リソースをチェックするポリシーを作成できます。 目的のプロパティ値を持つクラスター拡張機能がないクラスターを特定した後、Azure Policy を使用して、これらの非準拠リソースを修復できます。
クラスターで実行される config-agent
により、Azure Arc 対応 Kubernetes リソースの新規または更新済み拡張機能リソースが追跡されます。 クラスターで実行されている extensions-manager
エージェントは、インストールする必要がある拡張機能の種類を読み取ってから、関連付けられている Helm chart を Azure Container Registry または Microsoft Container Registry からプルし、クラスターにインストールします。
クラスターで実行される config-agent
と extensions-manager
の両方のコンポーネントにより、バージョンの更新と拡張機能インスタンスの削除が処理されます。 これらのエージェントは、クラスターのシステム割り当てマネージド ID を使用して、Azure サービスと安全に通信します。
Note
config-agent
では、新しい拡張機能インスタンスまたは更新された拡張機能インスタンスが、Azure Arc 対応 Kubernetes クラスター上で確認されます。 拡張機能の目的の状態をクラスターにプルできるようにするために、エージェントには接続が必要です。 エージェントが Azure に接続できない場合、クラスターへの目的の状態の伝達が遅延します。
拡張機能の保護された構成設定は、Azure Arc 対応 Kubernetes サービスで最大 48 時間保存されます。 そのため、Azure で拡張機能リソースが作成された後、48 時間にわたってクラスターが切断されたままになっていると、拡張機能は Pending
状態から Failed
状態に変化します。 これを防ぐには、クラスターを定期的にオンラインにすることをお勧めします。
重要
現時点では、Azure Arc 対応 Kubernetes クラスター拡張機能は、Flux (GitOps) を除き、ARM64 ベースのクラスターではサポートされていません。 他のクラスター拡張機能をインストールして使用するには、クラスターにオペレーティング システムとアーキテクチャの種類 linux/amd64
の少なくとも 1 つのノードが必要です。
拡張機能のスコープ
各拡張機能の種類により、クラスターで動作するスコープが定義されます。 Arc 対応 Kubernetes クラスターでの拡張機能のインストールは、クラスター スコープまたは名前空間スコープのいずれかです。
クラスター スコープの拡張機能は、拡張機能の作成時に指定された release-namespace
にインストールされます。 通常、クラスター スコープ拡張機能とそのコンポーネント (ポッド、オペレーター、カスタム リソース定義 (CRD) など) の 1 つのインスタンスのみが、クラスターのリリース名前空間にインストールされます。
名前空間スコープの拡張機能は、–namespace
プロパティを使用して指定された特定の名前空間にインストールできます。 拡張機能は名前空間スコープでデプロイできるため、名前空間スコープの拡張機能とそのコンポーネントの複数のインスタンスをクラスター上で実行できます。 各拡張機能インスタンスには、デプロイ先の名前空間に対するアクセス許可があります。 上記のすべての拡張機能は、Kubernetes 上の Event Grid を除き、クラスター スコープです。
現在使用可能な拡張機能はすべて、Azure Arc 上の Azure API Management を除き、クラスター スコープです。
次のステップ
- クイックスタートを利用して、Kubernetes クラスターを Azure Arc に接続する。
- Azure Arc 対応 Kubernetes クラスターにクラスター拡張機能をデプロイします。