2016-10-28 22 views
1

私はしばらくDockerコンテナ化を検討していましたが、それでも私には紛らわしいものはほとんどありません。すべてのコンテナがクラスタにグループ化され、Docker Swarm、DC/OS、Kubernetes、Rancherなどのクラスタ管理ツールを使用してドッキング・コンテナを管理できることを理解しています。私はDC/OSとKubernetesでコンテナのクラスタ管理をテストしてきましたが、依然として私には未解決の質問がいくつかあります。Dockerコンテナでの自動スケーリング

コンテナレベルの自動スケーリングはプロダクションサーバでどのように役立ちますか?アプリケーションは複数のコンテナからのトラフィックをどのように処理しますか?

コンテナを使用してWebアプリケーションをデプロイし、自動スケーリングしたとします。コンテナへのトラフィックはどのように流れますか?セッションはどのように管理されていますか?

自動スケーリングの計算にはどのような指標が使用されますか?

答えて

1

DC/OS(メモ:Mesosphereは会社、DC/OSはオープンソースプロジェクト)のオートスケーリングは、docsで詳細に説明されています。基本的にKubernetesと同じように、CPU使用率などの低レベルのメトリクスを使用して、アプリケーションのインスタンス数を増やすか、アプリスループットのような高レベルのものを増やすかを決めることができます(Microscalingアプローチを使用)。

どのようにルーティングが動作するか(1つのコンテナが実行されているインスタンスに要求を転送する方法):ロードバランサが必要であり、DC/OSはこれをそのまま使用できます。また、オプションは、docsで詳細に説明されています。基本的にHAProxyベースのNorth-SouthまたはIPtablesベースのEast-West(クラスタ内部)ロードバランサです。

+3

DC/OSの場合は、インバウンドLBは自動スケーリングの例を持つMarathon-LBです:https://github.com/mesosphere/marathon-lb&https://github.com/mesosphere/marathon-lb-autoscale – KarlKFI

1

Kubernetesにはserviceという概念があります。 Kubernetesサービスは、論理的なPodセットと、それにアクセスするためのポリシーを定義する抽象です。 Kubernetesは、サービスを使用して複数のコンテナからのトラフィックを処理します。サービスhereについて詳しく読むことができます。

AFAIK、セッションはkubernetesの外で管理されますが、Client-IPベースのセッションアフィニティはservice.spec.sessionAffinityを "ClientIP"に設定することで選択できます。サービスとセッションのアフィニティについてもっと読むことができますhere

自動スケーリングのコンテナには、CPUやメモリなどの複数の測定基準を使用できます。あなたはいつ、どのようにオートスケーリングについて読むことができる良いblogがあります。

+0

ブログからの有用な情報が提供されています。私はkubernetesクラスターとすべてを設定する方法についての完全な知識を持っています...私の質問は、複数のコンテナーが単一のサービスを使用する複数のユーザーからの要求にどのように役立つかです。どのセッションがどのコンテナに固執しているのか、そしてどのセッションがどのアプリケーションを生き残るために使用されているのかをサービスがどのように認識するのか。 – Ali

+1

同じセク​​ションに画像があります。http://kubernetes.io/docs/user-guide/services/#virtual-ips-and-service-proxies - サービスはロードバランサのように動作します。 –

+0

それは部分を説明します...しかし、それらのサービスはどのように維持されていますか?経路構成とすべて...メゾスフィアに関する考え方は? – Ali

関連する問題