有什么方法可以控制 OpenShift 路由以与水平 pod 自动缩放器协同工作?

Is there any way to control OpenShift routes for co-working with horizontal pod auto-scaler?

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

您似乎没有正确配置就绪检查Check the documentation on how to add readiness and liveness checks to your Deployment.

  • 就绪探测确定容器是否准备好接受服务请求。

  • 活性探测确定容器是否仍然 运行。

在较新版本的 OpenShift / Kubernetes 中,现在还有 startupProbe,这可能对您的情况有所帮助。

下面是一个带有活跃度和就绪度探测的 Deployment 示例:

kind: Deployment
apiVersion: apps/v1
...
spec:
...
  template:
    spec:
      containers:
        - name: example
          readinessProbe: 
            tcpSocket:
              port: 8080
          livenessProbe: 
            tcpSocket:
              port: 8080
...