google-cloud-platform - 在本地部署 ESPv2
问题描述
我已经在 CloudRun 上成功部署了 ESPv2。
由于 ESPv2 基于 Envoy,我想知道是否有办法在我的机器上本地部署 ESPv2。
谢谢
解决方案
是的你可以。有一个文档 告诉您如何在本地或其他平台(如 AWS)或未在 Google Cloud 上运行的 Kubernetes 集群上运行 ESP。我强烈建议您先学习它,但我会尝试对其进行总结。
该指南也适用于 ESPv2。
请注意,Windows 尚不支持,在您的机器上运行 ESPv2 容器之前有一些先决条件:
- 你应该在你的机器上安装了 Docker。
- 您已在本地或运行 ESPv2 的主机可访问的主机上部署 API。
- 您已设置 Cloud Endpoints 并部署配置以为您的 API 创建服务。
您还需要提供具有以下角色的服务帐户 JSON 文件:
- 服务控制器
- 云跟踪代理
因为 ESPv2 使用服务帐户详细信息来生成访问令牌来调用服务来管理您的 API。
在 Linux 上使用 Docker 运行的示例命令:
sudo docker run \
--detach \
--name="esp" \
--net="host" \
--volume=$HOME/Downloads:/esp \
--publish=8082 \
gcr.io/endpoints-release/endpoints-runtime:1 \
--service=YOUR_SERVICE_NAME \
--rollout_strategy=managed \
--http_port=8082 \
--backend=localhost:8080 \
--service_account_key=/esp/service-account-creds.json