cloud-build + gke-deploy应用名称或标签被忽略



我在cloudbuild上有这个配置。yaml文件:

- name: 'gcr.io/cloud-builders/gke-deploy'
args:
- run
- --app=doc-io
- --namespace=frontend
- --cluster=cluster-dev
- --location=europe-west1-b
- --image=gcr.io/${PROJECT_ID}/github.com/ourprojet/docs-io:dev-${SHORT_SHA}
- --version=dev-${SHORT_SHA}

但是这会在GKE中创建一个名为"docs-io"没有将最新的docker映像部署到现有的工作负载"doc-io"。

无论我在云构建端做什么,即使在云构建配置中直接添加环境变量_K8S_APP_NAME_K8S_LABELS,它都会在GKE上创建一个名为docs-io的新工作负载。

我找不到任何地方默认的"工作负载"是多少由cloud-build或gke-deploy获取的名称,以及如何覆盖它。

有人遇到这个问题吗?任何线索如何表明在哪里码头部署发生?

好的,很容易从文档中遗漏,但是必须做的是保持在创建工作负载时生成的yaml文件(否则很容易重新创建)。

否则,正如Gari Singh在对我的问题的评论中提到的那样,将生成新的工作负载(或取代以前的工作负载)。

因此,在工作负载配置文件中,不需要任何特定的标记(图像级别),只需将其放在Google Storage文件夹中。然后:

# GKE run deploy
- name: 'gcr.io/cloud-builders/gke-deploy'
args:
- run
- --filename=gs://path/to/config/myserviceconfig.yml
- ...

这样就可以在GKE集群上得到一个干净的部署。

文档有点遗漏,导致没有filename参数会发生什么,希望它能有所帮助。

相关内容

  • 没有找到相关文章

最新更新