k8s 部署 springboot
综述
首先介绍发布步骤。
1.从代码仓库下载代码,比如 GitLab;
2.接着是进行打包,比如使用 Maven;
3.编写 Dockerfile 文件,把步骤 2 产生的包制作成镜像;
4.上传步骤 3 的镜像到远程仓库,比如 Harhor;
5.编写 Deployment 文件;
6.提交 Deployment 文件到 k8s 集群;
从以上步骤可以看出,发布需要的工具和环境至少包括:代码仓库(GitLab)、打包环境(Maven)、镜像制作(Docker)、镜像仓库(Harbor)、k8s 集群等。当前,也可以借助一些开源的工具或平台来发布应用,比如:Jenkins、https://github.com/512team/dhorse等。
发布过程
假如有一个名为 springboot 的 SpringBoot 应用,服务端口是 8080,并且有一个/hello 接口,下面详细介绍发布过程。
打包
这里直接从 GitLab 下载到本地,执行 maven 打包命令,这里打为 Jar 包:
生成的包为:springboot-1.0.0.jar
制作镜像
以下步骤在具有 Docker 环境的 Linux 机器上操作。
把 springboot-1.0.0.jar 放到/usr/local/springboot 目录下,并在该目录下创建 Dockerfile 文件,内容为:
则/usr/local/springboot 目录的文件为:
制作镜像,在/usr/local/springboot 目录下执行命令:
其中,192.0.10.22:20080 是 Harbor 镜像仓库地址,dhorse 是项目名。
登录仓库并上传镜像
编写 Deployment 文件
创建 springboot-k8s.yml 文件,内容如下:
部署应用
以下操作在 k8s 集群的 mater 机器上执行。
把 springboot-k8s.yml 文件复制/user/local 目录下,并在当前目录执行如下命令:
稍后,再执行如下命令:
输出结果如下:
然后访问/hello 接口:
推荐一个不错的部署应用的工具,https://gitee.com/i512team/dhorse
至此,发布结束。
评论