繁体   English   中英

HTTPS 的 GKE 入口和 TCP 的 LoadBalancer 在同一后端?

[英]GKE Ingress for HTTPS and LoadBalancer for TCP on same backend?

用例是这样的:我有一个 RabbitMQ 集群,STOMP over websocket。 websocket 使用 SSL (wss:xxxx)。 我设置了一个入口来处理证书。 它将流量转发到内部端口 15674。RabbitMQ 还需要在端口 5672 上接受 TCP。

Ingress负载均衡器不做TCP,是L7。 Service LoadBalancer 不做 HTTPS,它是 L4。

是否可以设置指向同一后端但不同端口的 Ingress 和 Service LoadBalancer? 还有另一种方法可以做到这一点吗?

GKE Ingress 仅适用于 HTTP / HTTPS / "HTTP/2" (TLS) 流量,您可以创建GKE TCP LB并指向相同的后端。

像这样的东西:

apiVersion: "v1"
kind: "Service"
metadata:
  name: "l4-loadbalancer"
  namespace: "default"
  labels:
    app: "nginx"
spec:
  ports:
  - protocol: "TCP"
    port: 80
    targetPort: 80
  selector:
    app: "nginx"
  type: "LoadBalancer"
  loadBalancerIP: ""

您也可以仅使用 GKE tcp 负载均衡器来处理所有这些问题,但缺点是您需要直接在后端处理 SSL 证书,如果您希望 GCP 处理此问题,那么 2 负载均衡器方法将会更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM