首页 > 解决方案 > gitlab auto-deploy-app 容器的活性探测失败

问题描述

我正在使用 Kubernetes 设置 Gitlab Auto DevOps。部署时,我收到 auto-deploy-app 容器的此错误: Liveness probe failed: Get http://xx.xx.xx.xx:5000/ : dial tcp xx.xx.xx.xx:5000: getsockopt : 连接被拒绝

有没有人遇到过这个?

标签: kubernetesgitlab-ci

解决方案


我有同样的问题。它可能有很多原因。

  • 您应该确保您的应用程序在基本路径“/”上返回 200 OK 而不是重定向,因为这会使您的健康检查失败。

  • 确保在基本路径“/”上允许未经身份验证的 HTTP GET 请求。

  • 另一个更棘手的原因是您的应用程序启动时间可能超过 liveness/readiness 探测的 initialDelay,因此在应用程序准备好之前检查经常失败。在这种情况下,要么增加更多的 CPU 能力,要么增加活性探测的延迟。

有关第二个原因的更多信息,请参阅此问题:https ://github.com/kubernetes/kubernetes/issues/62594#issuecomment-420685737

可以通过设置舵图的相应值来修改就绪/活跃度探测器的初始延迟时间。例如在部署功能中添加

helm upgrade --install \
        --wait \
        --set livenessProbe.initialDelaySeconds="60" \
        --set readinessProbe.initialDelaySeconds="60" \
        ...

掌舵图升级。


推荐阅读