云南建设企业网站,seo交流qq群,网站app生成器下载,营销策划咨询机构前言
首先以SpringBoot应用为例介绍一下k8s的发布步骤。
1.从代码仓库下载代码#xff0c;比如GitLab#xff1b;
2.接着是进行打包#xff0c;比如使用Maven#xff1b;
3.编写Dockerfile文件#xff0c;把步骤2产生的包制作成镜像#xff1b;
4.上传步骤3的镜像到…前言
首先以SpringBoot应用为例介绍一下k8s的发布步骤。
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等。
详细步骤
假如有一个名为Hello的SpringBoot应用服务端口是8080并且有一个/hello接口。
打包
这里直接从GitLab下载到本地执行maven打包命令这里打为Jar包
mvn clean package完成以后生成的包为hello-1.0.0.jar
制作镜像
以下步骤在具有Docker环境的Linux机器上操作。
把hello-1.0.0.jar放到/usr/local/hello目录下并在该目录下创建Dockerfile文件内容为
FROM openjdk:8-jdk-alpine
ADD hello-1.0.0.jar /usr/local/hello.jar
ENTRYPOINT [java, -jar, /usr/local/hello.jar]则/usr/local/hello目录的文件为
-rw-r--r-- 1 root root 119 Feb 22 17:50 Dockerfile
-rw-r--r-- 1 root root 21863457 Feb 22 17:07 hello-1.0.0.jar制作镜像在/usr/local/hello目录下执行命令
docker build -t 192.168.109.134:20080/dhorse/hello:1.0.0 .其中192.168.109.134:20080是Harbor镜像仓库地址dhorse是项目名。
登录仓库并上传镜像
docker login 192.168.109.134:20080 -u admin -p Harbor12345
docker push 192.168.109.134:20080/dhorse/hello:1.0.0编写Deployment文件
创建hello-k8s.yml文件内容如下
apiVersion: apps/v1
kind: Deployment
metadata:name: hellolabels:app: hello
spec:replicas: 1selector:matchLabels:app: hellotemplate:metadata:labels:app: hellospec:containers:- name: helloimage: 192.168.109.134:20080/dhorse/hello:1.0.0imagePullPolicy: Always部署应用
以下操作在k8s集群的mater机器上执行。
把hello-k8s.yml文件复制/user/local目录下并在当前目录执行如下命令
kubectl apply -f hello-k8s.yml稍后再执行如下命令
kubectl get pods -o wide输出结果如下
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
hello-79d56dc985-7dz6q 1/1 Running 0 8s 10.32.1.180 centos06 none none然后在访问/hello接口
curl http://10.32.1.180:8080/hello至此发布结束同时欢迎使用https://github.com/512team/dhorse进行自动发布。