Измените LB с l4 на l7 в GKE с помощью nginx-ingress-controller.

У меня есть следующая служба, служба по умолчанию для nginx-ingress-controller:

      apiVersion: v1
kind: Service
metadata:
  annotations:
    cloud.google.com/app-protocols: '{"http":"HTTP2","https":"HTTP2"}'
    cloud.google.com/neg: '{"ingress":true}'
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app.kubernetes.io/component":"controller","app.kubernetes.io/instance":"nginx-ingress-controller","app.kubernetes.io/managed-by":"Helm","app.kubernetes.io/name":"nginx-ingress-controller","app.kubernetes.io/version":"1.9.4","helm.sh/chart":"nginx-ingress-controller-9.9.3","io.portainer.kubernetes.application.name":"nginx-ingress-controller","io.portainer.kubernetes.application.owner":"admin"},"name":"nginx-ingress-controller","namespace":"default"},"spec":{"externalTrafficPolicy":"","ports":[{"name":"http","port":80,"protocol":"TCP","targetPort":"http"},{"name":"https","port":443,"protocol":"TCP","targetPort":"https"}],"selector":{"app.kubernetes.io/component":"controller","app.kubernetes.io/instance":"nginx-ingress-controller","app.kubernetes.io/name":"nginx-ingress-controller"},"sessionAffinity":"None","type":"LoadBalancer"}}
    meta.helm.sh/release-name: nginx-ingress-controller
    meta.helm.sh/release-namespace: default
  creationTimestamp: "2023-12-02T15:20:36Z"
  finalizers:
  - service.kubernetes.io/load-balancer-cleanup
  labels:
    app.kubernetes.io/component: controller
    app.kubernetes.io/instance: nginx-ingress-controller
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: nginx-ingress-controller
    app.kubernetes.io/version: 1.9.4
    helm.sh/chart: nginx-ingress-controller-9.9.3
    io.portainer.kubernetes.application.name: nginx-ingress-controller
    io.portainer.kubernetes.application.owner: admin
  name: nginx-ingress-controller
  namespace: default
  resourceVersion: "2398295"
  uid: b8662a4f-3259-4f92-96fb-1a58f2250444

Я пробовал несколько вещей, но не могу заставить GKE предоставить L7 LB вместо L4 LB.

Служба поддержки Google заявила, что L7 можно использовать через сервис, но их документации там нет.

Я также пытался указать LB через аргументы Deployment.yaml, но это не работает.

Я не уверен, как двигаться дальше, в конечном итоге нужно использовать nginx-ingress L7 с GCDN.

К сожалению, L4 L4 нельзя использовать с Google CDN, что весьма раздражает.

Служба nginx может использовать L7, но я не могу найти правильную документацию для внесения изменений.

Кроме того, я думал, что есть способ использовать GKE, но это будет проблематично.

Чтобы уточнить, мне нужно указать в моем файле Deployment.yaml, чтобы Google использовал L7, а не L4 LB, чтобы я мог интегрировать nginx-ingress с Google CDN.