Azure Kubernetes Fleet Manager とメンバー クラスター

この記事では、Azure Kubernetes Fleet Manager (Fleet) のフリート、メンバー クラスター、ハブ クラスターの概念の概要について説明します。

フリートとは

フリート リソースは、複数の AKS クラスターのグループ化エンティティとして機能します。 複数の AKS クラスターを 1 つのエンティティとして管理したり、複数のクラスター間で更新を調整したり、複数のクラスターに Kubernetes リソースを伝達したり、複数のクラスターを管理するための 1 つのウィンドウを提供したりできます。 ハブ クラスターを使用して、または使用せずにフリートを作成できます。

フリートは、次のコンポーネントで構成されます。

このスクリーンショットは、ハブ クラスター エージェントとメンバー クラスター エージェントを含むフリート リソースの図を示しています。

  • fleet-hub-agent: ハブ クラスター内のすべてのフリート関連のカスタム リソース (CR) を作成および調整する Kubernetes コントローラー。
  • fleet-member-agent: メンバー クラスター内のすべてのフリート関連の CR を作成および調整する Kubernetes コントローラー。 このコントローラーは、ハブ クラスターから最新の CR をプルし、必要な状態に合わせてメンバー クラスターを一貫して調整します。

メンバー クラスターとは

MemberCluster は、ハブ クラスター内で確立されたクラスター スコープの API を表し、フリート内のクラスターの表現として機能します。 この API は、複数クラスター アプリケーションがフリート内の登録済みクラスターを識別するための信頼性の高い、統一された自動化アプローチを提供します。 また、アプリケーションで、フリートによって管理されるクラスターの一覧のクエリを実行したり、後続のアクションのためにクラスターの状態を監視したりすることも容易になります。

Azure Kubernetes Service (AKS) クラスターをメンバー クラスターとしてフリートに参加させることができます。 メンバー クラスターは、フリートと同じ Microsoft Entra テナントに存在する必要がありますが、異なるリージョン、異なるリソース グループ、異なるサブスクリプションに存在する場合があります。

テイント

メンバー クラスターは、MemberCluster リソースに適用されるテイントの仕様をサポートします。 各テイント オブジェクトは、次のフィールドで構成されます。

  • key: テイントのキー。
  • value: テイントの値。
  • effect: NoSchedule など、テイントの効果。

MemberCluster がテイ ントされると、クラスターがハブ クラスターからのリソース伝達の一部としてリソースを受け取るべきではないことが、スケジューラに知らされます。 NoSchedule の効果は、ClusterResourcePlacement から MemberCluster へのリソースのスケジューリングを止めるための、スケジューラに対するシグナルです。

詳細については、アップストリームの Fleet ドキュメントを参照してください。

ハブ クラスター (プレビュー) とは

重要

Azure Kubernetes Fleet Manager のプレビュー機能は、セルフサービス、オプトイン ベースで利用できます。 プレビューは、"現状有姿のまま" および "利用可能な限度" で提供され、サービス レベル アグリーメントおよび限定保証から除外されるものとします。 Azure Kubernetes Fleet Manager のプレビューは、ベストエフォート ベースでカスタマー サポートによって部分的にカバーされます。 そのため、これらの機能は、運用環境での使用を意図していません。

更新実行などのフリートの特定のシナリオでは、Kubernetes API が必要ないため、ハブ クラスターは必要ありません。 このようなシナリオでは、ハブ クラスターなしでフリートを作成できます。 このモードでは、フリートは Azure Resource Manager のグループ化エンティティとして機能するだけです。

Kubernetes リソースの伝達などの他のシナリオでは、ハブ クラスターが必要です。 このハブ クラスターは、ライフサイクル (作成、アップグレード、削除) がフリート リソースによって管理される特殊な AKS クラスターです。 ハブ クラスターに提供される Kubernetes オブジェクトは、このクラスターに構成としてのみ格納されます。 このロックされたハブ クラスターではポッドの作成が無効になっています。 そのため、フリートでは、ハブ クラスター上でユーザー ワークロードを実行することは許可されず、代わりに、他のクラスターに伝達する必要がある構成、またはクラスター間のオーケストレーションを制御する構成を格納するためにハブ クラスターを使うことのみが許可されます。

次の表に、ハブ クラスターのないフリートとハブ クラスターのあるフリートの違いを示します。

機能の特質 ハブ クラスターなし ハブ クラスターあり (プレビュー)
ハブ クラスター ホスティング (プレビュー)
メンバー クラスターの制限 最大 100 個のクラスター 最大 20 個のクラスター
複数のクラスター間での更新のオーケストレーション
Kubernetes リソース オブジェクトの伝達 (プレビュー)
マルチクラスター L4 負荷分散 (プレビュー)

フリートの作成時に、ハブ クラスターがフリートと同じサブスクリプション内の FL_* という名前の管理対象リソース グループの下に自動的に作成されます。

信頼性を向上させるために、ハブ クラスターは、Azure の拒否の割り当てを使って、対応する AKS クラスター (フリート管理対象リソース グループ FL_* 配下) とその基になる VM などの Azure リソース (AKS 管理対象リソース グループ MC_FL_* 配下) に対して、ユーザーが開始した変異を拒否することでロックダウンされます。

ハブ クラスターに対する望ましくないポリシー結果を回避するために、ハブ クラスターは Azure ポリシーから除外されます。

請求

ハブ クラスターのないフリート リソースは現在無料です。 フリートにハブ クラスターが含まれている場合、ハブ クラスターはフリート サブスクリプションで作成され、支払いがある Standard レベルの AKS クラスターです。

よく寄せられる質問

ハブ クラスターのないフリートをハブ クラスターのあるフリートに変更できますか?

ハブ クラスターのプレビュー段階ではできません。 ハブ クラスターが一般提供されるとサポートされる予定です。

次のステップ