如何使用 Spring Cloud Netflix 容器在 GKE 中定义 Ingress

How to define Ingress in GKE, with Spring Cloud Netflix containers

我有一个基于 Spring Cloud Netflix 的微服务架构:

如果我通过 Spring Cloud Zuul 网关调用架构,架构会正确运行,但我希望设置 Ingress。

我的具体配置如下:

问题是入口的所有后端服务都处于不健康状态,我不知道自己做错了什么。我必须做什么才能让 Ingress 正常工作?

编辑:根据评论,我尝试为客户服务 pod 定义 readinessProbe,如下所示:

这不起作用,当我尝试仔细检查更新的配置时,readinessProbe 不可见。我认为这是一个错误,但我不确定如何检查探测器是否已更新。

此外,actuator/health GET 是 运行 通过 Zuul 网关:

GKE 入口控制器使用 pod 部署中定义的 readiness probe 执行健康检查。使用 spring boot actuator

添加如下就绪探测器
spec:
  containers:
    - name: name
      readinessProbe:
        httpGet:
          port: 8080
          path: /actuator/health
        initialDelaySeconds: 10

在我的案例中,最终的解决方案是运行状况检查配置,而不是 readinessProbe。我更新了为入口后端服务自动创建的健康检查以指向 /actuator/health。这有效