docker - kubectl delete/create secret 禁止(谷歌云平台)

标签 docker kubernetes google-cloud-platform kubectl

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

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

- 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 Cloud Shell 中遇到了同样的错误:

enter image description here

添加以下行并没有真正的帮助,我仍然收到创建错误(我也 100% 确定删除也会“崩溃”,但“2>/dev/null”只是让它进入创建步骤):

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

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

最佳答案

运行 gcloud config unset container/use_client_certificate

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

关于docker - kubectl delete/create secret 禁止(谷歌云平台),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50015081/

相关文章:

kubernetes - Google Cloud Storage作为Kubernetes Stateful Set的卷

google-cloud-platform - GCP Vertex AI 服务代理访问 GCR 图像错误

docker - 在Mac上将Docker镜像推送到Google Container Registry故障

php - 如何增加 docker 中的超时时间?

logging - 流利的位-如何检查内部错误?

kubernetes - 如何为 StatefulSet 静态配置卷?

mysql - Google Cloud SQL 读取平台内其他区域的副本

java - Google BigQuery 不稳定,几乎所有表查询都执行查询失败 : "Error: Error preparing subsidiary query: null"

Mysql 容器退出,状态为 : Exited (139)

docker - Docker Compose链接不适用于主机模式