记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

kubesphere普通用户无法运行流水线解决方法


1,kubesphere集成的jenkins,不知怎么玩的,添加的devops项目,

运行 流水线 时,普通用户无法执行,显示  未运行 ,登陆jenkins里面,查看有相关用户,但是流水线没动静。

只有admin账号才可以正常运行 流水线 ,只有admin用户可以看见流水线,其他用户都不再拥有流水线的任何操作权限


2,找到的两种解决方法:

1),官网给的资料,但是没用过。

恢复 Jenkins 中的权限规则 - KubeSphere 开发者社区

2),自己折腾时,把devops功能组件删除了,再重新增加组件,还是一样的问题。

估计可能是openldap的相关功能有问题,也不清楚具体处理方法。然后就想着使用kubesphere重建普通用户,

还是没有解决相关问题。最后只能在jenkins中的安全配置中找解决方法了。


直接一步到位吧,在 jenkins中  全局安全配置 --> 授权策略 ---> 打上勾 登陆用户可以作任何事 ,保存后,普通用户 再次运行流水线,终于正常了。





以下是删除 devops组件的方法:

以 admin 身份登录控制台,点击左上角的平台管理,选择集群管理。

点击 CRD,在搜索栏中输入 clusterconfiguration,点击搜索结果查看其详细页面。

信息

定制资源定义(CRD)允许用户在不增加额外 API 服务器的情况下创建一种新的资源类型,用户可以像使用其他 Kubernetes 原生对象一样使用这些定制资源。
在自定义资源中,点击 ks-installer 右侧的 ,选择编辑 YAML。

在该 YAML 文件中,搜寻到 devops,将 enabled 的 true 改为 false。完成后,点击右下角的确定,保存配置。

devops:
  enabled: false # 将“true”更改为“false”。

然后就可以删除devops相关资源了。

[root@centos7-31 ~]#  helm uninstall -n kubesphere-devops-system devops
[root@centos7-31 ~]#  kubectl patch -n kubesphere-system cc ks-installer --type=json -p='[{"op": "remove", "path": "/status/devops"}]'
[root@centos7-31 ~]# kubectl patch -n kubesphere-system cc ks-installer --type=json -p='[{"op": "replace", "path": "/spec/devops/enabled", "value": false}]'
[root@centos7-31 ~]#  kubectl patch -n kubesphere-system cc ks-installer --type=json -p='[{"op": "remove", "path": "/status/devops"}]'
[root@centos7-31 ~]#  

for devops_crd in $(kubectl get crd -o=jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}' | grep "devops.kubesphere.io"); do
    for ns in $(kubectl get ns -ojsonpath='{.items..metadata.name}'); do
        for devops_res in $(kubectl get $devops_crd -n $ns -oname); do
            kubectl patch $devops_res -n $ns -p '{"metadata":{"finalizers":[]}}' --type=merge
        done
    done
done


 [root@centos7-31 ~]#  kubectl delete namespace kubesphere-devops-system





转载请标明出处【kubesphere普通用户无法运行流水线解决方法】。

《www.92cto.com》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论