我构建了容器映像,然后使用 Cloud Console 部署到 Cloud Run。但是,当我打开服务的端点 URL 时,我会看到一个403 "Error: Forbidden"页面
docker google-cloud-platform google-cloud-repository google-cloud-build google-cloud-run
Google Cloud Run 允许我为给定容器设置并发性,即在启动新容器之前它将服务的并发请求数。
我如何实际检查在任何给定时间有多少容器正在运行?Web 界面提到了哪些服务正在运行,但没有提到有多少服务,当我这样做时也是如此gcloud beta run services (list|describe)。
我想在使用Cloud Memorystore作为缓存的Google Cloud Run上运行服务。
我在与Cloud Run相同的区域中创建了一个Memorystore实例,并使用示例代码进行了连接:https : //github.com/GoogleCloudPlatform/golang-samples/blob/master/memorystore/redis/main.go这不起作用。
接下来,我创建了无服务器的VPC访问Connectore,但没有帮助。我在没有GKE群集的情况下使用Cloud Run,因此无法更改任何配置。
有没有办法从Cloud Run连接到Memorystore?
我有一个 Cloud Run 服务设置,我有一个 Cloud Scheduler 任务,该任务调用该服务上的端点。当任务完成(http 处理程序返回)时,我看到以下错误:
请求失败,因为到实例的 HTTP 连接有错误。
但是,实际处理程序返回 HTTP 200 并成功存在。有谁知道这个错误是什么意思,在什么情况下会出现?
我还附上了日志的屏幕截图。

google-cloud-platform google-cloud-scheduler google-cloud-run
我在 GCP Cloud Run 上部署了两个服务 (API)。打电话给他们service-one.myDomain.com和service-two.myDomain.com。我希望在调用 service-2 时对 service-one 进行身份验证,而不管任何用户在做什么。
我已阅读并实施了 GCP Cloud Run 文档中关于 Authenticating service-to-service ( https://cloud.google.com/run/docs/authenticating/service-to-service ) 的说明,但service-one.myDomain.com未能成功调用service-two.myDomain.com接收401:未经授权的响应。
关于如何service-one成功拨打电话的任何想法service-two?
在 google IAM 上,我创建了两个服务帐户并授予它们“Cloud Run Invoker” ( roles/run.invoker) 角色:
service-one@myproject.iam.gserviceaccount.com
service-two@myproject.iam.gserviceaccount.com
在 Cloud Run 中,我将服务帐户从“默认计算服务帐户”更改为我创建的服务帐户。我service-one@myproject.iam.gserviceaccount.com为service-one.myDomain.com和service-two@myproject.iam.gserviceaccount.com为service-two.myDomain.com
在service-one.myDomain.com我调用元数据服务器以从以下 url 获取令牌 (jwt):
http://metadata/computeMetadata/v1/instance/service-accounts/default/identity?audience=https://service-two.myDomain.com请求标头设置为{'Metadata-Flavor': 'Google'}请求成功并且我收到的令牌被解码为具有以下有效负载:
{
"alg": "RS256",
"kid": "9cef5340642b157fa8a4f0d874fe7543872d82db",
"typ": "JWT" …Run Code Online (Sandbox Code Playgroud) google-authentication google-oauth google-cloud-platform google-iam google-cloud-run
我通过 Google Cloud Run 部署了一个小型 HTTP 端点。当我关闭身份验证时它工作正常。
我现在想将其打开,以便只能由我的 Firebase 云函数调用。如果我理解正确的话,我只需在 Cloud Run 的 IAM 设置中添加正确的服务帐户邮件地址作为“Cloud Run 调用者”即可。但哪个地址是正确的呢?
我已尝试在 Firebase 控制台 -> 项目设置 -> 服务帐户中找到的所有地址。
firebase google-cloud-platform google-cloud-functions google-iam google-cloud-run
我正在按照官方说明测试 Google Cloud Run:
https://cloud.google.com/run/docs/quickstarts/build-and-deploy
是否可以在 Google Cloud Run 中部署或使用多个容器作为一项服务?例如:DB服务器容器、Web服务器容器等。
Google Cloud Platform 中是否有 AWS 安全组的替代方案?
以下是我遇到的情况:
我想做的是创建一个“安全组”,这样我的 Postgres SQL DB 和 Redis 实例只能从我的 Node.js 服务器访问,而不能从其他地方访问。我不希望它们可以通过 IP 公开访问。
我们在 AWS 中所做的是,只有安全组中的服务部分才能相互访问。
我不太确定,但我想在 GCP 中我需要使用防火墙规则(根本不确定)。
如果我是正确的,有人可以指导我如何解决这个问题吗?如果我错了,有人可以建议正确的方法吗?
amazon-web-services google-cloud-platform aws-security-group google-cloud-run
我在 Google Cloud Run 上部署了一个 NestJS 应用程序,它使用 puppeteer (V7.0.1) 生成 PDF。在本地,一切都工作得很好,但在我的 Cloud Run Service 上,我不断收到以下错误:
/usr/app/node_modules/puppeteer/.local-chromium/linux-848005/chrome-linux/chrome: error while loading shared libraries: libgobject-2.0.so.0: cannot open shared object file: No such file or directory
该目录确实存在于 Docker 容器中(使用 检查RUN ls node_modules/.....)。使用puppeteer 故障排除文档中的 Docker 代码或我在网络上发现的类似问题上发现的任何其他代码片段都会给我带来同样的错误。
FROM node:12-slim AS base
WORKDIR /usr/app
FROM base AS build
RUN apt-get update \
&& apt-get install -y wget gnupg \
&& wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
&& sh …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用命令将带有 Dockerfile 的 Node 项目部署到 Google Cloud Run gcloud beta run deploy。
长话短说,我想在 Dockerfile 中node_modules/my-module运行后复制本地:RUN npm install
COPY node_modules/my-module /app/node_modules/my-module/
Run Code Online (Sandbox Code Playgroud)
(我只在开发过程中这样做,以避免提交和推动my-module测试中的每个更改)。
不幸的是,Docker 无法复制此目录,因为默认情况node_modules下它不会上传到 Cloud Build。
所以我创建了这个.gcloudignore文件来覆盖默认值:
.gcloudignore
.git
.gitignore
node_modules/
!node_modules/my-module/
Run Code Online (Sandbox Code Playgroud)
我尝试了很多其他语法,但没有一个允许我node_modules在包含时排除node_modules/my-module.
node_modules但是,我可以通过从文件中省略整个目录来包含整个目录.gcloudignore,但这显然需要很长时间才能上传。
您知道如何将本地模块上传到 Cloud Build 吗?
google-cloud-run ×10
docker ×2
google-iam ×2
containers ×1
deployment ×1
firebase ×1
gcloud ×1
google-oauth ×1
nestjs ×1
puppeteer ×1