Docker容器中的AutoScaling

时间:2016-10-28 05:37:34

标签: docker kubernetes dcos

我一直在研究Docker容器化一段时间,但很少有事情让我感到困惑。据我所知,所有容器都被分组到一个集群中,Docker Swarm,DC / OS,Kubernetes或Rancher等集群管理工具可用于管理docker容器。我一直在测试使用DC / OS和Kubernetes的Container集群管理,但仍有一些问题没有得到答复。

容器级别的自动扩展如何帮助我们使用生产服务器?应用程序如何为多个容器的流量提供服务?

假设我们使用容器部署了一个Web应用程序,并且它们已经自动缩放。交通如何流向集装箱?如何管理会议?

为自动缩放容器计算了哪些指标?

2 个答案:

答案 0 :(得分:1)

Kubernetes的概念叫做service。 Kubernetes服务是一种抽象,它定义了一组逻辑Pod和一个访问它们的策略。 Kubernetes使用服务来提供来自多个容器的流量。您可以阅读有关服务here的更多信息。

AFAIK,会话在kubernetes之外进行管理,但可以通过将service.spec.sessionAffinity设置为" ClientIP"来选择基于客户端IP的会话亲和性。您可以阅读有关服务和会话亲和力的更多信息here

cpu和memory等多个指标可用于自动扩展容器。您可以阅读有关自动缩放的好blog,何时以及如何使用。

答案 1 :(得分:1)

DC / OS中的自动调节(注意:Mesosphere是公司,DC / OS是开源项目)自动调节在docs中有详细描述。与Kubernetes基本相同,您可以使用低级别指标(如CPU利用率)来决定何时增加应用程序实例的数量或更高级别的内容,例如应用程序吞吐量,例如使用Microscaling方法

关于路由如何工作的问题(如何将请求转发到实例,即运行单个容器):您需要一个负载均衡器,DC / OS再次为您提供此功能。同样,这些选项在docs中详细说明,基本上是:基于HAProxy的南北或基于IPtables的东西(集群内部)负载均衡器。