【问题标题】:Cilium pods stuck in Terminating state when running helm delete运行 helm delete 时,Cilium pod 卡在 Terminating 状态
【发布时间】:2022-11-02 19:14:15
【问题描述】:

我在我的测试集群中安装了 cilium(AWS,删除了 AWS CNI,因为我们使用了 cilium CNI 插件),每当我删除 cilium 命名空间(或运行helm delete)时,hubble-ui pod 就会陷入终止状态。该 pod 有几个容器,但我注意到一个名为 backend 的容器在命名空间被删除时以代码 137 退出,从而使 hubble-ui pod 和 pod 所在的命名空间停留在Terminating 状态。从我在线阅读的内容来看,当容器尝试使用已分配的更多内存时,它们会以 137 退出。在我的测试集群中,没有在 pod 或命名空间上定义资源限制 (spec.containers.[*].resources = {})。没有显示错误消息作为错误原因。我使用的是cilium helm包v1.12.3,但是这个问题甚至在我们更新helm包版本之前就已经存在了。

我想知道是什么导致了这个问题,因为它破坏了我的 CI 管道。 如何确保后端容器正常退出? (与清除终结器相反)。

【问题讨论】:

    标签: kubernetes amazon-eks kubernetes-pod cilium


    【解决方案1】:

    因此,hubble-ui 服务的backend 应用程序/容器中似乎存在错误。 Kubernetes 向容器发送SIGTERM 信号,但容器没有响应。我通过将外壳放入容器并发送SIGTERMSIGINT 来验证这一点,这就是the application seems to listen for 为了退出而它只是不响应任何一个信号。

    接下来,我添加了一个如下所示的 preStop 钩子,并且 pod 会自行运行

    ...
            lifecycle:
              preStop:
                exec:
                  command: ["/bin/sh", "-c", "kill -SIGILL 1; true"]
    

    【讨论】:

      猜你喜欢
      • 2016-05-28
      • 1970-01-01
      • 2020-10-28
      • 1970-01-01
      • 1970-01-01
      • 2022-10-17
      • 1970-01-01
      • 2021-04-25
      • 2022-01-27
      相关资源
      最近更新 更多