kubernetes - 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 : 连接被拒绝
有没有人遇到过这个?
解决方案
我有同样的问题。它可能有很多原因。
您应该确保您的应用程序在基本路径“/”上返回 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" \
...
掌舵图升级。
推荐阅读
- bnf - 是否有 BNF、ENBF 标准?
- c - 确定两个节点之间是否存在路径的最有效方法是什么?
- .net-core - 如何停止在 .NET Core 中发布 FxCop 库
- visual-studio-code - 如何在Rubymine上设置JS代码的输出
- javascript - Joi 只要值为字符串,如何允许未知属性
- android - Android - Google Maps Api 无法更改默认背景颜色
- hyperledger-fabric - 当使用 configtxgen 创建创世和交易时,我们是否需要使用密钥对
- android - RecyclerView Adapter 在更新不同的 observable 时改变列表
- c++ - 如何通过“初始化列表”初始化 C++ 派生结构?
- c# - 如何从 Azure Blob 存储中的 Hadoop AvroContainer 中删除记录?