K8S自动化部署Java项目的实现流程(Gitlab推送镜像到Harbor,K8S拉取Harbor中的镜像进行部署)

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录

  • [1. 流程对比](#1. 流程对比)
    • [1.1 最基础的k8s部署java项目的流程](#1.1 最基础的k8s部署java项目的流程)
    • [1.2 现在使用自动化的流程](#1.2 现在使用自动化的流程)
  • [2. java项目代码](#2. java项目代码)
  • [3. k8s部署gitlab](#3. k8s部署gitlab)
  • [4. k8s部署habor](#4. k8s部署habor)
  • [5. Dockerfile和.gitlab-ci.yml文件配置](#5. Dockerfile和.gitlab-ci.yml文件配置)
  • [6. Java项目推送到gitlab](#6. Java项目推送到gitlab)
  • [7. 配置部署所需的yaml文件](#7. 配置部署所需的yaml文件)
  • [8. 部署项目](#8. 部署项目)

更为详细的k8s部署java项目流程说明请参考文章链接:K8S部署Java项目(Gitlab CI/CD自动化部署终极版)

1. 流程对比

1.1 最基础的k8s部署java项目的流程

  • 将java代码打包成jar包
  • 然后将jar包上传到服务器中
  • 在安装docker的系统中通过Dockerfile文件将jar包创建成镜像
  • 然后根据镜像在k8s中使用deployment的yaml文件配置方式运行成服务

1.2 现在使用自动化的流程

  • 将java代码上传到gitlab上
  • 然后通过gitlab打jar包、打镜像
  • 上传到habor仓库
  • 再到k8s中使用deployment的yaml方式配置(拉取镜像)运行成服务

2. java项目代码

可通过如下链接获取我的项目demo:K8S中部署Java SpringBoot项目源码

当然也可以自己创建一个简单的springboot项目,包含一个请求的函数即可,以便后续访问服务的该接口测试服务的可用性
SpringBoot的搭建(两种方式)

3. k8s部署gitlab

如未部署gitlab可参考链接部署gitlab:K8S部署GitLab(详细完整版)

4. k8s部署habor

如未部署harbor镜像仓库可参考链接部署harbor:K8S部署Harbor镜像仓库(含离线安装包harbor-offline-installer国内下载链接)

注意,这里需要提前在harbor仓库中创建项目文件夹用于存储后续构建的镜像,且需要再构建镜像的命令中指定此镜像仓库项目文件夹地址,具体请到下一步的脚本文件中参考命令进行修改

5. Dockerfile和.gitlab-ci.yml文件配置

这两个文件需要放在项目的根目录下,也就是与pom所在的位置一致

参考文章配置:Dockerfile和.gitlab-ci.yml文件模板

6. Java项目推送到gitlab

参考文章使用git命令将项目推送到gitlab仓库中:通过GIT将本地项目上传到gitee

推送后会自动触发执行.gitlab-ci.yml脚本中的命令,最后可在harbor镜像仓库中看到推送上来的镜像

7. 配置部署所需的yaml文件

根据自己的项目参考文章进行编辑yaml文件内容:K8S部署Java项目的yaml配置文件模板

8. 部署项目

参考文章部署yaml文件:K8S中部署yaml文件(如Java项目)


感谢阅读,祝君暴富!

相关推荐
yeflx9 分钟前
速腾Airy雷达使用记录
java·服务器·网络
乐之者v30 分钟前
AI编程 -- Agents.md 的简单示例
java·ai编程
无风听海1 小时前
Claude Agent Skills 的四种设计模式;从渐进式披露到最小权限
java·算法·设计模式
探索云原生1 小时前
Kubernetes 官方出品:一个 Controller 搞定 Job 排队和资源配额
ai·云原生·kubernetes·scheduler
geovindu1 小时前
java: Facade Pattern
java·开发语言·后端·外观模式·结构型模式
listening7771 小时前
HarmonyOS 6.1 元服务深度优化:从“秒开”到“常驻”的极致体验
java·开发语言·spring
AC赳赳老秦2 小时前
司法公开数据采集应用:OpenClaw 抓取裁判文书公开信息,批量整理同类参考案例
java·大数据·python·数据挖掘·数据分析·php·openclaw
笑小枫2 小时前
用 Claude Code 推翻重写笑小枫网站
java·人工智能·spring boot·ai编程
霸道流氓气质2 小时前
ApiPost 中配置自动获取 Token 并调用业务接口完整指南
java·服务器·数据库
独隅2 小时前
IntelliJ IDEA 接入多种AI大模型插件终极指南(2026.1 企业合规版)
java·人工智能·intellij-idea