[解決済み] ApacheのMesosとGoogleのKubernetesの違いとは?
質問
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はまだアルファ版状態です)。
と聞かれると、ついついこう答えてしまいます。
-
Kubernetesは、クラスタリングの世界に初めて足を踏み入れるには最適な場所です。クラスタ指向の開発を始めるには、最も迅速で簡単かつ軽量な方法です。 多くのプロバイダー(Microsoft、IBM、Red Hat、CoreOs、MesoSphere、VMWareなど)がサポートしているので、非常に高い移植性を提供します。
-
既存のワークロード(Hadoop、Spark、Kafkaなど)がある場合、Mesosはそれらのワークロードを相互に連結し、Kubernetesアプリケーションなどの新しいものを混ぜることができるフレームワークを提供します。
-
Kubernetesのフレームワークでコミュニティがまだ実装していない機能が必要な場合、Mesosは逃げ道を提供してくれるのです。
関連
-
[解決済み] kubernetes UnexpectedAdmissionError ロールアウト後。
-
[解決済み] Istio Ingressで "no healthy upstream "が発生する。
-
[解決済み] Kubectl アップデート configMap
-
[解決済み] kubernetesのデプロイメントで失敗したPodを再起動する方法
-
[解決済み] ヘッドレスサービスとは何か、何をするのか、何を達成するのか、そしてその正当な使用例とは何か?
-
[解決済み] Docker ComposeとKubernetesの違いとは?
-
[解決済み] KubernetesのClusterIP、NodePort、LoadBalancerのサービスタイプの違いとは?
-
[解決済み】ポッドとデプロイの違いは何ですか?
-
[解決済み] Docker-Swarm、Kubernetes、Mesos、Core-OSフリート
-
[解決済み] Kubernetes上でファイルから生成されたシークレットを更新するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] KubernetesのジョブにおけるbackoffLimitの理解
-
[解決済み] kubernetesのdeployment yamlを変更せずにPodをローリング再起動する方法は?
-
[解決済み] Kubectl アップデート configMap
-
[解決済み] ヘッドレスサービスとは何か、何をするのか、何を達成するのか、そしてその正当な使用例とは何か?
-
[解決済み] Pod内のコンテナを再起動する
-
[解決済み] kubernetesのpodでbusyboxにcurlをインストールすることは可能ですか?
-
[解決済み】すべてのkubernetesネームスペースのすべてのPodを削除するコマンド
-
[解決済み] 別のネームスペースにあるサービス
-
[解決済み] Docker-Swarm、Kubernetes、Mesos、Core-OSフリート
-
[解決済み] Kubernetes API - 特定のノード上のPodを取得する