仮想クラスターは、物理ホスト クラスター内にネストされた完全に機能する Kubernetes クラスターであり、マルチテナントをサポートするための優れた分離性と柔軟性を提供します。複数のチームが同じ物理インフラストラクチャ内で独立して運用できると同時に、競合を最小限に抑え、自律性を最大化し、コストを削減できます。
仮想クラスターはホスト クラスターの名前空間内で実行されますが、独自の API サーバー、コントロール プレーン、シンサー、および一連のリソースを備えた別個の Kubernetes クラスターとして機能します。仮想クラスターはホスト クラスターの物理リソース (CPU、メモリ、ストレージなど) を共有しますが、リソースを独立して管理するため、効率的な利用と拡張が可能になります。
仮想クラスターは、リソースのスケジューリングとネットワーキングのためにホスト クラスターと対話しますが、仮想クラスター内の操作がホスト クラスターのグローバル状態に直接影響を与えないように抽象化レベルを維持します。
⭐️vclusterは好きですか?スターを付けてプロジェクトをサポートしてください⭐️
仮想クラスターは、大規模な Kubernetes デプロイメントとマルチテナンシーに多大なメリットをもたらします。
きめ細かな権限: vCluster ユーザーはホスト クラスタ内で最小限の権限で動作するため、特権アクセスの悪用のリスクが大幅に軽減されます。ユーザーは vCluster 内で管理者レベルの制御を行うことができ、CRD、RBAC、およびその他のセキュリティ ポリシーを個別に管理できます。
分離されたコントロール プレーン:各 vCluster には独自の専用 API サーバーとコントロール プレーンが付属しており、強力な分離境界を作成します。
カスタマイズ可能なセキュリティ ポリシー:テナントは、基盤となる物理ホスト クラスターの既存のポリシーとセキュリティ対策に加えて、OPA ポリシー、ネットワーク ポリシー、リソース クォータ、制限範囲、アドミッション コントロールなどの追加の vCluster 固有のガバナンスを実装できます。
強化されたデータ保護:組み込み SQLite、etcd、または外部データベースなどの個別のバッキング ストアのオプションにより、仮想クラスターにより分離されたデータ管理が可能になり、テナント間のデータ漏洩のリスクが軽減されます。
テナントごとの完全な管理アクセス:テナントは自由に CRD をデプロイし、ネームスペース、テイント、およびラベル ノードを作成し、通常は標準の Kubernetes ネームスペースで制限されるクラスター スコープのリソースを管理できます。
分離されながらも統合されたネットワーク: vCluster は自動分離を確保しながら (たとえば、異なる仮想クラスター内のポッドはデフォルトでは通信できません)、構成可能なネットワーク ポリシーとサービス共有を可能にし、必要に応じて分離と共有の両方をサポートします。
ノード管理:静的ノードを特定の仮想クラスターに割り当てたり、複数の仮想クラスター間でノード プールを共有したりして、リソース割り当ての柔軟性を実現します。
軽量インフラストラクチャ:仮想クラスターは物理クラスターよりも大幅に軽量であり、数秒でスピンアップできます。これは、EKS などの環境でよく見られる長いプロビジョニング時間 (約 45 分) とは対照的です。
リソース効率:仮想クラスターは基盤となるホスト クラスターのリソースを共有することで、追加の物理インフラストラクチャの必要性を最小限に抑え、コストと環境への影響を削減します。
管理の簡素化: vCluster コントロール プレーンは、オプションの統合 CoreDNS とともに単一のポッド内で実行され、運用オーバーヘッドを最小限に抑え、仮想クラスターを大規模な展開やマルチテナンシーのシナリオに特に適したものにします。
多様な Kubernetes 環境: vCluster はさまざまな Kubernetes バージョンとディストリビューション (K8、K3、K0 を含む) をサポートしているため、バージョンの偏りは許容されます。これにより、他の仮想クラスターに影響を与えることなく、各仮想クラスターを特定の要件に合わせて調整することが可能になります。
適応性のあるバッキング ストア:軽量 (SQLite) からエンタープライズ グレードのオプション (組み込み etcd、Global RDS などの外部データ ストア) まで、さまざまなデータ ストアから選択し、さまざまなスケーラビリティと耐久性のニーズに応えます。
どこでも実行:仮想クラスターは EKS、GKE、AKS、OpenShift、RKE、K3s、クラウド、エッジ、オンプレミスで実行できます。 K8s クラスターであれば、その上で仮想クラスターを実行できます。
API サーバー負荷の軽減:それぞれに専用の API サーバーを持つ仮想クラスターは、リクエストを内部で分離して処理することにより、ホスト クラスターの Kubernetes API サーバーの運用負荷を大幅に軽減します。
競合のない CRD 管理:各仮想クラスター内の CRD を独立して管理することで、CRD の競合やバージョンの不一致の可能性が排除され、ユーザー ベースの拡大に応じてよりスムーズな運用と容易な拡張が保証されます。
セルフサービス Kubernetes で開発者を支援:セルフサービス仮想クラスターを通じて開発者の Kubernetes アクセスを簡素化し、セキュリティとコンプライアンスの要件を損なうことなく人的エラーを削減し、開発者の自律性を強化します。
一時的な Kubernetes クラスターで CI/CD を高速化する:プル リクエストごとにクリーンな新しい仮想 Kubernetes クラスターを即座に作成し、待ち時間や共有テスト環境の困難を伴うことなく、高速で分離されたテストと PR プレビューを可能にします。
顧客ごとの専用クラスターで ISV サービスを強化します。厳格なテナント分離とシームレスな拡張性を備えた仮想クラスターで各顧客をホストしながら、複数のテナントにサービスを提供する統合プラットフォーム スタックに重要なツールを統合します。
クラス最高の COGS と高い利益率を備えたマネージド Kubernetes サービスを構築します。顧客が専用の仮想 Kubernetes クラスターに直接アクセスできるようにし、ノードとリソースの割り当てを合理化し、業界をリードする効率性と比類のないスケーラビリティを実現します。
最初の vCluster を展開するには、クイック スタート ガイドを参照してください。
貢献にご関心をお寄せいただきありがとうございます。ガイダンスについては、CONTRIBUTING.md を参照してください。
Apache License バージョン 2.0 (「ライセンス」) に基づいてライセンスされています。ライセンスに準拠する場合を除き、このファイルを使用することはできません。ライセンスのコピーは次の場所で入手できます。
http://www.apache.org/licenses/LICENSE-2.0
適用される法律で義務付けられている場合または書面による同意がない限り、ライセンスに基づいて配布されるソフトウェアは、明示または黙示を問わず、いかなる種類の保証や条件もなく、「現状のまま」で配布されます。ライセンスに基づく許可と制限を規定する特定の言語については、ライセンスを参照してください。