• DevOps
  • devops流水线未运行

创建部署问题时,请参考下面模板,你提供的信息越多,越容易及时获得解答。
发帖前请点击 发表主题 右边的 预览(👀) 按钮,确保帖子格式正确。
你只花一分钟创建的问题,不能指望别人花上半个小时给你解答。

操作系统信息
虚拟机,Centos7.8,8C/16G

Kubernetes版本信息
v1.23.14 3节点,1 master 2 worker

容器运行时
docker 20.10.21

KubeSphere版本信息
v3.3.1 在线安装 已有K8s安装

问题是什么

KubeSphere开启了devops功能,devops的组件运行正常,在测试流水线时,流水线未运行。

5 天 后

有可能是新建的用户(例如:test001)创建的 pipelinerun 未运行,ks-apiserver的cm kubesphere-system/kubesphere-config 和devops-apiserver的cm devops-config 里的 devops/password不一致导致的,解决方法:

  1. 使用 devops-config 中这个 devops/password 替换 secret kubesphere-secret 中的 token;

  2. 使用 devops-config 中这个 devops/password,替换 kubesphere-config 中的 devops/password;

  3. 重启 Deployment ks-controller-manager ;

执行上述 2 步后,再次查看 jenkins 中用户权限页面http://JENKINS-IP:30180/role-strategy/assign-roles),发现可以看到 test001 用户是 admin 权限,表明同步成功。

再用 test001 运行流水线,正常执行,整体恢复。

    18 天 后
    8 天 后

    yudong 您好,有个疑问请教一下。

    按照这个流程可以解决问题,不过我发现重启3个deployment以后,devops-config中的devops/password发生了变化,kubesphere-config和kubesphere-secret中的没有,实测不影响使用,我想问一下这是为什么?

    另外ks-installer在我不修改crd配置的情况下,会定期重置我的配置文件吗?ks-console-config中的SonarQube配置有时会丢失,我要不要把ks-installer容器停止

      Kanade

      1. 关于重启后 devops/password 发生了变化,是由于重启devops服务组件时基于当前时间戳重新生成了password;在校验时会解析出 secret,只要 secret 没变就可以,重新生成没有改变secret;
      1. ks-installer 在重启或修改 clusterconfigurations 时会重置配置文件,不会定期重置;这是个 bug ,会尽快修复;可以新建一个 configmap 备份下修改后的配置;
      8 天 后

      yudong 只修改了kubesphere-config 中的 devops/password,发现流水线也可以运行。没有改secret kubesphere-secret 中的 token这个有没有影响?另外password粘贴到kubesphere-secret token会报base64编码异常

        zhaojun-xj 1:只改 kubesphere-config 中的 devops/password,当前环境就可以正常运行了。

        如果 installer 重新运行,比如修改了 clusterconfiguration 的配置,或者 installer 的 deployment scale 成 0 再 scale 成 1.
        installer 会自动将 secret kubesphere-secret 中的 token 拷贝,覆盖到 kubesphere-config 中的 devops/password,导致你上述 1 的修改被回滚掉,使用出现问题。

        所以建议都改掉。

        编辑 yaml 报错,可以尝试编辑设置 的方式。

        18 天 后

        walle 在看下命名空间 kubesphere-system 下的 configmap kubesphere-config 中的 devops/password 的值是否是 x.y.z 格式的,可以贴出来;

        另外建议看下 ks-controller-manager 、devops-controller-manager 和 devops-jenkins 的日志,有没有报错信息,贴出相关日志;

          7 天 后

          walle 看日志确实是权限相关的问题,你上传的 configmap devops-config 和 kubesphere-config 截图不全,如果方便最好上传完整文件。

            walle kubesphere-config 和 devops-config 里的 devops.password 是有问题的,不是 x.y.z 格式的;

            kubesphere-secret 看不出来里面的原始内容,把这个里面的内容贴出来;

              yudong 这个devops默认就是这样 要怎么才能变成x.y.z的格式呢?

                walle 重启下 devops-controller-manager ,应该就好重新生成 x.y.z 格式的 devops.password; 然后在看下 devops-config 里的配置;

                  yudong devops-controller-manager,和ks-controller-manager都要重启对吧