是否可以通过 GKE ingress 提供 Google Cloud Internal TCP/UDP Load Balancer?

Is it possible to provision a Google Cloud Internal TCP/UDP Load Balancer through GKE ingress?

我正在使用 google GKE。我需要一个内部 tcp 直通负载均衡器来公开我的服务。后端服务可以终止 TLS 流量。我可以手动配置一个 tcp 负载均衡器。但是,我想通过入口管理负载均衡器。 google cloud documentation 只讨论通过 Ingress 创建 HTTP(S) L7 负载均衡器。

是否可以通过 GKE ingress 提供 Google Cloud Internal TCP/UDP Loadbalancer

如果你只是想做内部TCP负载均衡,那么你不需要Ingress资源;您可以通过 LoadBalancer 类型的服务公开您的部署。

apiVersion: v1
kind: Service
metadata:
  name: ilb-service
  annotations:
    networking.gke.io/load-balancer-type: "Internal"
  labels:
    app: myapp
spec:
  type: LoadBalancer
  selector:
    app: myapp
  ports:
  - port: 80
    targetPort: 8080
    protocol: TCP

以上内容将创建一个 GCP 内部负载平衡器,并将端口 80 上的传入流量平衡到您的应用 运行 端口 8080 上的流量。

注意:networking.gke.io/load-balancer-type: "Internal" 是在 GCP 中创建 ILB 与 GLB 的原因。