一、准备环境

前提是我们在自己电脑上模拟整个流程。
假设我们需要搭建一主一从的k8s集群,那就需要安装VMvare和Centos7(点击我查看安装文档),
然后就可以在这两个虚拟机上搭建k8s集群了(点击我查看安装文档),
一个最简单的devops流程已经在标题中写明了,
其中可以搭建gitlab(点击我查看安装文档),也可以使用gitee或者github进行测试,我本次使用gitee进行测试,
然后jenkins作为全流程大总管(点击我查看安装文档),
jenkins首先将从git仓库拉取代码到虚拟机,这个时候我们需要将代码打包成jar包,
此时就需要使用maven仓库的支持(点击我查看安装文档),
然后需要对打好的jar包打docker镜像(点击我查看安装文档),
之后就需要把docker镜像推送到harbor仓库(点击我查看安装文档),
然后我们远程调用k8s命令来创建应用

二、实践上述流程

1、准备代码,并且上传到gitee

我的代码在gitee上的test_local_maven分支下,这里我把项目直接提供给大家

在这里插入图片描述

百度网盘下载信息如下:

链接:https://pan.baidu.com/s/1ra1B3pl2NyVg5PIb4hOiRw?pwd=030o

提取码:030o

2、在jenkins中创建多分支流水线

点击新建任务:

在这里插入图片描述

填写任务名称:

在这里插入图片描述

选择多分支流水线,点击确定按钮:

在这里插入图片描述
填写名称和描述:

在这里插入图片描述

选择Git为分支源:

在这里插入图片描述
把gitee中的仓库地址填入其中:

在这里插入图片描述

然后添加用户信息,用来下载gitee中的代码:

在这里插入图片描述

填写账号和密码等信息:

在这里插入图片描述

之后选择刚刚创建的账号信息:

在这里插入图片描述

根据情况查看是否需要调整Jenkinsfile路径:

在这里插入图片描述
点击保存之后就可以构建多分支流水线了,由于本次我只使用一个分支test_local_maven,所以我把其他分支给停止了

3、配置maven工具

如果不出意外,整体流程在构建jar包的时候会报错,我们看一下项目中的Jenkinsfile文件内容:

在这里插入图片描述
maven3这个名称不是随意取得,而是在Jenkinsfile中配置出来的,那跟随我来配置一下吧,在首页上点击系统管理,如下:

在这里插入图片描述

之后点击全局工具配置,如下:

在这里插入图片描述

添加maven配置文件的位置:

在这里插入图片描述

然后鼠标往下滑,在页面最下方可以看到如下内容:

在这里插入图片描述

点击Maven安装按钮之后,配置maven相关信息:

在这里插入图片描述

上图配置的别名maven3就是Jenkinsfile中的maven工具名称了,如下:

在这里插入图片描述

这个时候就可以尝试构建了

4、配置k8s主节点所在虚拟机连接信息

首先点击Jenkins中的系统管理:

在这里插入图片描述

然后点击系统配置:

在这里插入图片描述

把鼠标滑到页面下方,找到Publish over SSH,然后在下面SSH Servers中配置k8s主节点所在虚拟机连接信息:

在这里插入图片描述

我展示一下我的配置信息:

在这里插入图片描述

现在看下高级中的密码配置:

在这里插入图片描述

然后看看是否需要更改默认的端口(默认端口:22)配置,然后测试一下虚拟机连接情况:

在这里插入图片描述

我们先讲下这个位置将会影响哪里,继续看项目中的Jenkinsfile:

在这里插入图片描述

这样来说,我们可以把yaml文件从jenkins所在虚拟机发送到k8s主节点所在虚拟机了,然后在k8s主节点上执行kubectl命令就可以创建服务了

5、解读Jenkinsfile

Jenkinsfile文件是整体灵魂

  • 可以通过maven构建项目
    在这里插入图片描述
  • 打docker镜像,并且往harbor仓库推送镜像
    在这里插入图片描述
  • 发送yaml文件到k8s主机所在虚拟机,然后通过kubectl命令构建服务
    在这里插入图片描述
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐