スケジューリングとオーケストレーションのための 7 つの CNCF ツール

スケジューリングとオーケストレーションのための 7 つの CNCF ツール

Kubernetes のようなコンテナ マネージャーは、多数のコンテナを管理する上で重要になっています。コンテナをクラスター (マシンのグループ) で実行することで、システムは各アプリケーションがメモリを消費する方法を最適化できます。クラウドネイティブ エコシステムがマイクロサービス設計と分散コンピューティングへと進化するにつれて、これらのコンテナ管理操作の自動化が重要になります。

Kubernetes は、ほぼ標準のコンテナ オーケストレーションおよびスケジューリング ユーティリティとなり、エンジニアが単一のコントロール プレーンから分散ノードをより適切に管理できるようになりました。現在、Kubernetes は最も積極的にメンテナンスされているオーケストレーターであり、この分野の他の多くのツールが Kubernetes と統合され、独自の開発シナリオに拡張される傾向があります。たとえば、kube-rs を使用すると、Rust 言語で Kubernetes を簡単に使用できるようになります。

Cloud Native Computing Foundation (CNCF) は、ストリーミング、可観測性、コンテナ ランタイム、CI/CD などの分野で新しいクラウド ネイティブ ツールを推進してきました。

以下では、CNCF がホストする 7 つのスケジューリングおよびオーケストレーション関連のプロジェクトについて説明します。これらのオープンソース プロジェクトの多くは Kubernetes をサポートしており、マルチクラスター管理、マルチクラウド、データ集約型ワークロード、その他の特定の要件などの問題の処理に役立ちます。

1. Kubernetes

コンテナ化されたアプリケーションの展開、スケーリング、管理を自動化するシステム。

  • GitHub: https://github.com/kubernetes/kubernetes
  • ウェブサイト: https://kubernetes.io/

Kubernetes (K8s と略されることが多い) は、最も広く使用されているコンテナ オーケストレーターです。 Kubernetes はもともと Google によって設計されており、大規模なコンテナ ワークロードのスケジュール設定とスケーリング、実行場所の最適化、その他多くのアプリケーション ライフサイクルの責任の処理に優れています。前述したように、Kubernetes と Docker は一緒に使用されることが多いですが、両者は異なります。 Kubernetes は 2014 年にオープンソース化され、現在は完全に卒業した CNCF プロジェクトとなっています。

2. クロスプレーン

共通コントロールプレーン。

  • GitHub: https://github.com/crossplane/crossplane
  • ウェブサイト: https://crossplane.io/

Kubernetes には複数の種類があります。 Kubernetes は、EKS、AKS、GKE、ACK、PKS などのサービスを通じて自己管理またはクラウド管理できます。マルチクラスター管理にもさまざまなアプローチがあります。 Crossplane は、K8s API を拡張して複数のクラウド プロバイダーとのやり取りを容易にするツールです。 Crossplane を使用すると、チームは共通の API を介して通信し、複数のクラスターとプロバイダーをカスタムの方法で管理できます。 Crossplane は、クラウドネイティブ インフラストラクチャを保護するために、セキュリティ ポリシーとガードレールのプラグインもサポートしています。 Crossplane は Upbound によって作成され、CNCF でインキュベーション状態にあります。

3. 流体

弾力的なデータ抽象化と高速化を実現するクラウドネイティブ オーケストレーション プラットフォーム。

  • GitHub: https://github.com/fluid-cloudnative/fluid
  • ウェブサイト: http://pasa-bigdata.nju.edu.cn/fluid/index.html

今日では、AI/ML 開発などのシナリオでデータ集約型アプリケーションを使用することが一般的です。 Kubernetes はコンテナ オーケストレーターですが、Fluid はデータ レイヤーをオーケストレーションするために設計されています。 Fluid は、オンデマンドでデータを処理し、データセット キャッシュを拡張するのに役立つオープン ソースの Kubernetes ネイティブ プロジェクトです。 Alluxio をベースにした Fluid は、データセットを管理するためのランタイムと追加の抽象化を提供し、分散キャッシュを処理するための主要なツールになります。 Fluid は、データの処理方法を最適化することで、他の方法よりも速く AI/ML モデルをトレーニングできます。執筆時点では、Fluid はサンドボックス CNCF プロジェクトです。

4. カルマダ

マルチクラウド、マルチクラスターの K8s オーケストレーター。

  • GitHub: https://github.com/karmada-io/karmada
  • ウェブサイト: https://karmada.io/

前述したように、拡張されたクラウドネイティブ アーキテクチャでは、さまざまな種類の Kubernetes が使用される可能性があります。 Karmada は、さまざまな Kubernetes クラスターとクラウドにわたってアプリケーションを実行するのに役立つユーティリティであるため、この現実に合わせて構築されています。 Karmada を集中管理ポイントとして使用すると、ベンダー ロックインを回避し、ハイブリッド マルチクラウド コンピューティング構成を実現できます。 Karmada は、さまざまなクラウドのクラスターにアクセスするコントローラーと通信する REST API サーバーを使用して実行されます。このプロセスは、制約と利用可能なリソースに基づいてクラスターをスケジュールします。 Karmada は現在、オープン ガバナンスを備えた CNCF がホストするサンドボックス プロジェクトです。

5. キューブ

Kubernetes 用の Rust クライアント。

  • GitHub: https://github.com/kube-rs/kube-rs
  • ウェブサイト: https://kube.rs/

Kubernetes の Go クライアントと同様に、kube-rs は Kubernetes カスタム リソース定義 (CRD) のランタイム抽象化レイヤーとマクロを提供します。このプロジェクトにより、Rust で Kubernetes API と対話するアプリケーションを簡単に作成できるようになります。 Kube.rs は、リフレクター、コントローラー、カスタム リソース インターフェイスなどの Kubrentes ネイティブ要素を Rust 言語に再解釈します。 kube-rs を使い始めるには、「入門ガイド」をご覧ください。この記事の執筆時点では、kube-rs は CNCF サンドボックス プロジェクトです。

6. オープンクラスタ管理

複数の K8s クラスターを管理するための集中型コントロール プレーン。

  • GitHub: https://github.com/open-cluster-management-io/ocm
  • ウェブサイト: https://open-cluster-management.io/

組織によって導入される Kubernetes クラスターの数が増えるにつれて、それらの内部動作の可視性を維持することはもちろん、それらをすべて同時に管理することがますます困難になります。この状況は、複数のクラウド プロバイダーで Kubernetes を使用しているチームによってさらに悪化します。 Open Cluster Manager (OCM) プロジェクトは、複数の Kubernetes クラスターの集中管理を提供することを目的とした興味深いオープン ソース イニシアチブです。 OCM を使用すると、オペレーターは単一のコントロール プレーンから複数のクラウド上のクラスターを作成および削除できます。クラスターを登録し、複数のクラスターにわたって標準のセキュリティ ポリシーを適用することもできます。 OCM は、マルチクラスター管理用のコマンドライン ツールである clusteradm を提供します。執筆時点では、Open Cluster Management は CNCF サンドボックス プロジェクトです。

7. 火山

クラウドネイティブのバッチ処理システム。

  • GitHub: https://github.com/volcano-sh/volcano
  • ウェブサイト: https://volcano.sh/en/

Volcano は、バッチ処理とエラスティック コンピューティング用のコンポーネントを提供するオープン ソース プロジェクトです。これは、Kubernetes がデータ集約型のワークロードに必要な種類のバッチ スケジューリング機能をすぐに提供しないために作成されました。このツールは、AI/ML やゲノミクスなどの分野でビッグデータ アプリケーションを Kubernetes ワークロードとして実行するのに役立ちます。執筆時点では、Volcano は CNCF サンドボックス プロジェクトです。

アイデア: オープンソースのスケジューラツール

上記では、CNCF の下で新たに登場したコンテナ オーケストレーションおよびスケジューリング プロジェクトをいくつか確認しました。ご覧のとおり、Kubernetes の普及の結果、この新しいパラダイムに対応するために多くの新しいソフトウェア パッケージが作成されるようになりました。オペレーターがさまざまな Kubernetes フレーバーを統合しようとしている場合、選択した言語で作業する場合、または Kubernetes クラスターでデータ集約型の計算を実行する場合など、CNCF にはこれらの特殊なニーズを満たす興味深いプロジェクトがいくつかあります。

<<:  デロイトは、企業の着実かつ急速な成長を支援するために、Amazon Web Services をベースにしたセキュリティ オペレーション センターを構築しました。

>>:  KServe: 堅牢でスケーラブルなクラウドネイティブモデルサーバー

推薦する

クラウドは従来のITを駆逐する

[[287071]]水が石を削り取るには10年という十分な時間がある。 IBM、Oracle、EMC...

PKCシステムを深めるEasyStackが第1回Feitengエコシステムパートナーカンファレンスに登場

[[286258]] 12月19日、北京国際会議センターで第1回「飛天エコシステムパートナー会議」が...

体験談共有:良い「国内格安VPS」と「国内格安クラウドサーバー」

中国には安価な VPS がたくさんありますが、信頼できるものは本当に稀です。もちろん、この安さは海外...

velocihost: 米国のプロフェッショナル GPU サーバー サプライヤー。多数の GPU グラフィック カード モデルから選択可能

velocihost は 2009 年に設立されたアメリカの会社です。主に米国のマイアミとニューヨー...

Baidu SearchがThunder Algorithm 2.0をリリース

検索ユーザーエクスペリエンスを確保し、検索エコシステムの健全な発展を促進するため、Baidu Sea...

エッジコンピューティングとデータセンターの未来

ほぼあらゆる面で、社会のペースは速くなっています。私たちは、カスタマー サービスの問題がすぐに解決さ...

クラウドコンピューティングは規模が拡大する一方、複雑化も進んでいる

クラウド コンピューティングの基本的な概念の 1 つは、ソフトウェアを実行し、データを保存するサーバ...

Hostus - もっと安くできますか? 年間5ドル/7ドル/データ無制限

Hostus は 2009 年に設立され、3 年間にわたり VPS を運営してきました。主に ope...

電子商取引企業が失敗する10の一般的な方法:単に製品を販売し、新しいメディアに関する知識が不足している

1. 純粋な販売思考コメント: これは、従来のブランドの従来のマーケティング思考が電子商取引の運営に...

9月上旬から中旬にかけてBudgetvmサーバがダウン

最近のダウンタイムの原因: XEN のバグを修正してアップグレードする必要がある。先延ばしにしていた...

推奨: weservit-512M メモリ KVM/SSD および SSDCACHE/オランダ高速 G ポート VPS

weservit は 2008 年にオランダで設立されました。自社設備をすべて備えた正式に登録された...

通信事業者はクラウドコンピューティングをベースに5G事業の展開を深化

2018 年、世界のクラウド コンピューティング市場規模は 3,000 億米ドルを超え、中国のクラウ...

従来のSEOの崩壊について語る

導入:この記事はあくまでも個人的な意見を述べたものであり、あらゆるコメントを歓迎します。 SEO、ウ...