【发布时间】:2019-10-15 14:12:01
【问题描述】:
我正在尝试使用 Google Cloud Provider CloudBuild 将新更改部署到 Kubernetes 集群。每当我进行一些更改时,触发器都可以正常工作并开始新的构建,但这是我在使用此 cloudbuild.yaml 时遇到的问题。
cloudbuild.yaml
steps:
#step1
- name: 'gcr.io/cloud-builders/docker'
args: [ 'build', '-t', 'gcr.io/$PROJECT_ID/cloudbuildtest-image', '.' ]
#step 2
- name: 'gcr.io/cloud-builders/docker'
args: ['push', 'gcr.io/$PROJECT_ID/cloudbuildtest-image']
#step 3 for testing
name: 'gcr.io/cloud-builders/kubectl'
args: ['get', 'pods']
env:
- 'CLOUDSDK_COMPUTE_ZONE=us-central1-a'
- 'CLOUDSDK_CONTAINER_CLUSTER=cloudbuild-test'
#STEP-4
images:
- 'gcr.io/$PROJECT_ID/cloudbuildtest-image'
第 1 步和第 2 步工作正常,但问题在于第 3 步,出于测试目的,我只是运行了 get pods 命令来测试它是否可以工作.这是我在日志中遇到的问题。
Running: gcloud container clusters get-credentials --project="journeyfoods-io" --zone="us-central1-a" "cloudbuild-test"
Fetching cluster endpoint and auth data.
ERROR: (gcloud.container.clusters.get-credentials) ResponseError: code=403, message=Required "container.clusters.get" permission(s) for "projects/XXXX/zones/us-central1-a/clusters/cloudbuild-test".
它在寻找什么权限?我需要做一些吗 在运行这些步骤之前进行身份验证或我到底错过了什么?
【问题讨论】:
-
我可以看到您的 cloudbuild.yaml 文件中缺少第 3 步名称的“-”。这是您复制时的拼写错误吗?如果没有,请添加。
-
@siamsot 开头有#,是注释行。
标签: google-cloud-platform google-cloud-build