生成API描述符文件时,运行Linux gRPC插件最快/最轻的Linux Docker映像是什么?
前面提到的API描述符是否应该成为Cloud Build工件并保存到Cloud Storage Bucket?
...以便用于gcloud
将API部署到Cloud Endpoints。
细节
我在Google Compute Engine上运行的Docker容器中运行Python gRPC服务和ESP 。关于gRPC> API管理显示了我的应用程序体系结构图:
我的高级构建步骤:
1)创建描述符文件,api_descriptor.pb使用protoc协议缓冲器编译器。
python -m grpc_tools.protoc \
--include_imports \
--include_source_info \
--proto_path=. \
--descriptor_set_out=api_descriptor.pb \
--python_out=generated_pb2 \
--grpc_python_out=generated_pb2 \
bookstore.proto
2) 使用gcloud命令行工具部署原型描述符文件(api_descriptor.pb)和配置文件:
gcloud endpoints services deploy api_descriptor.pb api_config.yaml
3) 使用Python插件生成gRPC代码:
python -m grpc_tools.protoc -I../../protos --python_out=. --grpc_python_out=. ../../protos/helloworld.proto
4)构建最终的Docker映像以部署在Google Compute Engine上。生成的Docker映像应包括:
从第3步生成的gRPC代码。
gRPC服务器需要的任何其他Python软件包。
步骤4)使用以下Dockerfile构建“ gRPC服务器”(附图中最右边的蓝色框):
FROM gcr.io/google_appengine/python:latest
WORKDIR .
EXPOSE 8081
ENTRYPOINT ["python", "server.py"]
ADD requirements.txt .
ADD protos ./protos
RUN mkdir out
RUN apt-get update && \
apt-get install -y python2.7 python-pip && \
pip install -r requirements.txt
RUN python \
-m grpc_tools.protoc \
--python_out=out \
--grpc_python_out=out \
--proto_path=. \
bookstore.proto
我正在将这些构建步骤迁移到Google的Cloud Build。
AFAICT我的高级构建步骤应映射到Cloud Builder官方构建器映像。
1) ???
2)使用cloud-builders / gcloud /运行gcloud命令。
3) ???
4)使用cloud-builders / docker构建'gRPC Server'Docker映像。
步骤2)和3)已提供可用的云构建器(请参阅GoogleCloudPlatform / cloud-builders)。
但是,我不确定如何将步骤1)和3)迁移到Cloud Build。这两个步骤都需要运行一个Python插件,该插件在基本Linux Docker映像中不可用。
AFAICT步骤1)应生成一个Cloud Build构件,api_descriptor.pb并保存到Cloud Storage Bucket。
生成API描述符文件时,运行Linux gRPC插件最快/最轻的Linux Docker映像是什么?
前面提到的API描述符是否应该成为Cloud Build工件并保存到Cloud Storage Bucket?
...以便用于gcloud将API部署到Cloud Endpoints。
相关分类