1

我已经在下面列出了更多的细节,但是我试图回答的问题在标题中。我目前正试图弄清楚这一点,但我想先在这里问一下,以防有人知道副手的答案。什么限制连接到Kubernetes服务的数量?

关于我的设置

我有一个谷歌Compute Engine的集群(通过谷歌集装箱引擎启动)上运行的Kubernetes服务。它由一个服务(用于前端稳定IP),一个复制控制器和运行Python服务器的pod组成。服务器是一个在端口上侦听的Python gRPC服务器。

有2个容器(在复制控制器中指定了2个副本),1个rc,1个服务和4个GCE实例(基于CPU设置为自动调整为5)。

我希望该服务能够处理任意数量的想要传输信息的客户端。但是,我目前正在看到该服务仅与16位客户交谈。

我假设连接的数量要么受限于我拥有的GCE实例的数量,要么受到豆荚数量的限制。我会做实验,看看改变这些数字是如何影响事物的。

回答

3

想通了:

  • 这不是GCE实例的个数:我在流客户端的数量没有变化增加GCE实例的数量。
  • 这是豆荚数:每个豆荚显然可以处理8个连接。我简单地用kubernetes scale rc <rc-name> --replicas=3扩展了我的复制控制器以支持24个客户端。

我将考虑根据传入的HTTP请求进行自动缩放(使用水平pod缩放器?)的pod数量。

更新1:基于HTTP

Kubernetes doesn't currently support水平荚缩放。

更新2:

显然有在玩其他的东西在这里,如可用于服务器的线程池的大小。使用N个线程和P pod,我可以维护P * N个开放渠道。这对我来说特别有效,因为我的客户只需每隔几秒轮询一次服务器,并在非活动状态时进入休眠状态。

+0

Kubernetes确实支持从1.3开始自动缩小群集http://blog.kubernetes.io/2016/07/autoscaling-in-kubernetes.html – nathanjosiah

相关问题