1. ホーム
  2. kubernetes

[解決済み] ApacheのMesosとGoogleのKubernetesの違いとは?

2022-03-24 08:47:19

質問

ApacheのMesosとGoogleのKubernetesは具体的にどう違うのでしょうか? どちらもサーバクラスタ管理ソフトウェアであることは理解しています。どのような場合にどちらのフレームワークが好まれるのか、主な違いはどこか、どなたか詳しく教えてください。

なぜ Mesosphereの上にKubernetesが乗っている ?

解決方法は?

Kubernetesは、仮想マシンや「オン・ザ・メタル」シナリオの世界に「Google式」クラスタ管理機能をもたらすオープンソース・プロジェクトです。 CoreOSやRed Hat Atomicのような最新のオペレーティングシステム環境と非常に相性が良く、軽量なコンピューティング「ノード」を提供し、管理することができます。 Golangで書かれており、軽量でモジュール化されており、ポータブルで拡張性があります。 私たち(Kubernetesチーム)は、Kubernetesをコンピューティング・クラスターと対話する標準的な方法として確立するために、多くの異なるテクノロジー企業(Mesosオープンソースプロジェクトを管理するMesosphereを含む)と協力しているところです。 このアイデアは、Googleでの経験に基づいて、クラスタアプリケーションを構築するために人々が必要とするパターンを再現することです。これらのコンセプトの一部を紹介します。

  • ポッド - コンテナをグループ化する方法
  • レプリケーションコントローラ - コンテナのライフサイクルを処理する方法
  • ラベル - コンテナを検索してクエリする方法と
  • サービス - 共通の機能を実行するコンテナのセット。

Kubernetesだけで、シンプルで簡単に立ち上げることができ、ポータブルで拡張性があり、できるだけ軽量な方法で管理するものに名詞としての「クラスタ」を追加できるものを手に入れることができるわけです。 クラスター上でアプリケーションを実行し、個々のマシンについて心配するのをやめる。 この場合、クラスタはVMと同じように柔軟なリソースです。 論理的なコンピューティング・ユニットなのです。 素早く、簡単に、使用、サイズ変更、停止ができます。

Mesosとは、基本的なビジョンがかなり重なりますが、ライフサイクルの中でかなり異なる段階にある製品で、スイートスポットも異なります。 Mesosは分散システムカーネルで、多くの異なるマシンを論理的なコンピュータにつなぎ合わせます。多くの物理リソースを所有し、静的な大規模コンピューティングクラスターを構築するために生まれました。 Mesosの素晴らしいところは、最新のスケーラブルなデータ処理アプリケーションの多くがMesos上でうまく動作し(Hadoop、Kafka、Spark)、それらをすべて同じ基本リソースプールで、新世代のコンテナパッケージアプリケーションと共に実行できることです。 Kubernetesプロジェクトよりもやや重いですが、Mesosphereのような人たちの仕事のおかげで、管理はますます簡単になってきています。

さて、本当に興味深いのは、Mesosが現在、Kubernetesの概念の多くを追加し、Kubernetes APIをサポートするよう適応されつつあることです。 つまり、Kubernetesアプリにもっと多くの機能(高可用性マスター、より高度なスケジューリングセマンティクス、非常に多くのノードにスケールする能力)が必要な場合のゲートウェイとなり、本番ワークロードの実行に適しています(Kubernetesはまだアルファ版状態です)。

と聞かれると、ついついこう答えてしまいます。

  1. Kubernetesは、クラスタリングの世界に初めて足を踏み入れるには最適な場所です。クラスタ指向の開発を始めるには、最も迅速で簡単かつ軽量な方法です。 多くのプロバイダー(Microsoft、IBM、Red Hat、CoreOs、MesoSphere、VMWareなど)がサポートしているので、非常に高い移植性を提供します。

  2. 既存のワークロード(Hadoop、Spark、Kafkaなど)がある場合、Mesosはそれらのワークロードを相互に連結し、Kubernetesアプリケーションなどの新しいものを混ぜることができるフレームワークを提供します。

  3. Kubernetesのフレームワークでコミュニティがまだ実装していない機能が必要な場合、Mesosは逃げ道を提供してくれるのです。