【发布时间】:2023-04-07 16:13:01
【问题描述】:
我正在尝试将 CircleCi 与 gcloud Kubernetes 引擎集成。
- 我创建了一个具有 Kubernetes Engine 开发人员和存储管理员角色的服务帐号。
- 创建了 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 天...
【问题讨论】:
标签: kubernetes gcloud circleci google-kubernetes-engine