ハイブリッドクラウド時代の有望なKubernetes管理システムのKarmada 0.7は、2021年7月12日に利用可能になった。これにより、マルチクラスタサービスの検出、正確なクラスタステータス管理、クラスタリソースに基づくレプリカのスケジューリング、重みリストによるレプリカを分割するためのより便利なAPIが実現した。
Karmada (Kubernetes Armada) は、Kubernetesネイティブ実装によるマルチクラウドとマルチクラスタのKubernetesオーケストレーション用に設計されている。一元化されたマルチクラウド管理、高可用性、障害回復、トラフィックスケジューリングを提供し、ユーザがアプリケーションを変更することなく、複数のKubernetesクラスタとクラウドにわたってクラウドネイティブアプリケーションを実行できるようにする。
Kubernetes Federationは、SIG Multiclusterが始め、保守している唯一の公式マルチクラスタ管理ソリューションだ。2つのメジャーバージョンの後、KubeFedは復元力 (resilient) のある設計とアーキテクチャを備えている。Karmadaは、Kubernetes Federation v1とv2を引き継いで開発され、これら2つのバージョンからいくつかの基本的な概念を継承している。ただし、Federation v2 (KubeFed) はまだベータ版であり、一部の機能はまだアルファ版だ。その成熟度とコミュニティ活動の欠如は、多くのユーザがプロダクションで採用することを妨げている。
Karmadaアーキテクチャ
このリリースで追加された新機能とは別に、インストールスクリプトは、Kindクラスタとスタンドアロンクラスタの両方へのKarmadaコンポーネントのインストールをサポートする。Karmadaのコンポーネントに関連する他の注目すべき改善点は、リリースノートに記載されている。
Karmadaは、KubeFedから進化したKubernetesネイティブAPIと完全に互換性があり、ユーザはクラウドネイティブアプリケーションをシングルクラスタからマルチクラスタに変更なしでデプロイできる。
以下のこの例は、再利用可能な伝播ポリシー (propagation policy) を利用して、nginxアプリケーションをマルチクラスタ環境に伝播する方法を示している。この伝播ポリシーは、すべてのターゲットのKubernetesデプロイメントのマルチAZおよびHAデプロイメントスキームを構成する。次に、ユーザは、KubernetesネイティブAPIを使用して、アプリケーションをマルチクラスタ環境にデプロイできる。
サンプルコード
マルチクラウドおよびマルチクラスタソリューションの有望な新規参入者としてほぼ毎月新しいリリースがある。Karmadaの積極的な貢献者には、Huawei、ICBC、Tencent、およびこれまでの他の組織が含まれる。
今後、マルチクラスタのHAスケジューリングポリシー、集約されたKubernetes APIエンドポイント、マルチクラスタサービスメッシュ、可観測性、GitOpsなどの実り多いサポートを追加する予定だ。
2021年 ロードマップ
Karmadaは数分でインストールできる。Quick Startとデモに従って、Karmadaの使用を開始する。Slackやコミュニティミーティングを通じてサポートも利用可能だ。