是否可以通过一个Gcloud可扩展服务器代理服务多个端点

时间:2017-10-10 00:07:55

标签: google-cloud-platform google-cloud-endpoints

我无法在线查找有关如何在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所以我认为它必须是一种配置代理服务多个后端服务的方法,但是我找不到任何关于它的文档。

1 个答案:

答案 0 :(得分:0)

不清楚为什么需要在4个不同的端口运行服务。即使您有多个gRPC服务,它们也可以在同一个端口上运行。如果负载平衡,容器或容器不是负载平衡的正确位置。你应该创建更多的pod。 那么,ESP不支持这种负载均衡功能,不支持多个端点。

BTW,这是设置ESP的source code