Dockerコンテナーを使用したDC / OSでのマラソンvs Kubernetes vs Docker Swarm


101

DC / OSでDockerコンテナーを実行する際に、MarathonとChronos、Docker Swarm、またはKubernetesを使用するかどうかについて、いくつかの長所と短所を探しています。

たとえば、KubernetesよりMarathon / Chronosを使用する方が良い場合はいつですか?

現在、私は主に実験中ですが、うまくいけば、夏の後にこれらのサービスの1つを本番環境で使用し始める予定です。それまでに本番環境での準備ができるかどうかはわからないので、これはDocker Swarmを失格にする可能性があります。

私がDocker Swarmについて気に入っているのは、本質的には「Dockerコマンド」だけであり、まったく新しいことを学ぶ必要がないことです。私たちはすでに使用してdocker-composeおり、それはDocker Swarmで(少なくとも理論上は)そのまま使用できるため、大きなプラスになります。Docker Swarmに関する私の主な懸念は、システムを運用環境で実行するために必要なすべてのユースケースをカバーするかどうかです。

回答:


167

Mesosの各コンテナーオーケストレーションフレームワークの独自の側面を分析してみましょう。

次の場合は、Docker Swarmを使用します。

次の場合はKubernetes-Mesosを使用します。

  • K8sポッドを起動します。K8sポッドは、一緒にスケジュールされ、同じ場所に配置され、リソースを共有するコンテナーのグループです。
  • 親コンテナーの横にある1つ以上のサイドキックコンテナー(ログアーカイバー、メトリックモニターなど)と一緒にサービスを起動する場合。
  • K8sのラベルベースのサービス検出、負荷分散、レプリケーション制御を使用したい。
  • http://kubernetesio.blogspot.com/2015/04/kubernetes-and-mesosphere-dcos.htmlを参照してください

マラソンは次の場合に使用します。

  • Dockerまたは非Dockerの長期実行アプリ/サービスを起動したい。
  • 制約ベースのスケジューリングにMesos属性を使用したい。
  • アプリケーショングループと依存関係を使用して、関連するサービスを起動、スケーリング、またはアップグレードしたい。
  • ヘルスチェックを使用して、異常なサービスを自動的に再起動するか、異常なデプロイメント/アップグレードをロールバックします。
  • サービス検出のためにHAProxyまたはConsulを統合したい。
  • ウェブUIまたはREST APIを介してアプリを起動および監視したい。
  • 最初からMesosを念頭に置いて構築されたフレームワークを使用したい。

次の場合にクロノスを使用します。

  • 終了が予想されるDockerタスクまたは非Dockerタスクを起動したい。
  • タスクを特定の時間/スケジュールで実行するようにスケジュールしたい(la cron)。
  • 依存タスクのDAGワークフローをスケジュールする必要があります。
  • ウェブUIまたはREST APIを介してジョブを起動および監視したい。
  • 最初からMesosを念頭に置いて構築されたフレームワークを使用したい。

1
K8s 1.6の時点で、次のものをサポートするためにそれを追加したいと思っただけです(一部は長期間にわたって):*非DockerコンテナーのDocker-CRI(ベータ)およびcri-o、frakti、rkt(アルファ)。*コンテナーが開始した/応答しなくなったときのヘルスチェック。*不健康なポッドのレクリエーション。* Cronのような仕事。*バッチジョブ(手動で開始され、一度完了するまで実行されます)。メソスフィア自身が、K8sはメソスのファーストクラスの市民であると言っているので、「最初から構築された」議論は少しあいまいに感じられます...
Jonas Schubert Erlandsson

15

少し古くなっていますが、ApacheのMesosとGoogleのKubernetesの違いは何ですかを読んで、いくつかの基本を正しく理解するのに役立ちます。また、MesosはKubernetes / Marathon / Chronosとは異なるレベルで動作することに注意してください。最後に重要なことですが、MarathonとSwarmが同じMesosクラスターで同時に動作できることを覚えておいて、Timothy ChenによるDocker Swarm + Mesosを参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.