首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在gitlab中修复k8s命名空间权限

如何在gitlab中修复k8s命名空间权限
EN

Stack Overflow用户
提问于 2019-06-14 18:08:48
回答 4查看 1.2K关注 0票数 4

当我在玩K8s部署和Gitlab时,我的部署被状态ContainerStarting卡住了。

为此,我使用K8s删除了kubectl delete namespaces my-namespace命名空间。

现在我的Gitlab跑步者告诉我

代码语言:javascript
运行
复制
$ ensure_namespace
Checking namespace [MASKED]-docker-3
error: the server doesn't have a resource type "namespace"
error: You must be logged in to the server (Unauthorized)

我认为这与RBAC有关,而且很可能是Gitlab用一些参数和权限创建了这个名称空间(但我不知道这是什么时候发生的,以及如何发生的),因为我删除了这个名称空间。

有人知道如何解决这个问题吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-06-27 11:54:46

另一个解决方案是从Gitlab中移除集群(在您的回购中处于操作/kubernetes中)并重新添加它。

票数 1
EN

Stack Overflow用户

发布于 2019-10-06 12:50:33

在我的例子中,我不得不删除Gitlab数据库中的名称空间,这样gitlab就可以读取D服务帐户和命名空间:

在gitlab机器或任务运行程序上,输入PostgreSQL控制台:

代码语言:javascript
运行
复制
gitlab-rails dbconsole -p

然后选择数据库:

代码语言:javascript
运行
复制
\c gitlabhq_production

下一步是查找已删除的命名空间:

代码语言:javascript
运行
复制
SELECT id, namespace FROM clusters_kubernetes_namespaces;

取名称空间的id来删除它:

代码语言:javascript
运行
复制
DELETE FROM clusters_kubernetes_namespaces WHERE id IN (6,7);

现在您可以重新启动管道,命名空间和服务帐户将被读取。

票数 3
EN

Stack Overflow用户

发布于 2019-06-15 18:03:40

手动删除命名空间会导致从Gitlab删除必要的秘密。它们似乎是在第一次部署时自动创建的,不可能重复这个过程。

我不得不创造一个新的回购和推动它。现在一切都正常了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56603234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档