翻訳者 |李睿 レビュー |チョンロウ Kubernetes は、組織がコンテナ化されたアプリケーションを展開および管理する方法に革命をもたらし、クラスター間でのアプリケーションのオーケストレーションとスケーリングを容易にしました。ただし、共有 Kubernetes クラスター上で複数の異種ワークロードを実行すると、リソースの競合、セキュリティ リスク、カスタマイズの欠如、管理の複雑さなどの課題が生じます。 Kubernetes で分離とマルチテナントを実現するには、いくつかの方法があります。
Vcluster とは何ですか?Vcluster は、ユーザーが仮想 Kubernetes クラスターを作成および管理できるようにするオープンソース ツールです。仮想 Kubernetes クラスターは、別の Kubernetes クラスター上で実行される、完全に機能する Kubernetes クラスターです。 Vcluster は、基盤となる Kubernetes クラスターの名前空間に Vcluster を作成することで機能します。 Vcluster には独自のコントロール プレーンがありますが、基盤となるクラスターのワーカー ノードとネットワークを共有します。これにより、Vcluster はあらゆる Kubernetes クラスターに導入できる軽量ソリューションになります。 Vcluster を作成するときに、ユーザーは Vcluster に必要な作業ノードの数を指定できます。次に、Vcluster コマンドラインは Vcluster を作成し、ワーカーノード上でコントロール プレーン ポッドを起動します。その後、kubectl CLI を使用してワークロードを Vcluster にデプロイできます。 ユーザーは、Vcluster の Web サイトで Vcluster について詳しく知ることができます。 Vclusterを使用する利点(1)資源の隔離 Vcluster を使用すると、ユーザーは中央クラスタのリソース (CPU、メモリ、ストレージなど) の一部を単一の Vcluster に割り当てることができます。これにより、複数のチームが同じ物理クラスターを共有する場合に発生する「騒々しい隣人」の問題を防止できます。重要なワークロードが中断されることなく必要なリソースを確実に受け取ることができます。 (2)アクセス制御 Vcluster を使用すると、アクセス ポリシーを Vcluster レベルで実装して、許可されたユーザーのみがアクセスできるようにすることができます。たとえば、金融アプリケーションなどの機密性の高いワークロードは、分離された Vcluster で実行できます。アクセスの制限は、名前空間レベルのポリシーよりもはるかに簡単です。 (3)カスタマイズ Vcluster では、個々のチームのニーズに合わせて広範囲にカスタマイズでき、さまざまな Kubernetes バージョン、ネットワーク ポリシー、イングレス ルール、リソース クォータを使用してカスタマイズできます。開発者は他の開発者に影響を与えることなく、自分の Vcluster を変更できます。 (4)マルチテナント 多くの場合、組織は複数の社内チームまたは外部の顧客に Kubernetes アクセスを提供する必要があります。 Vcluster は、同じ物理クラスター内に独立した分離された環境を作成することで、マルチテナントの実装を容易にします。 (5)拡張が容易 動的なワークロードと拡張のニーズに対応するために、追加の Vcluster をすばやく起動またはシャットダウンできます。物理クラスター全体をスケールアウトすることなく、新しい開発環境とテスト環境を即座にプロビジョニングできます。 Vcluster 以前のワークロード分離方法Vcluster がソリューションとして登場する以前から、組織はさまざまな Kubernetes ネイティブ機能を活用して、ワークロードの分離を実現していました。
Vcluster デモ(1)Vclusterコマンドラインをインストールする 必要とする:
次のコマンドを使用して、arm64 ベースの Ubuntu マシン用の Vcluster CLI バイナリをダウンロードします。 Vcluster CLI が正常にインストールされたことを確認するには、次の操作を実行してテストします。 他のサーバーにインストールする場合は、次のリンクを参照してください。 Vcluster コマンドラインをインストールします。 (2)Vclusterを導入する Vcluster を作成するmy-first-Vcluster (3)Vclusterに接続する Vcluster に接続するには、次のコマンドを入力します。 kubectl コマンドを使用して、接続された Vcluster 内の名前空間を取得します。 アプリケーションをVclusterにデプロイするここで、 Vcluster にサンプルのNginxデプロイメントをデプロイします。デプロイメントを作成します。 これにより、アプリケーションは Vcluster 内の名前空間 demo-nginx に分離されます。 このデモ デプロイメントによって Vcluster にポッドが作成されることを確認できます。 ホスト クラスタの展開を確認するVcluster でのデプロイメントを確認できたので、ホスト クラスターでのデプロイメントを確認してみましょう。 Vcluster から切断します。 これにより、kube-scenario がホスト クラスターに戻ります。次に、ホスト クラスターで利用可能なデプロイメントがあるかどうかを確認します。 Vcluster-my-Vcluster 名前空間にリソースが見つかりませんでした。これは、デプロイメントが他のクラスターからアクセスできない Vcluster 内で分離されているためです。 次のコマンドを使用して、すべての名前空間でポッドが実行されているかどうかを確認します。 これで、 Vcluster 名前空間で実行されているNginxコンテナを確認できます。 Vcluster のユースケースVcluster は、単一の物理クラスター内で分離されたカスタマイズ可能な Kubernetes 環境を提供することで、いくつかの重要なユースケースをサポートします。これらのいくつかを詳しく見てみましょう。 (1)開発・テスト環境 開発チームに専用の Vcluster を割り当てると、実稼働ワークロードや他の開発者に影響を与えることなく、開発チームが構成を完全に制御できるようになります。開発チームは、必要な Kubernetes バージョン、ネットワーク ポリシー、リソース クォータ、アクセス制御を使用して Vcluster をカスタマイズできます。開発チームは、Vcluster をすばやく起動およびシャットダウンして、さまざまな構成をテストできます。 Vcluster は保証されたコンピューティング リソースとストレージ リソースを提供するため、開発者は競合する必要がなく、他の Vcluster で実行されているアプリケーションのパフォーマンスに影響を与えることもありません。 (2)本番アプリケーションの分離 ERP、CRM、財務システムなどのエンタープライズ アプリケーションには、予測可能なパフォーマンス、高可用性、厳格なセキュリティが必要です。専用の Vcluster を使用すると、これらの本番ワークロードは他のアプリケーションの影響を受けずに済みます。ミッションクリティカルなアプリケーションには、リソースの競合を回避するために予約容量を割り当てることができます。カスタマイズされたネットワーク ポリシーにより分離が保証されます。クラスターでは、コンプライアンスのニーズを満たすために、きめ細かいロールベースのアクセス制御も可能になります。中断を避けるために大規模なクラスターを過剰にプロビジョニングする代わりに、Vcluster は低コストで保証されたリソースを提供します。 (3)マルチテナント 複数の事業部門を持つサービス プロバイダーや企業では、多くの場合、さまざまな社内チームや外部の顧客に Kubernetes アクセスを安全に提供する必要があります。 Vcluster は、テナントごとに個別のセルフサービス環境を作成し、適切なリソース制限とアクセス ポリシーを適用することで、マルチテナントを簡素化します。プロバイダーは、追加の Vcluster を採用することで、新しい顧客に簡単にサービスを提供できます。これにより、「ノイジーネイバー」問題が解消され、ピーク需要ではなく実際の使用状況に基づいて Vcluster をパックすることで高密度のワークロードが可能になります。 (4)コンプライアンス 金融や医療などの規制の厳しい業界では、データのプライバシー、位置情報、アクセス制御に関して厳格なセキュリティとコンプライアンスの要件が課せられます。内部ネットワークのセグメンテーション、ロールベースのアクセス制御、リソースの分離を備えた専用の Vcluster を使用すると、互換性のあるワークロードを同じクラスター内の他のアプリケーションと一緒に安全にホストすることが容易になります。 (5)臨時資源 Vcluster を使用すると、一時的な Kubernetes 環境を即座に立ち上げて、次のユースケースを処理できます。
これらの Vcluster は、必要がなくなったら、クラスターに永続的な痕跡を残さずに簡単に削除できます。 (6)ワークロードの統合 組織が Kubernetes のフットプリントを拡大するにつれて、既存のアプリケーションを中断することなく、複数のクラスターを共有インフラストラクチャに統合する必要が生じます。アプリケーションを Vcluster に移行すると、論理的な分離とカスタマイズが可能になり、他のワークロードと並行してシームレスに実行できるようになります。これにより、使用率が向上し、運用オーバーヘッドが削減されます。 Vcluster を使用すると、企業の IT 部門は分離を維持しながら、組織全体で一貫した Kubernetes プラットフォームを提供できます。要約すると、Vcluster は、ワークロードの分離、カスタマイズ、セキュリティ、密度を通じて Kubernetes 環境を最適化するための重要なツールです。ユースケースでは、開発者から運用部門、ビジネス部門に至るまで、組織内のさまざまなニーズにどのように役立つかが強調されます。 Vcluster の使用上の課題これには大きなメリットがありますが、考慮すべき欠点もいくつかあります。 (1)複雑さ 複数の Vcluster (たとえ小規模なものであっても) を管理すると、単一の大規模な Kubernetes クラスターを管理する場合よりも運用上のオーバーヘッドが大きくなります。その他のタスクは次のとおりです:
たとえば、クラスタ管理者は、単一のクラスタではなく、20 個の Vcluster で RBAC ポリシーを構成および更新する必要があります。これには、単一のクラスターを集中管理するよりも多くの労力が必要です。 Kubernetes 上の静的 IP アドレスとポートにより、競合やエラーが発生する可能性があります。 (2)資源の配分と管理 Vcluster のリソース消費とパフォーマンスのバランスを取ることは、ニーズや期待が異なる場合があるため、難しい場合があります。 たとえば、Vcluster はワークロードに基づいてスケールアップまたはスケールダウンしたり、他の Vcluster または名前空間とリソースを共有したりする必要がある場合があります。アプリケーションのピーク需要に合わせてサイズ設定された Vcluster では、オフピーク期間中に未使用の容量が余剰になる可能性があり、その容量はアイドル状態となり、他の Vcluster では利用できなくなります。 (3)カスタマイズの制限 Vcluster をカスタマイズできるかどうかは実装によって異なります。名前空間は柔軟性が最も低く、クラスター API は柔軟性が最も高くなります。 OpenShift のようなツールは、カスタマイズとシンプルさのバランスをとっています。たとえば、名前空間では異なる Kubernetes バージョンやネットワーク プラグインを実行することはできません。 Cluster API では完全なカスタマイズが可能ですが、より複雑になります。 結論はVcluster を使用すると、Kubernetes ユーザーは共有物理クラスター内でワークロードをカスタマイズ、分離、拡張できます。 Vcluster は、専用のコントロール プレーン リソースとアクセス ポリシーを割り当てることで、強力な技術的分離を実現します。マルチテナントなどのユースケースでは、Vcluster はよりシンプルで安全な Kubernetes 管理を提供します。 Vcluster は Kubernetes のコストオーバーヘッドを削減するためにも使用でき、一時的な環境で使用することもできます。 OpenShift、Rancher、Kubernetes Cluster API などのツールを使用すると、Vcluster の導入と管理が容易になります。採用が拡大するにつれて、Vcluster 分野でさらなる革新が起こり、運用がさらに効率化され、利用率が最大化されることが期待されます。 Vcluster にはいくつかの欠点がありますが、多くの組織にとって、追加された複雑さを明らかに上回るメリットがあります。 原題: Vcluster を使用した Kubernetes でのマルチテナント、著者: Pavan Shiraguppi |
<<: エッジコンピューティング向け統合スケジューリングソリューションの検討
この記事はWeChat公式アカウント「Mayuan Technology Column」から転載した...
何かありますかこれは、現地の方言(方言が混じった中国語)から発展したインターネットの流行語であり、「...
[51CTO.com からのオリジナル記事] データは間違いなく企業にとって最も価値のある資産です。...
2月24日のブルームバーグによると、Googleはブラウザに「Do Not Track」ボタンを追加...
Weibo は、近年登場したばかりのインターネット コミュニケーション プラットフォームです。当初は...
MariaDB の調査によると、世界中の IT プロフェッショナルの 99% が、COVID-19 ...
2010年に工業情報化部を驚かせた3Q戦争から、2012年の検索エンジン業界での3B対決まで、360...
moecloudは、米国西海岸のサンノゼデータセンターでcn2 giaシリーズVPSを開始しました。...
[51CTO.com からのオリジナル記事] 世界はデジタル時代に突入しており、調達分野も例外ではあ...
データミドルプラットフォームの開発は、一般的に、データベース、データウェアハウス、ビッグデータプラッ...
昨日、アートサイトの陳さんと長いチャットをしました。チャットをしていると、武漢SEOの老千さんが突然...
最近、地域の人材ネットワークを運営している友人から、地元のウェブサイトや企業が広告主を探しているとい...
今日では、人々は問題を解決するためにインターネットにますます頼るようになっています。たとえば、企業は...
[[216237]] FTT は、可用性を犠牲にすることなく vSAN クラスタで発生できる障害の数...
調査会社フォレスター社のアナリスト、アビジット・スニル氏は、2020年のエッジコンピューティングの発...