我想ABAC / RBAC ......但是这样做...
你是对的,错误信息准确地解释了什么是错的。前进有两条路:你可以修复 Role 和 RoleBinding 为了 default ServiceAccount 在里面 nginx-ingress 命名空间,或者你可以切换 Deployment 用一个 ServiceAccount 其他 比 default 为了分配它 Deployment 所需的特定权限。我推荐后者,但前者可能打字较少。
Role
RoleBinding
default
ServiceAccount
nginx-ingress
Deployment
粗糙的版本 Role 和 RoleBinding 生活 在nginx-ingress回购中 但可能需要根据您的需求进行调整,包括更新 apiVersion 远离 v1beta1
apiVersion
v1beta1
在发生这种变化之后,你需要 delete nginx-ingress Pods让他们拿起新的 Role 并执行任何初始化任务 nginx 在启动期间做。
delete
nginx
另外,您肯定想要修复此业务:
Post http://gitlab1-gitlab.default:8005/api/v4/runners: dial tcp 10.233.7.205:8005: i/o timeout
如果不了解更多有关CNI设置和实际GitLab Pod的事态,我无法提供更具体的操作,但I / O超时肯定是一个非常奇怪的错误。 在集群中 通讯。