标签: google-cloud-run

Google Cloud Run:“FAILED_PRECONDITION:由于配额限制”,但尚未达到实际配额

我在使用 Google Cloud CLI 部署 NodeJS 服务器时遇到问题,希望得到一些指导。这是我遵循的过程:

  1. 为我的项目执行npm run build,并成功完成。
  2. 设置 Google Cloud 服务帐户并对其进行身份验证。
  3. 使用 Google Cloud 配置 Docker gcloud auth configure-docker
  4. 设置 Google Cloud 项目 ID 和 Cloud Run 的区域。
  5. 尝试使用将我的服务部署到 Cloud Run gcloud run deploy

但是,部署失败并出现以下错误:

ERROR: (gcloud.run.deploy) FAILED_PRECONDITION: failed precondition: due to quota restrictions, cannot run builds in this region. Please contact support
Run Code Online (Sandbox Code Playgroud)

以下是有关我的设置的一些详细信息:

  • NodeJS 版本:18.12.0
  • Google Cloud CLI 版本:最新 457.0.0
  • 地区:europe-west3

我怀疑该问题可能与该地区的配额限制有关europe-west3,但我不确定如何确认或解决此问题。我检查了我的账户配额限制,还好,还没达到。有没有其他人遇到过类似的问题,或者有人知道如何解决?

google-cloud-platform gcloud google-cloud-run

4
推荐指数
1
解决办法
600
查看次数

如何在Google Cloud Run中将所有HTTP流量重定向到https

我有一个简单的容器化Web应用程序(提供HTML和Javascript的Nginx),已将其部署到Google Cloud Run。

问题是,即使我已经验证并更新了DNS记录,我似乎也无法强制HTTPS连接。用户仍然可以访问我的Cloud Run应用程序中不安全的http端点。

如何设置可强制或重定向用户使用HTTPS的Google Cloud Run服务?

google-cloud-platform google-cloud-run

3
推荐指数
1
解决办法
500
查看次数

3
推荐指数
2
解决办法
215
查看次数

使用 Cloud run 而不是 Cloud Functions 会受益吗?它在 GCP 中的什么位置?

我使用 Cloud Functions 来满足我的大部分后端需求。Cloud Run 为现有的 Cloud Functions 用户提供了哪些额外的好处?两者都是托管的,具有自动缩放功能,处理 HTTP 并在 GCP 中运行。

Cloud Run 适合Google Cloud Platform 的哪个位置?

GCP 堆栈

参考资料:GCP 解释 - 中

firebase google-cloud-platform google-cloud-functions google-cloud-run

3
推荐指数
1
解决办法
676
查看次数

Google Cloud Run身份验证

我将Google Cloud Run用于一个简单的POC网络应用程序。我的希望是暂时依靠GCP IAM来处理身份验证,类似于将身份识别代理与App Engine或GKE结合使用的方式。

当我将Cloud Run Invoker角色授予用户时,我希望身份验证的工作方式与IAP相似(登录重定向身份验证流程),但是却收到403错误。我可以卷曲它设置Authorization标题。

是否需要在面向用户的Web应用程序的应用程序中实现身份验证?我希望依靠IAM做一个快速的原型。如果需要,为简单的原型实施OAuth2身份验证的推荐方法是什么?Firebase身份验证

google-cloud-platform google-cloud-run

3
推荐指数
1
解决办法
512
查看次数

使用 Firestore 在 Cloud Run 上连接 Golang 应用程序的问题

我尝试使用以下函数从 Firestore 获取所有文档。

凭据存储在 GCP Cloud Source 存储库中的加密文件中。我解密了 Cloud Build 触发器中的配置,并在指向该文件的 Dockerfile 中设置了 ENV。我通过 RUN ls /app/credentials.json 看到内容。

我在应用程序日志中得到的错误:rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: desc = "transport: authentication handshake failed: x509: certificate signed by unknown authority"

凭据存储在 GCP Cloud Source 存储库中的加密文件中。我解密了 Cloud Build 触发器中的配置,并在指向该文件的 Dockerfile 中设置了 ENV。我通过 RUN ls /app/credentials.json 看到内容。

我在应用程序日志中得到的错误: rpc error: code = Unavailable desc = all SubConns are in TransientFailure, latest connection error: connection error: …

firebase google-cloud-run

3
推荐指数
1
解决办法
807
查看次数

Cloud Run 内存限制

如何在自定义 GKE 集群上运行使用超过 2 GB 的 Cloud Run 容器?

由于 Cloud Run 使用 knative,我想知道是否可以调整具有更多分配/允许内存限制的部署描述符以在 GKE 上运行它。

apiVersion: serving.knative.dev/v1alpha1
kind: Revision
metadata:
 ...
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform serverless google-cloud-run

3
推荐指数
1
解决办法
616
查看次数

Google Cloud Run 内存限制是否适用于容器大小?

对于来自文档的云运行内存使用情况(https://cloud.google.com/run/docs/configuring/memory-limits

超出其允许内存限制的 Cloud Run 应用程序将被终止。

当您配置内存限制设置时,您指定的内存分配用于:

  • 运营您的服务
  • 将文件写入磁盘
  • 在容器中运行二进制文件或其他进程,例如 nginx Web 服务器。

容器的大小是否计入“操作您的服务”并计入内存限制?

我们打算使用可能已经接近内存限制的图像,因此我们想知道服务本身是否只能访问从限制中减去容器大小后剩下的内容

google-cloud-run

3
推荐指数
2
解决办法
2256
查看次数

哪个生产服务器用于 Cloud Run 中的 Python 应用?

我想使用GCP cloud run作为一种技术来运行我的 python Flask 应用程序,所以我必须对它进行 dockerize。我见过的大多数示例都是使用内置的 Flask 服务器或 gunicorn 服务器作为入口点,这会在控制台上发出警告,表明它不应该用于生产。

我的问题是:对于像GCP 云运行这样的平台,我使用哪个服务器来运行该代码有关系吗?该选择会对性能产生什么影响?

python docker google-cloud-platform google-cloud-run

3
推荐指数
1
解决办法
421
查看次数

未解析 Google Cloud Run 中的结构化日志(使用 Winston 进行日志记录)

我正在尝试以 Google Cloud 正确提取日志级别的方式格式化我的日志。这是在 Cloud Run 上运行的,带有打字稿。Cloud Run 正在从容器输出中获取日志。

如果我执行以下操作,google 会正确解析日志行:

console.log(JSON.stringify({
   severity: 'ERROR',
   message: 'This is testing a structured log error for GCP'
}));
Run Code Online (Sandbox Code Playgroud)

日志输出如下所示: 日志级别错误

我尝试了多种不同的方式来使用 winston 进行格式化,结果如下:

useFormat = format.combine(
      format((info, opts) => {
        info['severity'] = info.level;
        delete info.level;
        return info;
      })(),
      format.json());


    this.winston = winston.createLogger({
      level: logLevel,
      format: useFormat,
      transports: [new winston.transports.Console()]
    });
Run Code Online (Sandbox Code Playgroud)

看起来它会工作(它正确输出 json 行),我在 GCP 日志中得到了这个: 在此处输入图片说明

任何帮助表示赞赏。

node.js winston typescript google-cloud-platform google-cloud-run

3
推荐指数
1
解决办法
869
查看次数