kubectl delete/create secret forbidden (Google 云平台)

kubectl delete/create secret forbidden (Google cloud platform)

我正在学习以下关于使用 gitlab 和 Kubernetes 进行持续集成的教程(在我的例子中是在 google 云上):https://about.gitlab.com/2016/12/14/continuous-delivery-of-a-spring-boot-application-with-gitlab-ci-and-kubernetes/.

在教程中的某些时候,您将必须先删除然后为 Gitlab 的图像注册表创建一个秘密:

- kubectl delete secret registry.gitlab.com
- kubectl create secret docker-registry registry.gitlab.com --docker-server=https://registry.gitlab.com --docker-username=$REGISTRY_USERNAME --docker-password=$REGISTRY_PASSWD --docker-email=$EMAIL

这一步出错了,我得到以下错误:

Error from server (Forbidden): secrets "registry.gitlab.com" is forbidden: User "client" cannot delete secrets in the namespace "default": Unknown user "client"
Error from server (Forbidden): secrets is forbidden: User "client" cannot create secrets in the namespace "default": Unknown user "client"

我在 Google 云中得到了完全相同的错误 shell:

添加以下行并没有真正帮助,我仍然收到创建错误(我也 100% 确定删除也 'crashes' 但 '2>/dev/null' 只是成功了转到创建步骤):

kubectl delete secret registry.gitlab.com 2>/dev/null || echo "secret does not exist"

我做错了什么?提前致谢!

运行 gcloud config unset container/use_client_certificate

注销并登录后。它应该工作。当您在集群设置中禁用旧版授权时会发生这种情况,因为您使用的客户端证书是旧版身份验证方法