IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> kubsphere挂本地节点机运行devops -> 正文阅读

[系统运维]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的时候会有很多语法错误,你们就按照下面的图点击一下扫描远程分支就行。

然后重新执行就可以了。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-23 17:05:14  更:2021-08-23 17:06:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 9:48:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码