gpt4 book ai didi

spring-boot - 在哪种情况下,kubernetes pod可以停止工作?

转载 作者:行者123 更新时间:2023-12-02 12:05:35 27 4
gpt4 key购买 nike

用JAVA spring-boot编写的API已在具有两个Pod的K8s中部署,并且已经成功运行了3周。但是,最后一天它停止工作并产生503服务器不可用。

K8s管理员告诉我们,Pods全天都在重新创建多个时间。尽管从Drone重新启动构建后它开始工作,但我想知道

  • 哪种情况会使Pod无法正常工作?
  • 为什么K8S一次又一次地重新创建Pod?
  • 如果是内存问题,因为我在JAVA中开发了此API,那么JAVA的垃圾回收在这里工作吗?

  • 问候,
    希拉曼。

    最佳答案

    哪种情况会使Pod无法正常工作?

  • 内存限制,请求限制,一般
  • 中的配额
  • 您的Pod的QoS(K8S)为Burstable,表示可以
    破烂不堪,让其他 pod 活下去
  • 节点/工作人员处于关闭状态或不愿进行更新/维护
  • 您的Java堆导致应用程序被销毁(通常是
    案例)
  • Activity 探针问题

  • 为什么K8S一次又一次地重新创建Pod?
  • 要使其再次可用(您可能有就绪问题)或
    一些卷问题(取决于)

  • 如果是内存问题,正如我在JAVA中开发的API一样,JAVA的垃圾回收在这里不起作用
  • (如果您使用的是Java 8),则可能要在
    启动应用程序时的堆大小如下:

    -XX:+ PrintFlagsFinal
    -XX:+ UnlockExperimentalVMOptions
    -XX:+ UseCGroupMemoryLimitForHeap

  • 这是Java 8+功能,因此您可能需要检查Java文档

    希望这可以帮助

    关于spring-boot - 在哪种情况下,kubernetes pod可以停止工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53703146/

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