问题标签 [google-cloud-run]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
175 浏览

google-cloud-platform - 创建 GKE 集群时无法将 CloudRun 添加为插件

我正在使用 GKE 试用 Cloud Run,想知道这个错误:

错误:(gcloud.beta.container.clusters.create)参数--addons:CloudRun 必须是 [HttpLoadBalancing、Horizo​​ntalPodAutoscaling、KubernetesDashboard、Istio、NetworkPolicy] 之一

似乎它不会让我将 CloudRun 用作插件,我只是在创建一个集群。

整个命令是:

我只是按照文档中的快速入门: https ://cloud.google.com/run/docs/quickstarts/prebuilt-deploy-gke

~~ 更新:

我尝试通过 Cloud Console 创建集群,但出现错误: Horizontal pod autoscaling must be enabled in order to enable the Cloud Run addon.

这也是一个已知问题: https ://cloud.google.com/run/docs/issues

0 投票
2 回答
6739 浏览

kubernetes - 与 GKE 中的普通服务相比,运行 Cloud Run 的价值主张是什么?

如果我使用 Cloud Run 而不是在 GKE 中部署普通服务/容器,有什么好处吗?

0 投票
5 回答
9398 浏览

docker - Deploying to Cloud Run with a custom service account failed with iam.serviceaccounts.actAs error

I have created a custom service account travisci-deployer@PROJECT_ID.iam.gserviceaccount.com on my project and gave it the Cloud Run Admin role:

Then I set this service account as the identity for my gcloud commands:

But when I ran gcloud beta run deploy command, I got an error about the "Compute Engine default service account" not having iam.serviceAccounts.actAs permission:

This seems weird to me (because I'm not using the GCE default service account identity, although it's used by Cloud Run app once the app is deployed).

So the 1075231960084-compute@developer.gserviceaccount.com account is being used for the API call, and not my travisci-deployer@PROJECT_ID.iam.gserviceacount service account configured on gcloud?

How can I address this?

0 投票
1 回答
2858 浏览

google-cloud-run - 如何在 Google Cloud Run 上运行 WordPress?

谷歌云运行是新的。是否可以在其上运行 WordPress docker?也许使用 gce 作为 mysql/mariadb 的数据库。找不到任何关于此的讨论

0 投票
2 回答
2163 浏览

google-cloud-platform - 打开我的 Google Cloud Run 服务的 URL 时出现 401 未经授权的错误

我构建了一个示例容器(Go 示例,https://cloud.google.com/run/docs/quickstarts/build-and-deploy)并部署到云运行(我未选中“允许未经身份验证的调用”)。

但是,当我打开服务的端点 URL 时,我得到一个 401 页面,

  • 我的用户帐户有“roles/run.invoker”
  • 当我检查“允许未经身份验证的调用”时,我得到了预期的结果。

有什么可以打开端点的吗?

0 投票
2 回答
2034 浏览

docker - Cloud Run 的“gcloud builds submit”

我有这种情况,因为文档不清楚。该gcloud builds submit --tag gcr.io/[PROJECT-ID]/helloworld命令将

  • 归档我的源文件夹的内容,然后在 Google 构建服务器上运行 docker build。
  • 此外,它只查看 .gitignore 文件以获取要存档的内容。如果它是 docker build,它应该尊重 .dockerignore 文件。
  • 也没有关于如何编译应用程序的消息。如果在 dockerized 之前不是预编译的应用程序,则必须对其进行编译。

快速指南仅认为应用程序是预编译的应用程序,并且需要根据 .gitignore 的文件夹的所有内容来运行应用程序。人们不会意识到新技术的所有这些。我只是自己想通了。

因此,另一种方法是在 docker 文件中包含构建步骤(这将使我的图像变得沉重)或在本地(手动)创建一个 docker 图像,然后将图像提交到存储库(手动)然后发布到云运行(使用记录或手动的第二个命令)。

我在这里有什么遗漏吗?

0 投票
2 回答
738 浏览

google-kubernetes-engine - 如何在 GKE 上允许来自 Google Cloud Run 集群的出站请求

默认情况下,启用 Cloud Run 的集群会禁用来自任何 pod 的出站网络流量

按照文档使用 Cloud Run 创建集群后,可以检查来自集群中 pod 内部的所有请求,不仅来自 Knative 服务 pod,而且实际上来自任何 pod,都将返回 404。目前尚不清楚哪个配置设置了这个,但很明显,它是通过创建启用了 Cloud Run 的集群来实现的。

因此,例如,我们无法在此集群上安装 helm。事实上,我们无法安装任何需要来自 pod 的外部请求的东西。

重现步骤:

1 - 遵循 Cloud Run 设置官方文档

2 - 在集群中启动一个简单的 alpine pod: kubectl run -it --rm --restart=Never alpine --image=alpine sh

3 - 执行任何外部请求,例如:wget www.google.com

Cloud Run 还记录了此行为并说明了如何启用出站流量

虽然,我按照这些步骤操作,但仍然无法启用流量。也许我做错了什么,或者它真的没有按应有的方式工作。

更新

https://stackoverflow.com/a/55861559/3165889中所述,这发生在 Cloud Run 使用的当前 Istio 版本上,但应该在默认情况下为所有出站请求启用出口的 1.1 版本上进行更改。

0 投票
1 回答
564 浏览

google-cloud-platform - 如何为 Cloud Run on GKE 服务设置最小规模?

我在 Google Kubernetes Engine 上使用 Cloud Run,我能够毫无问题地部署和访问服务。

但是由于我在 GKE 上运行并为集群 24/7 付费,因此将部署扩展到零并始终对第一个请求进行冷启动是没有意义的。

我发现可以minScale将 Knative 自动缩放器设置为在此处此处此处禁用缩放为零,但我不知道该放在哪里。

GKE 中有很多用于 Isito 和 Knative-Serving 的配置、服务和工作负载,但我找不到任何匹配的东西。

我必须编辑哪个文件或配置才能设置minScale1?还是因为 Cloud Run 在内部管理特定模板,这不可能?

0 投票
1 回答
295 浏览

google-cloud-platform - 从 Google Cloud Run docker 映像连接到 Google Cloud SQL 实例

我有一个 Google Cloud Run docker 映像并想连接到 Cloud SQL 实例。该实例有一个私有 IP,但我似乎无法使用它。

Cloud Run 是否支持这种场景,如何连接?

0 投票
1 回答
1254 浏览

ajax - 对需要身份验证的云运行服务的 Ajax 请求

我在
需要身份验证的服务上运行谷歌云时遇到了与 CORS 相关的问题。

如果我尝试通过 cli 使用 Bearer 令牌执行 curl 命令,则
一切正常。不幸的是,如果我尝试在 javascript 中通过 ajax 执行相同的调用,
我会收到 403。

云运行日志中的错误是这样的:

容器永远不会被击中。

我看到的问题是,当我在网络
浏览器中使用 ajax 进行调用时。Web 浏览器正在发出飞行前请求(
URL 上的 OPTIONS)而不发送 Authorization 标头(这是预期的
行为)

问题似乎是云运行尝试对 OPTIONS
请求进行身份验证,并且从未将其发送到我的容器中,据我所知,
不应该这样做。(
https://www.w3.org/TR/cors/#cross-origin-request-with-preflight-0

这是云运行的已知问题吗?

如何向经过身份验证的云运行服务发出 ajax 请求?