云构建避免计费,将eu.artifacts.<project>.appspot.com bucket改为单区域。

问题描述 投票:0回答:1

使用python 3.7的应用引擎标准环境。

当运行 app deploy 命令将容器中的图片上传到google存储的bucket中 eu.artifacts.<project>.appspot.com.

该信息在以下过程中被打印出来 app deploy

 Beginning deployment of service [default]...
#============================================================#
#= Uploading 827 files to Google Cloud Storage              =#
#============================================================#
File upload done.
Updating service [default]...

文件是上传到多区域(eu)的,怎么改成上传到单一区域?

猜测应该是在版本库中添加一个配置文件,指示应用引擎、云构建或云存储将文件上传到单一区域。

eu.artifacts.<project>.appspot.com bucket是必需的,或者是否可以通过使用 .gcloudignore 档?

该问题与此问题类似 如何为Cloud Build使用的云存储桶指定云运行部署的区域?,但对于应用引擎。

我是使用服务账户来触发云构建的。

尝试实现上述链接中解决方案的更改,但无法摆脱多区域桶。

substitutions:
  _BUCKET: unused
steps:
- name: 'gcr.io/cloud-builders/gcloud'
  args: ['app', 'deploy', '--promote', '--stop-previous-version']
artifacts:
  objects:
    location: 'gs://${_BUCKET}/artifacts'
    paths: ['*']

命令 gcloud builds submit --gcs-log-dir="gs://$BUCKET/logs" --gcs-source-staging-dir="gs://$BUCKET/source" --substitutions=_BUCKET="$BUCKET"

python-3.x google-app-engine google-cloud-storage google-app-engine-python google-cloud-build
1个回答
0
投票

再调查了一下,我想说的是,这种bucket是由 "容器注册表 "产品创建的,当你部署一个新的容器( 当您部署您的App Engine应用程序时)-> 当您将映像推送到具有新主机名的注册表时,Container Registry 会在指定的多区域位置创建一个存储桶.这个存储桶是注册表的基础存储。在一个项目中,具有相同主机名的所有注册表共享一个存储桶。.

基于 关于它默认情况下是不可访问的,它本身包含容器映像,这些映像在你部署新容器时被写入。不建议修改它,因为artifacts bucket是用来包含部署镜像的,这可能会影响你的应用。

最后,我发现了一件奇怪的事情,就是当你创建一个默认的bucket时(就像上述bucket的情况一样),你也会得到一个staging bucket,除了staging之外,其他名字都是一样的。你可以用这个staging bucket来存放用于staging和测试目的的临时文件;它也有5GB的限制,但它会在每周自动清空。基础

© www.soinside.com 2019 - 2024. All rights reserved.