複雑なビジネスモデルや災害復旧のシナリオでは、サービスを複数のリージョンにまたがって展開する必要があります。 その場合、異なるリージョンにまたがった Kubernetes クラスターを管理する必要が生じます。 Kubefed (クラスターフェデレーション) は、Kubernetes コミュニティの重要なマルチクラウド管理プロジェクトです。 複数のリージョンおよびクラウドサービスプロバイダーにまたがる複数 Kubernetes クラスターの管理が可能になります。 kubefed マスタークラスターによって公開された API を使用して、複数クラスターの設定を管理できます。

このトピックでは、Alibaba Cloud Container Service における Kubefed の構築および使用方法を説明します。 詳細については、「GitHub link」をご参照ください。

Kubefed の概念

Kubefed では、2 種類の情報を設定する必要があります。
  • タイプ設定は、Kubefed が処理する API のタイプを指定します。
    タイプ設定は、以下の 3 つの概念で構成されます。
    • テンプレートは、リソースの仕様を定義します。
    • 配置は、リソースが配布されるクラスターの仕様を定義します。
    • オーバーライドは、個々のクラスターでテンプレートリソースをどのように変更されるかの仕様を定義します。
  • クラスター設定は、Kubefed が処理するクラスターを指定します。

したがって、Kubefed は、FederatedNamespace、FederatedService、FederatedIngress などの CRD を公開する API を定義できます。