我在使用 Google Cloud CLI 部署 NodeJS 服务器时遇到问题,希望得到一些指导。这是我遵循的过程:
npm run build,并成功完成。gcloud auth configure-docker。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)
以下是有关我的设置的一些详细信息:
europe-west3我怀疑该问题可能与该地区的配额限制有关europe-west3,但我不确定如何确认或解决此问题。我检查了我的账户配额限制,还好,还没达到。有没有其他人遇到过类似的问题,或者有人知道如何解决?
我有一个简单的容器化Web应用程序(提供HTML和Javascript的Nginx),已将其部署到Google Cloud Run。
问题是,即使我已经验证并更新了DNS记录,我似乎也无法强制HTTPS连接。用户仍然可以访问我的Cloud Run应用程序中不安全的http端点。
如何设置可强制或重定向用户使用HTTPS的Google Cloud Run服务?
如果我使用Cloud Run而不是在GKE中部署普通的服务/容器有什么好处?
google-cloud-platform kubernetes google-kubernetes-engine google-cloud-run
我使用 Cloud Functions 来满足我的大部分后端需求。Cloud Run 为现有的 Cloud Functions 用户提供了哪些额外的好处?两者都是托管的,具有自动缩放功能,处理 HTTP 并在 GCP 中运行。
Cloud Run 适合Google Cloud Platform 的哪个位置?
参考资料:GCP 解释 - 中
firebase google-cloud-platform google-cloud-functions google-cloud-run
我将Google Cloud Run用于一个简单的POC网络应用程序。我的希望是暂时依靠GCP IAM来处理身份验证,类似于将身份识别代理与App Engine或GKE结合使用的方式。
当我将Cloud Run Invoker角色授予用户时,我希望身份验证的工作方式与IAP相似(登录重定向身份验证流程),但是却收到403错误。我可以卷曲它设置Authorization标题。
是否需要在面向用户的Web应用程序的应用程序中实现身份验证?我希望依靠IAM做一个快速的原型。如果需要,为简单的原型实施OAuth2身份验证的推荐方法是什么?Firebase身份验证?
我尝试使用以下函数从 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: …
如何在自定义 GKE 集群上运行使用超过 2 GB 的 Cloud Run 容器?
由于 Cloud Run 使用 knative,我想知道是否可以调整具有更多分配/允许内存限制的部署描述符以在 GKE 上运行它。
apiVersion: serving.knative.dev/v1alpha1
kind: Revision
metadata:
...
Run Code Online (Sandbox Code Playgroud) 对于来自文档的云运行内存使用情况(https://cloud.google.com/run/docs/configuring/memory-limits)
超出其允许内存限制的 Cloud Run 应用程序将被终止。
当您配置内存限制设置时,您指定的内存分配用于:
- 运营您的服务
- 将文件写入磁盘
- 在容器中运行二进制文件或其他进程,例如 nginx Web 服务器。
容器的大小是否计入“操作您的服务”并计入内存限制?
我们打算使用可能已经接近内存限制的图像,因此我们想知道服务本身是否只能访问从限制中减去容器大小后剩下的内容
我想使用GCP cloud run作为一种技术来运行我的 python Flask 应用程序,所以我必须对它进行 dockerize。我见过的大多数示例都是使用内置的 Flask 服务器或 gunicorn 服务器作为入口点,这会在控制台上发出警告,表明它不应该用于生产。
我的问题是:对于像GCP 云运行这样的平台,我使用哪个服务器来运行该代码有关系吗?该选择会对性能产生什么影响?
我正在尝试以 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
google-cloud-run ×10
firebase ×2
docker ×1
gcloud ×1
kubernetes ×1
node.js ×1
python ×1
serverless ×1
typescript ×1
winston ×1