Google cloud platform 如何将外部流量映射到GCP traffic Director上的内部服务网格?
我已经建立了一个简单的GKE集群,该集群连接到GCP Traffic Director 下一步是如何将外部流量映射到traffic Director后端服务,后者只是内部的 基本上,我的目标是拥有一个具有IP地址的外部负载平衡器,该IP地址接收外部流量并将其路由到traffic Director服务网格,以在不同的网络端点组之间分割流量 我尝试了以下方法:Google cloud platform 如何将外部流量映射到GCP traffic Director上的内部服务网格?,google-cloud-platform,kubernetes-ingress,istio,envoyproxy,gcp-load-balancer,Google Cloud Platform,Kubernetes Ingress,Istio,Envoyproxy,Gcp Load Balancer,我已经建立了一个简单的GKE集群,该集群连接到GCP Traffic Director 下一步是如何将外部流量映射到traffic Director后端服务,后者只是内部的 基本上,我的目标是拥有一个具有IP地址的外部负载平衡器,该IP地址接收外部流量并将其路由到traffic Director服务网格,以在不同的网络端点组之间分割流量 我尝试了以下方法: 在网络服务->负载平衡-->中手动创建外部负载平衡器,但是后端列表不包括Traffic Director后端服务,因此我无法创建一个具有外部
.yaml
安装并安装入口控制器-->这将创建一个外部负载平衡器,但它只是直接连接到该服务,而不是通过Traffic DirectorapiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-nginx-ingress
annotations:
nginx.ingress.kubernetes.io/proxy-connect-timeout: "60"
nginx.ingress.kubernetes.io/proxy-send-timeout: "60"
nginx.ingress.kubernetes.io/proxy-read-timeout: "60"
nginx.ingress.kubernetes.io/send-timeout: "60"
nginx.ingress.kubernetes.io/proxy-body-size: 1M
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
rules:
- host: my-host-name.hostname.com
http:
paths:
- path: "/"
backend:
serviceName: service-test
servicePort: 80
服务:
apiVersion: v1
kind: Service
metadata:
name: service-test
annotations:
cloud.google.com/neg: '{"exposed_ports":{"80":{"name": "service-test-neg"}}}'
spec:
ports:
- port: 80
name: service-test
protocol: TCP
targetPort: 8000
selector:
run: app1
type: ClusterIP
部署:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
run: app1
name: app1
spec:
replicas: 1
selector:
matchLabels:
run: app1
template:
metadata:
labels:
run: app1
spec:
containers:
- image: gcr.io/kubernetes-e2e-test-images/serve-hostname-amd64:1.1
name: app1
command:
- /bin/sh
- -c
- /serve_hostname -http=true -udp=false -port=8000
ports:
- protocol: TCP
containerPort: 8000
上面的部署和服务直接取自教程
官方文档中似乎有一个概念,但它只是概念性的,并没有提供如何实际做到这一点
如何使用外部负载平衡器将外部流量映射到GCP traffic Director管理的服务网格中,以便将高级流量配置映射到GKE?traffic Director不是用于路由的端点。它是服务网格的“控制平面” 因此,您可以从GCP配置路由规则,而Traffic Director将按照预期配置您的侧车。但最终负载平衡器应该指向实例组或网络端点组,而不是流量控制器 编辑 Traffic Director不是正在配置的,而是正在配置的。它配置特使侧车。这些是L7代理,因此URL映射发生在代理上 端点组将是一组POD的IP地址。由于集群的pod范围已添加到子网络中;作为IP别名,VPC能够从该范围中提取任何IP地址,将其分组,并在GCP上为HTTP负载平衡器创建后端
基本上,Traffic Director是Istio,但控制平面与GCP解耦。Traffic Director不是路由指向的端点。它是服务网格的“控制平面” 因此,您可以从GCP配置路由规则,而Traffic Director将按照预期配置您的侧车。但最终负载平衡器应该指向实例组或网络端点组,而不是流量控制器 编辑 Traffic Director不是正在配置的,而是正在配置的。它配置特使侧车。这些是L7代理,因此URL映射发生在代理上 端点组将是一组POD的IP地址。由于集群的pod范围已添加到子网络中;作为IP别名,VPC能够从该范围中提取任何IP地址,将其分组,并在GCP上为HTTP负载平衡器创建后端
基本上,Traffic Director是Istio,但控制平面与GCP解耦。我明白了。。只是澄清一下,基本上,负载平衡器流量将流向网络端点组(NEG),配置有URL映射的流量控制器将管理NEG的流量,并相应地将其定向到POD?@Updates I updated by answer,澄清这些疑问。我发现Traffic Director与我的用例并不匹配,所以我只是将Anthos与istio网关和虚拟服务一起使用。它还为我提供了一个现成的仪表板,用于在GCP上进行pod/service/ReplicateSet监控。谢谢你的澄清!我懂了。。只是澄清一下,基本上,负载平衡器流量将流向网络端点组(NEG),配置有URL映射的流量控制器将管理NEG的流量,并相应地将其定向到POD?@Updates I updated by answer,澄清这些疑问。我发现Traffic Director与我的用例并不匹配,所以我只是将Anthos与istio网关和虚拟服务一起使用。它还为我提供了一个现成的仪表板,用于在GCP上进行pod/service/ReplicateSet监控。谢谢你的澄清!