スケジューリングとオーケストレーションのための 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: 堅牢でスケーラブルなクラウドネイティブモデルサーバー

推薦する

IaaS とは何でしょうか?

「クラウド コンピューティング」という概念は 2006 年に初めて提案されて以来、もはや奇妙な概念で...

王世凡: SEO 顧客関係を維持する方法

多くの友人が王世凡に、なぜいつも注文が取れないのか、なぜ顧客との関係がいつもうまくいかないのか、なぜ...

マルチクラウド戦略の力を最大限に引き出すにはどうすればよいでしょうか?

マルチクラウドは単なるトレンドではありません。これは、デジタル環境を切り拓く組織にとって変革的な戦略...

百度や豆瓣などのチャンネルでのプロモーションの核となるロジック

前回は、サードパーティのプロモーション チャネルの定義とその一般的な種類について説明しました。それで...

オートホームのリストから中国メディアの電子商取引の道を語る

2013年、中国のメディア業界に関して、 2 つのことによって引き起こされた 2 つの現象があり、そ...

SEO の成功と失敗の鍵: 外部リンク

良いバックリンクはウェブサイトを目立たせることができますが、悪いバックリンクは有名なウェブサイトを簡...

ベアメタルクラウド: クラウドコンピューティングの未来

近年、クラウド コンピューティングはビジネスの運営方法に革命をもたらし、比類のない柔軟性、拡張性、コ...

新しいインターネット時代の鼓動を感じてください

2017年は新しいインターネットが活発に発展する年です。中国のインターネットが今日まで発展するにつれ...

ユーザーエクスペリエンスは、ウェブサイトの検索エンジン評価における主要な基準となっている。

Baidu ウェブマスター プラットフォームが詳細な Web2.0 スパム対策戦略を発表Admin5...

Geek Host: 米国の20G高防御VPS、月額39元から20%割引、Windowsシステムをサポート、Alipayで支払い可能

米国で低コストの高防御VPSが必要な場合は、米国ラスベガスデータセンターのGeek Host(201...

ブログ記事の執筆についても

最近、多くのネットユーザーが記事の執筆に加わり、読者に多くの優れた記事を提供しています。以下では、ブ...

UCloud 人工知能と Intel の背後にある技術的なストーリーを分析する (パート 2)

前回の記事では、UAI-Service が Intel のテクノロジーを活用して、クラウド ホストを...

Zhihu は Baidu Knows に「勝った」のか?

質問がある場合、「 Baidu Knows」または「 Zhihu 」を使用して検索しますか?本記事で...

華雲データは2018年の製品とエコ戦略会議を開催し、中国のクラウドパワーを紹介した。

6月8日、華雲データグループは北京で「中国クラウドパワー-華雲データグループ製品とエコシステム戦略会...