交付jenkins到k8s的问题记录
一、前言
k8s部署jenkins的文章,我主要是参考这个网址:https://www.yuque.com/duduniao/k8s/gp8n04。坑嘛,算是什么都遇到了,各种各样,千奇八怪 【~~>_<~~~】
没有完全照抄,因为公司没用ZK集群,也没用Dubbo微服务框架(用nacos倒是愿意完完整整搞下来),不折腾自己呗,哈哈哈哈哈~~~ 所以是从第3大点交付Jenkins到K8S开始部署的,直到3.7. 安装Maven到Jenkins的 3.7.1. 场景一。当然例子自己找了gitlab的测试项目,后续博客我再补充吧。
二、问题记录及解决
问题1:jenkins插件装不了导致不得不换版本
问题描述:文中的jenkins版本是2.190.3,有时候重新装的时候会遇到选择推荐插件安装或者自定义插件安装都不行的,只能跳过。跳过就为后面埋了不少地雷了。例如:
任凭你三头六臂,pipeline就装不了咯,不是说jenkins版本不够,就是pipeline的依赖包装不了,反正我觉得文中那jenkins版本有问题,建议大家换掉
问题解决:用这个镜像:jenkinsci/blueocean,亲测非常好,官方长期维护,靠谱!
问题2:安装Jenkins离线或者是登录后白屏或者重启不了
问题描述:当你兴高采烈设置完账号密码之后,重新登录jenkins,你就发现是个白屏。小俊子说是因为访问国外的地址 但你没法访问导致这样的。还真的发现好几个配置文件有个google的地址的。
问题解决:参考 https://blog.csdn.net/weixin_42916710/article/details/99890683
因为我前面做了jenkins的nfs持久化目录保存,所以jenkins目录地址在这里 /data/nfs-volume/jenkins_home/。修改这个文件: hudson.model.UpdateCenter.xml ,url 改成清华的。
改完地址记得删除jenkins的pod,重新生效。当然也可以重启jenkins( jenkins访问地址/restart )
问题3:拉取不了项目代码
问题描述:在3.1. 制作Jenkins镜像的时候,我们用ssh-keygen生成了密钥文件,然后Dockerfile有个步骤是将私钥添加到jenkins镜像中。我们如果要拉取gitlab上的代码还需要把公钥放到gitlab上,才算是配置好。然后问题来了,进入jenkins的pod容器里,尝试拉代码的时候,报错如下
第一句“/root/.ssh/id_rsa:invalid format” 可以不管,不影响拉代码的。如果要解决,需要重新生成密钥,用这种密钥格式即可(-m指定PEM格式,是rsa之前的格式):ssh-keygen -m PEM -t rsa -b 4096(文中这个就不要用了,ssh-keygen -t rsa -b 2048 -C "1659775014@qq.com" -N "" -f id_rsa,单单敲ssh-keygen也是文中的格式的。)
第二句报了个“Broken pipe”的错误,这个才是致命的!!!
问题解决:参考 https://blog.csdn.net/qq_36490086/article/details/90339345
![](https://img2020.cnblogs.com/blog/520218/202012/520218-20201219221531129-782074367.png)
整整拉了13分钟,正常人都受不了呢 = =
![](https://img2020.cnblogs.com/blog/520218/202012/520218-20201219221823412-77980152.png)