我在下面列出了更多细节,但我想回答的问题在标题中。我目前正试图解决这个问题,但我想我先问这里以防万一有人知道答案。
关于我的设置
我在Google Compute Engine群集上运行了Kubernetes服务(通过Google容器引擎启动)。它由服务(用于前端稳定IP),复制控制器和运行Python服务器的pod组成。服务器是在端口上睡眠监听的Python gRPC服务器。
有2个pod(复制控制器中指定了2个副本),一个rc,一个服务和4个GCE实例(根据CPU设置为自动调整最多5个)。
我希望该服务能够处理任意数量的想要传输信息的客户端。但是,我目前看到该服务仅与16个客户进行通信。
我假设连接数受到我拥有的GCE实例数量或pod数量的限制。我正在做实验,看看改变这些数字会如何影响事物。
答案 0 :(得分:3)
想出来:
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开放通道。这对我来说效果特别好,因为我的客户端每隔几秒就需要轮询一次服务器,并且在不活动时它们会休眠。