我的一个微型服务是在Kubernetes上运行的。我想指定到K8s负载平衡器时,一个吊舱是繁忙的,因为我得到的行为,目前是不正常的。
一个例子:
我有8个吊舱在运行,每个吊舱一次可以处理一个请求。每个请求占用分配给吊舱的CPU核心的70 %到100%。但是,当我向我的应用程序发送8个请求时,Kubernetes并不会将这些请求发送给8个pod,而是只使用一个请求。而且,由于我阻塞(通过线程池)每个应用程序的副本一次只使用一个线程,当然,请求排队等待pod 1。
,所以我的问题是:如何告诉Kubernetes,POD 1很忙,负载均衡器必须将请求2发送到POD 2?
注意:出于开发和测试目的,我在Windows 10和kubectl上使用Desktop (Docker )。
发布于 2019-09-18 09:10:00
正如prometherion所建议的那样,您可以使用活性探针,而且我建议将rediness probe添加到一起。
您可以查看正式文档:https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
有时,应用程序暂时无法为通信服务。例如,在启动期间,应用程序首先需要加载大型数据或配置文件。
在这种情况下,您不想杀死应用程序,但是您不希望在那里发送通信量到pods。K8s提供就绪探测,以检测和缓解这些情况。一个集装箱报称还没有准备好的货舱无法通过Kubernetes服务接收流量。
https://stackoverflow.com/questions/57986887
复制相似问题