什么限制了与Kubernetes服务的连接数量?

时间:2016-02-04 19:36:37

标签: python google-compute-engine kubernetes google-kubernetes-engine grpc

我在下面列出了更多细节,但我想回答的问题在标题中。我目前正试图解决这个问题,但我想我先问这里以防万一有人知道答案。

关于我的设置

我在Google Compute Engine群集上运行了Kubernetes服务(通过Google容器引擎启动)。它由服务(用于前端稳定IP),复制控制器和运行Python服务器的pod组成。服务器是在端口上睡眠监听的Python gRPC服务器。

有2个pod(复制控制器中指定了2个副本),一个rc,一个服务和4个GCE实例(根据CPU设置为自动调整最多5个)。

我希望该服务能够处理任意数量的想要传输信息的客户端。但是,我目前看到该服务仅与16个客户进行通信。

我假设连接数受到我拥有的GCE实例数量或pod数量的限制。我正在做实验,看看改变这些数字会如何影响事物。

1 个答案:

答案 0 :(得分:3)

想出来:

  • 它不是GCE实例的数量:我增加了GCE实例的数量而没有改变流客户端的数量。
  • 播客的数量:每个播放器显然可以处理8个连接。我只是使用kubernetes scale rc <rc-name> --replicas=3扩展我的复制控制器以支持24个客户端。

我将根据传入的HTTP请求调查自动缩放(使用水平pod定标器?)pod的数量。

更新1:

基于HTTP的Kubernetes doesn't currently support水平pod缩放。

更新2:

显然这里还有其他的东西,比如服务器可用的线程池的大小。使用N个线程和P pod,我能够维持P * N开放通道。这对我来说效果特别好,因为我的客户端每隔几秒就需要轮询一次服务器,并且在不活动时它们会休眠。