当我在玩K8s部署和Gitlab时,我的部署被状态ContainerStarting卡住了。
为此,我使用K8s删除了kubectl delete namespaces my-namespace命名空间。
现在我的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用一些参数和权限创建了这个名称空间(但我不知道这是什么时候发生的,以及如何发生的),因为我删除了这个名称空间。
有人知道如何解决这个问题吗?
发布于 2019-06-27 11:54:46
另一个解决方案是从Gitlab中移除集群(在您的回购中处于操作/kubernetes中)并重新添加它。
发布于 2019-10-06 12:50:33
在我的例子中,我不得不删除Gitlab数据库中的名称空间,这样gitlab就可以读取D服务帐户和命名空间:
在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);现在您可以重新启动管道,命名空间和服务帐户将被读取。
发布于 2019-06-15 18:03:40
手动删除命名空间会导致从Gitlab删除必要的秘密。它们似乎是在第一次部署时自动创建的,不可能重复这个过程。
我不得不创造一个新的回购和推动它。现在一切都正常了。
https://stackoverflow.com/questions/56603234
复制相似问题