gpt4 book ai didi

kubernetes - Kubernetes Pod到Pod的通信

转载 作者:行者123 更新时间:2023-12-02 11:36:47 25 4
gpt4 key购买 nike

我有2个部署-A(1个副本)和B(4个副本)

我已经在POD A中安排了作业,成功完成任务后,它会通过Deployment B的服务从Deployment B到达其中一个Pod中的端点。

成功完成工作后,有什么办法可以使我从布署B击中4个PODS的所有端点?

理想情况下,通知一个 pods !!但这是可能的,因为我不想为此使用pub-sub。

最佳答案

Is there a way I can hit all the endpoints of 4 PODS from Deployment B on successful completion of job?

But is this possible as I don't want to use pub-sub for this.


如您所说,发布订阅解决方案最适合此问题。但是您不想使用它。
为服务B使用稳定的网络身份
要在没有pub-sub的情况下解决此问题,您需要为部署B中的Pod提供稳定的网络身份。为此,您需要将服务B更改为 StatefulSet

StatefulSets are valuable for applications that require one or more of the following.

  • Stable, unique network identifiers.

当使用StatefulSet部署B时,您的作业或其他应用程序可以到达B的Pod,并具有稳定的网络身份,该身份对于您所部署的服务B的每个版本都是相同的。请记住,您还需要为Pod部署一个 Headless Service
分散模式:您可以使应用程序知道(例如,知道服务B的Pod的数量)代理,也可以作为辅助工具。您的工作将请求发送到此代理。然后,代理将请求发送到所有副本。如 Designing Distributed Systems: Patterns and Paradigms中所述
发布-订阅或请求-回复
如果使用pub-sub,则作业仅发布事件。 B中的每个 pods 负责订阅。
在请求-答复解决方案中,作业或代理负责监视服务B中存在哪些Pod(除非是固定数量的Pod),此外,如果对任何Pod的请求失败,它还需要将请求发送给所有人(有时会在部署上发生),因此负责任地将请求重试到这些Pod。
因此,是的,以请求-答复的方式,这是一个更为复杂的问题。

关于kubernetes - Kubernetes Pod到Pod的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59544521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com