kubezoo - 軽量のkubernetesマルチテナンシーゲートウェイ

(a lightweight kubernetes multi-tenancy gateway)

Created at: 2022-07-22 11:58:08
Language: Go
License: Apache-2.0

KubeZoo-Kubernetes
マルチテナンシーのゲートウェイサービス

英語|简体中文

概要

KubeZooは、既存の名前空間モデルを活用し、既存のKubernetesにマルチテナンシー機能を追加する軽量のゲートウェイサービスです。KubeZooは、リクエストとレスポンスをキャプチャして変換することにより、テナント間のビューレベルの分離を提供します。詳細については、設計ドキュメントを参照してください。

なぜKubeZoo

Kubernetesには、サービスとしての名前空間(NaaS)、サービスとしてのクラスター(CaaS)、サービスとしてのコントロールプレーン(CPaaS)の3つの一般的なマルチテナンシーモデルがあります。それらのそれぞれは、さまざまなユースケースに対処するために適用できます。ただし、私たちのケースには、既存のモデルでは満たすことができない特定の要件と制約がいくつかあります。

  • 多くの小規模テナント-通常、数十分間、少数のポッドを含む小さなバッチワークロードを実行するだけでよいテナントが数百存在します。
  • 短いターンアラウンドタイム-ユーザー/テナントは通常、数分でサービスを準備できるようにしたいと思って焦ります。
  • タイトなマンパワー-何千ものクラスター/コントロールプレーンを管理することは、労働集約的であり、中規模の開発チームにとっては実行不可能な場合があります。

これらのケースに対処するために、新しいテナンシーモデル、つまり、Kubernetes API as a Service(KAaaS)を提示します。これは、無視できるオーバーヘッドと運用コストで適切な分離を提供します。KubeZooは、すべてのテナントがコントロールプレーンとデータプレーンの両方を共有するこのモデルを実装します。これは、数千の小さなテナントが基盤となるKubernetesクラスターを共有する必要があるシナリオに適しています。

前提条件

KubeZooをインストールする前に、リソースとシステムの要件を確認してください。

入門

KubeZooは、1.18までのKubernetesバージョンをサポートします。より高いバージョンのKubernetesを使用すると、互換性の問題が発生する可能性があります。KubeZooは、次のいずれかの方法を使用してインストールできます。

メソッド 命令 予定時刻
KubeZooを最初から展開する KubeZooを展開する <2分

コミュニティ

貢献

KubeZooプロジェクトへの貢献を希望する場合は、詳細について貢献ドキュメントを参照してください。また、コードの寄稿者を支援するための開発者ガイドも用意しています。

コンタクト

質問がある場合、または貢献したい場合は、GitHubの問題またはプルリクエストを介してほとんどのことを伝えることができます。またはメンテナへの連絡

ライセンス

KubeZooはApache2.0ライセンスの下にあります。詳細については、LICENSEファイルを参照してください。KubeZooの特定の実装は、Kubernetesの既存のコードに依存しており、クレジットは元のKubernetes作成者に割り当てられます。