kubernetes - 如何在 Google Cloud Platform 上部署 GRPC 服务器和客户端?
问题描述
我是使用 GCP/Kubernetes 的新手。我想将 GRPC 服务和客户端都部署到 GCP。
我已经阅读了很多关于它的内容并尝试了几件事。在云端点上有一些东西,您可以在其中编译您的 proto 文件并执行 api.config.yaml。(https://cloud.google.com/endpoints/docs/grpc/get-started-grpc-kubernetes-engine)
这不是我想要做的。我想用它的 .proto 上传一个 GRPC 服务并公开它的 HTTP/2 公共 IP 地址和端口。然后,部署一个与该地址交互并公开 REST 端点的 GRPC 客户端。
我怎样才能完成这项工作?
解决方案
要将 grpc 应用程序部署到 GKE/Kubernetes:
- 了解 gRPC,遵循https://grpc.io/docs/quickstart/上的快速入门之一
- 了解如何为您的应用程序构建 Docker 映像。
- 拥有 Docker 映像后,请按照https://cloud.google.com/kubernetes-engine/docs/tutorials/hello-app教程学习如何:
- 将容器映像推送到 Google Container Registry
- 创建 GKE 集群
- 部署容器镜像
- 通过 IP 地址在公共 Internet 上公开它。
这些应该是好的开始。
请注意,gRPC 应用程序与 HTTP Web 服务器应用程序没有太大区别。就 Kubernetes 而言,它们只是一个带有端口号的容器镜像。:)
推荐阅读
- javascript - 比较输入文本和人名只属于一个输入数字id
- angular - 无法初始化 FormGroup
- javascript - 如何将从 1 个量角器测试脚本中检索到的变量传递给另一个
- c++ - 返回析构函数有副作用的对象
- python - 如何将 dask 数据帧写入谷歌云存储或 Bigquery
- javascript - javascript字符串日期格式之间的区别
- python - 在 matplotlib 的水平条形图上添加百分比值
- javascript - 如何在套接字 io 连接中长时间保持活动客户端会话
- c# - C#DownloadStringTaskAsync:为什么没有触发超时异常捕获?
- angular - 如何检测角度 6 中打字稿对象的变化