gpt4 book ai didi

jboss - JBOSS/Wildfly集群和Kubernetes-

转载 作者:行者123 更新时间:2023-12-02 11:48:50 34 4
gpt4 key购买 nike

  • 当前配置:
  • 正在运行的16个Pod,基于JBoss TCP的集群以及google ping发现。容器作为状态集部署在Kubernetes集群上。
  • 没有负载的初始群集按预期运行,没有任何单个问题,但是当负载增加时,观察到以下行为:
  • 在管理初始负载期间,某些容器不可用,因此,这些容器自动重新启动。
  • 这些Pod重新启动后,它们以新IP地址开始,但是相同的主机和旧IP一起留在JBoss发现文件中。结果,此发现文件包含具有多个IP地址的主机。


  • aaa-ops-stage-0        b6418a02-4db3-0397-ba2b-5a4a3e274560         10.20.0.17:7800        F
    aaa-ops-stage-1 d57dc7b7-997f-236e-eb9f-a1604ddafc8f 10.20.0.10:7800 F
    aaa-ops-stage-1 63a54371-111e-f9e9-3de5-65c6f6ff9dcd 10.20.0.16:7800 F
    aaa-ops-stage-1 2dfeb3d8-6cc4-03e0-719e-b4dbb8a63815 10.20.1.13:7800 T
    aaa-ops-stage-0 8053ed47-ba1b-5bb1-fcd2-a2cffb154703 10.20.0.9:7800 F
    aaa-ops-stage-0 7068cd6c-ff83-dd5d-1610-e5c03f089605 10.20.0.9:7800 F
    aaa-ops-stage-0 6230152a-1bc7-30ed-0073-816224bcdc26 10.20.0.14:7800 F


  • 发生这种情况并重新启动Pod时,此Pod的启动速度非常慢,因为它尝试将集群消息发送到上述发现文件中的所有记录。因为aaa-ops-stage-0具有新的且只有一个IP,其他所有aaa-ops-stage-0都只是超时。如果pod 0的重新启动次数很多,那么发现文件中将包含更多记录。通常,每次Pod重新启动时,通常还会增加启动时间,因为Pod随新IP一起出现,并且超时时间甚至更长。
  • 在pod配置中实现了就绪探针,用于更改新启动的pod的状态,这样,负载均衡器就知道pod准备何时接收请求。不幸的是,由于存在上述大量超时,因此pod永远不会完全启动,因为就绪探针会在60秒不可用后重新启动pod。由于最终所有pod陷入重新启动循环,服务完全停止。

  • 我相信,如果我们有可能使用粘性IP,并且当pod以10.20.0.17开头时,它将在重新启动期间使用该IP。这样,我们将避免上述行为,并且不会发生超时。任何超时都不会完全减少由就绪性探针触发的重新启动,并且服务将保持运行状态,并且不会在我们产生的负载的范围内运行。

    问题是,是否有可能对正在运行的Pod使用静态或粘性IP地址,以及这些IP是否可能在重启期间保持不变?任何其他建议也欢迎!

    最佳答案

    有几种方法可以实现您的目标:

    1使用kubernetes DNS地址代替K.Nicholas编写的IP地址。

    2使用Calico CNI plugin并使用注释:

     annotations:
    cni.projectcalico.org/ipAddrs: "[\"192.168.0.1\"]"

    为您的Pod指定IP地址。
    可以在 documentation.中找到有关如何在群集中配置Calico的信息。

    顺便说一句,使用粘性IP地址不是一个好习惯。

    关于jboss - JBOSS/Wildfly集群和Kubernetes-,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50533503/

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