我正在尝试将CircleCi与gcloud Kubernetes引擎集成。
- 我创建了一个具有Kubernetes Engine Developer和Storage Admin角色的服务帐户。
- 创建了CircleCi yaml文件并配置了CI。
我的yaml文件的一部分包括:
docker:
- image: google/cloud-sdk
environment:
- PROJECT_NAME: 'my-project'
- GOOGLE_PROJECT_ID: 'my-project-112233'
- GOOGLE_COMPUTE_ZONE: 'us-central1-a'
- GOOGLE_CLUSTER_NAME: 'my-project-bed'
steps:
- checkout
- run:
name: Setup Google Cloud SDK
command: |
apt-get install -qq -y gettext
echo $GCLOUD_SERVICE_KEY > ${HOME}/gcloud-service-key.json
gcloud auth activate-service-account --key-file=${HOME}/gcloud-service-key.json
gcloud --quiet config set project ${GOOGLE_PROJECT_ID}
gcloud --quiet config set compute/zone ${GOOGLE_COMPUTE_ZONE}
gcloud --quiet container clusters get-credentials ${GOOGLE_CLUSTER_NAME}
除了最后一条命令外,一切都运行得很完美:
gcloud --quiet container clusters get-credentials ${GOOGLE_CLUSTER_NAME}
它一直失败并显示错误:
ERROR: (gcloud.container.clusters.get-credentials) ResponseError: code=403, message=Required "container.clusters.get" permission(s) for "projects/my-project-112233/zones/us-central1-a/clusters/my-project-bed". See https://cloud.google.com/kubernetes-engine/docs/troubleshooting#gke_service_account_deleted for more info.
我试图将ci帐户赋予项目所有者的角色,但仍然遇到了错误。
我尝试禁用并重新启用Kubernetes服务,但这没有帮助。
有什么想法如何解决?我已经尝试了4天...
gcloud --quiet container clusters get-credentials ${GOOGLE_CLUSTER_NAME}
。 - Ricoget-credentials
命令,但它失败了。创建另一个具有相同角色的帐户如何有所帮助? - Naor