gpt4 book ai didi

kubernetes - 如何在 gitlab ci 中修复 k8s 命名空间权限

转载 作者:行者123 更新时间:2023-12-05 00:10:41 27 4
gpt4 key购买 nike

当我在玩 K8s 部署和 Gitlab CI 时,我的部署陷入了状态 ContainerStarting .

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

现在我的 Gitlab 运行者向我展示了

$ 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 使用一些参数和权限创建了该命名空间(但我不知道确切的时间和方式),由于我的删除,这些现在丢失了。

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

最佳答案

就我而言,我不得不删除 Gitlab 数据库中的命名空间,因此 gitlab 会读取服务帐户和命名空间:

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

gitlab-rails dbconsole -p

然后选择数据库:
\c gitlabhq_production

下一步是找到被删除的命名空间:
SELECT id, namespace FROM clusters_kubernetes_namespaces;

取命名空间的 id 删除它:
DELETE FROM clusters_kubernetes_namespaces WHERE id IN (6,7);

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

关于kubernetes - 如何在 gitlab ci 中修复 k8s 命名空间权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56603234/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com