kubsphere挂本地节点机运行devops

看到很多教程都是基于docker挂载到k8s上的,因为我们客户端的产品都是运行在桌面端,比如mac、window、Ubuntu上,所以分享一个基于公司的k8s搭建的一个针对客户端的devops流程。
1使外部集群可以访问到jenkins服务
创建k8s后,修改 jenkins agent service,使集群外部可以访问此服务
kubectl edit svc -n kubesphere-devops-system ks-jenkins-agent
将服务类型修改为 NodePort,此时通过下面命令可以看到这个 serivce 所对应的开放端口
kubectl get svc -n kubesphere-devops-system

也可以参考https://kubesphere.com.cn/forum/d/358-kubesphere-jenkins-devops-pipeline-windows-agent这个文章。
2 挂载节点机
让节点机挂载到jenkins上,节点机必须能找到服务器或者服务器能连上节点机,为了更方便的看到测试结果,所以节点机运行在本地,就只能通过主动连服务器的方式,要么把服务器设置一个外网IP,或者建一个VPN,客户端通过vpn的方式连接到服务器。我们选择的是在每个节点机上通过VPN的方式连接服务器。
登陆jenkins的页面,账户跟devops后台账户一样。在这里遇到了几个问题说一下,因为kubsphere是基于jenkins做了二次开发,所以jenkins的插件是不能随便更新,结果我装了一堆新插件后不兼容导致jenkins服务起不来,后来k8s部门同事建议把插件全部删了才行,所以安装插件要慎重,一定要弄个新环境测试插件没问题了在装。我这里只装了一个中文插件。
然后点击系统管理->节点机管理->新建节点机

选择固定节点->输入节点机名称

这里我又踩一个坑,在新建第二个节点机的时候为了省事直接复制现有节点,这个不能用,复制的时候也会报错。
然后会进入下面的页面

这里建议名称和标签跟外面的名字是一样的,名字太多真是记忆起来不方便,这个标签名就是jeninsfile里面的agent的label标签的名称。目录随便设置一个就行,用法选尽可能的使用这个节点,启动方式因为我们是通过客户端主动连服务器,就选通过java web启动代码,点击高级设置tunnel连接位置:前面是服务器的地址,端口号写31313。配置完成后点击确定弹出如下页面。

把这个命令拷贝下来,window放到bat文件里面,mac和ubuntu放到sh文件里面,下次启动的时候直接执行脚本就行,命令里面的http://jenkins.devops.kubsphere.local 其实就是默认的Jenkins服务器地址,把这个地址改成我们的jenkins服务器地址就行,端口号不用改的。
启动脚本后在最后一行能看到success就说明节点机器连接成功,Jenkins列表就能看到连接节点机名称。

有个地方要注意下,window和ubuntu是没有账户要求,mac下必须要建一个jenkins用户,在该用户下执行脚本才可以连接到jenkins服务器,这里一定要注意。
到此为止就可以按照官网的教程搭建devops环境了,网上教程很多,也非常详细,我就不在这里重复了,大家按照下面链接去搭建就可以了。
https://kubesphere.com.cn/docs/devops-user-guide/how-to-use/create-a-pipeline-using-jenkinsfile/
jenkinsfile的编写大家直接去官网学习就行
https://www.jenkins.io/zh/doc/book/pipeline/getting-started/#defining-a-pipeline-in-scm

大家在遇到问题的时候多看日志,基本上通过这个日志结果就能分析是错误原因。
还有一个问题大家要注意下,正常情况下修改完jenkinsfile,推送到github之后会自动重新build一次,但是我发现这个时候拉的jenkinsfile可能不是最新的,不知道啥原因,如果你们发现本地的jenkinsfile的修改不是最新的,毕竟刚开始写jenkinsfile的时候会有很多语法错误,你们就按照下面的图点击一下扫描远程分支就行。

然后重新执行就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值