如何修复 Spring Cloud Data Flow Kubernetes 容器就绪探测失败:HTTP 探测失败,状态码:401

How to fix Spring Cloud Data Flow Kubernetes container Readiness probe failed: HTTP probe failed with statuscode: 401

已使用 Helm 在 Azure AKS 上部署 Spring 云数据流:helm install --name my-release stable/spring-cloud-data-flow

Data Flow Server Implementation
Name: spring-cloud-dataflow-server
Version: 2.0.1.RELEASE

但是获取 Liveness 探测和 Readiness 探测失败 401:

Events:
  Type     Reason     Age                   From                               Message
  ----     ------     ----                  ----                               -------
  Warning  Unhealthy  10m (x52 over 103m)   kubelet, aks-nodepool1-28921497-0  Liveness probe failed: HTTP probe failed with statuscode: 401
  Warning  BackOff    6m8s (x138 over 73m)  kubelet, aks-nodepool1-28921497-0  Back-off restarting failed container
  Warning  Unhealthy  67s (x220 over 104m)  kubelet, aks-nodepool1-28921497-0  Readiness probe failed: HTTP probe failed with statuscode: 401

正在阅读此文档https://docs.spring.io/spring-cloud-dataflow/docs/2.0.2.RELEASE/reference/htmlsingle/#_application_and_server_properties

deployer.appName.kubernetes.probeCredentialsSecret=myprobesecret

但是如果仅使用 Helm 在 AKS 群集上部署数据流,如何 Set/Run 部署程序属性?

或者如何使用默认的 ProbeSecret 进行发布?使用 Helm 部署 DataFlow 时,我没有创建或修改 ProbeSecret。

谢谢

我们支持各种 deployer properties,您可以在 SCDF 中按 stream/task 部署覆盖这些。 probeCredentialsSecret 属性 就是其中之一,它专门设计用于提供秘密以访问受保护的活动和就绪探测器。

无论您是否使用 Helm 在 K8s 上提供 SCDF,实际 属性 需要在 stream/task 部署时提供。

除非您创建一个机密并在 SCDF 中配置它,否则您将无法与安全探测成功握手。

请按照 ref. guide 的配置示例进行操作。