我无法在线查找有关如何在Gcloud端点中运行多个端点的信息。
在Gcloud端点示例中,它仅描述了如何设置为1个端点提供服务的ESP,我设法让它工作
spec:
containers:
- name: esp
image: gcr.io/endpoints-release/endpoints-runtime:1
args: [
"-P", "9000",
"-s", "SERVICE_NAME",
"-v", "SERVICE_CONFIG_ID",
"-a", "grpc://127.0.0.1:8000"
]
ports:
- containerPort: 9000
- name: bookstore
image: gcr.io/endpointsv2/python-grpc-bookstore-server:1
ports:
- containerPort: 8000
我有一个打开4个grpc端点的容器。 我尝试了以下配置:但它似乎没有按预期工作。 容器:
- name: platform
image: gcr.io/platform-100007/platform:latest
ports:
- containerPort: 8002
- containerPort: 8005
- containerPort: 8011
- containerPort: 8008
- name: esp
image: gcr.io/endpoints-release/endpoints-runtime:1
args: [
"-P", "9005",
"-a", "grpc://127.0.0.1:8005",
"-P", "9002",
"-a", "grpc://127.0.0.1:8002",
"-P", "9011",
"-a", "grpc://127.0.0.1:8011",
"-P", "9008",
"-a", "grpc://127.0.0.1:8008",
"-s", "testgrpc.endpoints.platform-100007.cloud.goog",
"-v", "2017-10-09r0",
]
ports:
- containerPort: 9005
- containerPort: 9002
- containerPort: 9011
- containerPort: 9008
服务:
apiVersion: v1
kind: Service
metadata:
name: platform
spec:
type: LoadBalancer
ports:
- protocol: TCP
port: 9002
nodePort: 30082
name: "grpc"
- protocol: TCP
port: 9005
nodePort: 30085
name: "8005"
- protocol: TCP
port: 9011
nodePort: 30811
name: "8011"
- protocol: TCP
port: 9008
nodePort: 30808
name: "flow"
selector:
run: platform
当我阅读[startup] [1]选项https://cloud.google.com/endpoints/docs/grpc/specify-proxy-startup-options
时 e.g。 -P HTTP2_PORT --http2_port HTTP2_PORT Sets the ports to be exposed by the proxy for HTTP/2 connections.
由于它在这里使用ports
所以我认为它必须是一种配置代理服务多个后端服务的方法,但是我找不到任何关于它的文档。
答案 0 :(得分:0)
不清楚为什么需要在4个不同的端口运行服务。即使您有多个gRPC服务,它们也可以在同一个端口上运行。如果负载平衡,容器或容器不是负载平衡的正确位置。你应该创建更多的pod。 那么,ESP不支持这种负载均衡功能,不支持多个端点。
BTW,这是设置ESP的source code。