Google cloud platform GKE Ingress仅在第二个端口上设置默认运行状况检查

Google cloud platform GKE Ingress仅在第二个端口上设置默认运行状况检查,google-cloud-platform,google-kubernetes-engine,kubernetes-ingress,Google Cloud Platform,Google Kubernetes Engine,Kubernetes Ingress,我在GKE上有一个暴露两个端口的容器。我在GCP上创建了一个L7 LB,我的入口位于第一个端口,GCP接受就绪检查作为健康检查。对于第二个端口,GCP设置其默认运行状况检查,在我的情况下,该检查将失败,并且在创建后无法修改该检查,因为它始终被还原 8081-GCP接受此就绪探测,并正确创建 8082-GCP设置默认检查“/”失败 有没有办法设置第二次健康检查? 入口 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: ap

我在GKE上有一个暴露两个端口的容器。我在GCP上创建了一个L7 LB,我的入口位于第一个端口,GCP接受就绪检查作为健康检查。对于第二个端口,GCP设置其默认运行状况检查,在我的情况下,该检查将失败,并且在创建后无法修改该检查,因为它始终被还原

  • 8081-GCP接受此就绪探测,并正确创建
  • 8082-GCP设置默认检查“/”失败 有没有办法设置第二次健康检查?

    入口

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: app-ingress
      namespace: myappnamespace
      annotations:
        kubernetes.io/ingress.global-static-ip-name: global-static-ip-name
      labels:
        app: appname
    spec:
      backend:
        serviceName: ui-service
        servicePort: 8081
      tls:
      - hosts:
        - my-host-name.com
        secretName: my-secret
      rules:
      - host: my-host-name.com
        http:
          paths:
            - backend:
                serviceName: ui-service
                servicePort: 8081
      - host: my-host-name.com
        http:
          paths:
            - backend:
                serviceName: app-service
                servicePort: 8082
    
    服务

        ---
    apiVersion: v1
    kind: Service
    metadata:
      labels:
        name: ui-service
      name: ui-service
      namespace: myappnamespace
      annotations:
        cloud.google.com/app-protocols: '{"ui-https":"HTTPS"}'
        beta.cloud.google.com/backend-config: '{"ports":{"8081":"cloud-armor"}}'
    spec:
      selector:
          app: appname
      ports:
      - name: ui-https
        port: 8081
        targetPort: "ui"
        protocol: "TCP"
      selector:
        name: appname
      type: NodePort
    ---
    apiVersion: v1
    kind: Service
    metadata:
      labels:
        name: app-service
      name: app-service
      namespace: myappnamespace
      annotations:
        cloud.google.com/app-protocols: '{"serviceport-https":"HTTPS"}'
        beta.cloud.google.com/backend-config: '{"ports":{"8082":"cloud-armor"}}'
    spec:
      selector:
          app: appname
      ports:
      - name: serviceport-https
        port: 8082
        targetPort: "service-port"
        protocol: "TCP"
      selector:
        name: appname
      type: NodePort
    ---
    
    部署

        apiVersion: apps/v1
    kind: Deployment
    metadata:
        name: appname
        namespace: myappnamespace
        labels:
            name: appname
    spec:
        replicas:1
        selector:
            matchLabels:
                name: appname
        strategy:
            type: Recreate
        template:
            metadata:
                name: appname
                namespace: appnamespace
                labels:
                    name: appname
            spec:
                restartPolicy: Always
                serviceAccountName: myserviceaccount
                containers:
                - name: my-container
                  image: image
                  ports:
                  - name: service-port
                    containerPort: 8082
                  - name: ui
                    containerPort: 8081
                  readinessProbe:
                  failureThreshold: 3
                  httpGet:
                   path: /api/health
                     port: 8081
                     scheme: HTTPS
            livenessProbe:
              exec:
                command:
                  - cat
                  - /version.txt
            [......]
    

    您使用的是什么GKE版本?您是否有一些额外的设置/配置(Istion、VPC)?