GKE Ingress只会在第二个端口上设置默认的运行状况检查

时间:2020-05-29 13:55:07

标签: google-cloud-platform google-kubernetes-engine kubernetes-ingress

我在GKE上有一个暴露两个端口的容器。我在GCP上创建了一个L7 LB,第一个端口上有我的Ingress,GCP接受了准备检查作为运行状况检查。对于第二个端口,GCP设置了默认的运行状况检查,在我看来,该检查将失败,并且在创建后无法对其进行任何修改,因为它始终会还原。

  1. 8081-GCP接受此就绪探测器,并已正确创建
  2. 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
        [......]

0 个答案:

没有答案