1

我正在使用 Horizo​​ntal Pod Autoscaler 在 OpenShift 环境中缩放我的 pod。我有一个在 pod 中运行的 Web 应用程序。随着 pod 的扩展,我在 HTTP 请求的前几秒内收到了 HTTP 状态代码 404 错误。这是因为路由正在向正在启动的 pod 发送请求吗?如果是这样,有什么办法可以防止错误?我试过设置router.openshift.io/haproxy.health.check.interval一个很小的值,但我仍然无法避免这个错误。

4

1 回答 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 回答