我正在使用 Horizontal Pod Autoscaler 在 OpenShift 环境中缩放我的 pod。我有一个在 pod 中运行的 Web 应用程序。随着 pod 的扩展,我在 HTTP 请求的前几秒内收到了 HTTP 状态代码 404 错误。这是因为路由正在向正在启动的 pod 发送请求吗?如果是这样,有什么办法可以防止错误?我试过设置router.openshift.io/haproxy.health.check.interval
一个很小的值,但我仍然无法避免这个错误。
问问题
70 次
1 回答
1
看来您没有正确配置就绪检查。查看有关如何向您的 Deployment 添加就绪性和活动性检查的文档。
就绪探测确定容器是否准备好接受服务请求。
活性探针确定容器是否仍在运行。
在较新版本的 OpenShift / Kubernetes 中,现在还有 startupProbe,它可能会对您的情况有所帮助。
下面是一个具有 liveness 和 readiness 探针的 Deployment 示例:
kind: Deployment
apiVersion: apps/v1
...
spec:
...
template:
spec:
containers:
- name: example
readinessProbe:
tcpSocket:
port: 8080
livenessProbe:
tcpSocket:
port: 8080
...
于 2021-03-08T16:20:01.193 回答