Kubernetes上的相同节点关联
我将nginx部署吊舱作为前端,通过集群服务与uwsgi部署吊舱作为后端进行通信 我希望nginx吊舱优先使用在其节点上运行的uwsgi吊舱Kubernetes上的相同节点关联,kubernetes,Kubernetes,我将nginx部署吊舱作为前端,通过集群服务与uwsgi部署吊舱作为后端进行通信 我希望nginx吊舱优先使用在其节点上运行的uwsgi吊舱 有没有可能在不命名节点的情况下使用节点关联来实现这一点?如果要在与uwsgi pod相同的节点上运行nginx pod,请使用pod关联 podAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector:
有没有可能在不命名节点的情况下使用节点关联来实现这一点?如果要在与uwsgi pod相同的节点上运行nginx pod,请使用pod关联
podAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- uwsgi
有关pod关联性和反关联性的更多详细信息,请单击在同一节点上提供pod和订单/调度可通过以下方式实现。然而,如果你想让库伯内特斯为你决定,你必须使用
另外,为了验证您是否以正确的方式完成了所有工作,请参考我所了解的nginx pods和uwsgi pods中的pod affinity, 和nginx pods将流量代理到uwsgi pods 您正在尝试将nxinx pods代理流量传输到同一节点上的uwsgi pods 先前发布的答案仅部分有效。让我解释一下原因 使用PodAffinity确实会将nginx和uwsgi pod安排在一起,但不会影响负载平衡
Nginx-uwsgi负载平衡将保持不变(将是随机的) 您可以做的最简单的事情是在同一个pod中运行nginx容器和uwsgi容器,并使它们与localhost通信。通过这种方式,您可以确保:
如果这种方法解决了您的问题,请告诉我,或者出于某种原因,我们应该尝试不同的方法。有趣的方法,但这打破了“优先顺序”。如果uwsgi失败,那么nginx服务将完全失败。也许这不是问题,但我认为有一个更灵活的解决方案来满足亲和性需求。我有几个nginx吊舱和几个uwsgi吊舱。我不认为这种方法使每个nginx pod在其同一节点上使用uwsgi pod,而不是在另一个随机节点上。对于更新标题提议,我想要的不是更改调度,而是更改流量调度,因此nginx将流量调度到其同一节点uwsgi pod(如果活动)。