k8s服务部署核心流程:以Jenkins为核心,从Gitee拉取代码,然后进行maven构建,之后使用docker命令打镜像,并推送镜像到harbor仓库,之后远程调用k8s命令创建服务

本文详细描述了一种DevOps流程,涉及准备环境(包括VMware和CentOS7部署K8s)、使用Git和Gitee存储代码、在Jenkins中创建多分支流水线、配置Maven构建、打包Docker镜像并推送至Harbor,以及通过Jenkinsfile控制K8s服务部署。
摘要由CSDN通过智能技术生成

一、准备环境

前提是我们在自己电脑上模拟整个流程。
假设我们需要搭建一主一从的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命令构建服务
    在这里插入图片描述
针对如何在Jenkins中配置Git仓库实现自动化构建,以支持Maven项目和Docker镜像的生成与部署,建议参考《Git+Jenkins+Registry+K8S 集成配置实战指南》。该文档详细介绍了从源码管理到部署的整个CI/CD流程,特别是在Jenkins中进行配置的具体步骤和方法。 参考资源链接:[Git+Jenkins+Registry+K8S 集成配置实战指南](https://wenku.csdn.net/doc/3g518xg8dj?spm=1055.2569.3001.10343) 首先,确保你的Jenkins服务器已经安装了必要的插件,比如Git、Maven Integration、Docker Pipeline等。然后,你可以通过Jenkins界面新建一个项目,选择“流水线”作为项目类型。 在流水线的配置中,你需要指定源码管理器,选择Git,输入你的Git仓库地址。接下来,设置构建触发器,可以是基于代码变动的轮询SCM,也可以是Webhook触发。 构建步骤是配置的核心部分,这里你需要添加构建和测试的步骤。对于Maven项目,通常会使用Maven插件来执行maven命令,比如'maven clean package'来打包项目。同时,你可以在构建过程中生成Dockerfile,使用Docker Pipeline插件执行'docker build'和'docker push'命令构建推送Docker镜像。 完成构建后,你可以使用Kubernetes插件或者直接编写Kubernetes配置文件来部署新版本的应用。这通常涉及到编写YAML文件来定义部署服务、副本集等,通过kubectl或其他Kubernetes管理工具应用这些配置。 整个流程中,你需要确保配置文件中的敏感信息,如私有Registry的认证信息,被妥善管理和安全地使用。建议使用Jenkins的凭证系统来存储这类信息。 最后,通过文档《Git+Jenkins+Registry+K8S 集成配置实战指南》可以获更深入的理解和更多实际操作的细节,帮助你确保整个CI/CD流程的顺利运行。 参考资源链接:[Git+Jenkins+Registry+K8S 集成配置实战指南](https://wenku.csdn.net/doc/3g518xg8dj?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值