小编Bun*_*dyQ的帖子

具有容器原生负载平衡的 GKE Ingress 未检测到运行状况检查(字段“resource.httpHealthCheck”的值无效)

我正在 Google Kubernetes Engine 上运行一个集群,我目前正在尝试按照以下文档从使用具有外部负载平衡(和 NodePort 服务)的 Ingress 切换到具有容器原生负载平衡(和 ClusterIP 服务)的 Ingress:容器原生负载平衡

为了与我的服务进行通信,我使用了以下入口配置,在使用 NodePort 服务而不是 ClusterIP 时,这些配置过去可以正常工作:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: mw-ingress
  annotations:
    kubernetes.io/ingress.global-static-ip-name: mw-cluster-ip
    networking.gke.io/managed-certificates: mw-certificate
    kubernetes.io/ingress.allow-http: "false"
spec:
  rules:
    - http:
        paths:
          - path: /*
            backend:
              serviceName: billing-frontend-service
              servicePort: 80
          - path: /auth/api/*
            backend:
              serviceName: auth-service
              servicePort: 8083
Run Code Online (Sandbox Code Playgroud)

现在按照文档,我没有使用 readinessProbe 作为容器部署的一部分作为健康检查,而是转而使用 ClusterIP 服务与 BackendConfig 结合使用。对于每个部署,我都使用这样的服务:

apiVersion: v1
kind: Service
metadata:
  labels:
    app: auth
  name: auth-service
  namespace: default
  annotations:
    cloud.google.com/backend-config: '{"default": "auth-hc-config"}'
spec:
  type: ClusterIP
  selector: …
Run Code Online (Sandbox Code Playgroud)

google-compute-engine google-cloud-platform kubernetes google-kubernetes-engine kubernetes-ingress

8
推荐指数
1
解决办法
1308
查看次数