Kubernetes容器交付介绍
Kubernetes容器交付介绍
如何在k8s集群中部署Java项目
容器交付流程
- 开发代码阶段
- 编写代码
- 编写Dockerfile【打镜像做准备】
- 持续交付/集成
- 代码编译打包
- 制作镜像
- 上传镜像仓库
- 应用部署
- 环境准备
- Pod
- Service
- Ingress
- 运维
- 监控
- 故障排查
- 应用升级
k8s部署Java项目流程
- 制作镜像【Dockerfile】
- 上传到镜像仓库【Dockerhub、阿里云、网易】
- 控制器部署镜像【Deployment】
- 对外暴露应用【Service、Ingress】
- 运维【监控、升级】
k8s部署Java项目
准备Java项目
第一步,准备java项目,把java进行打包【jar包或者war包】
依赖环境
在打包java项目的时候,我们首先需要两个环境
- java环境【JDK】
- maven环境
然后把java项目打包成jar包
1 | mvn clean install |
编写Dockerfile文件
Dockerfile 内容如下所示
1 | FROM openjdk:8-jdk-alpine |
制作镜像
在我们创建好Dockerfile文件后,我们就可以制作镜像了
我们首先将我们的项目,放到我们的服务器上
然后执行下面命令打包镜像
1 | docker build -t java-demo-01:latest . |
等待一段后,即可制作完成我们的镜像
最后通过下面命令,即可查看我们的镜像了
1 | docker images; |
启动镜像
在我们制作完成镜像后,我们就可以启动我们的镜像了
1 | docker run -d -p 8111:8111 java-demo-01:latest -t |
启动完成后,我们通过浏览器进行访问,即可看到我们的java程序
1 | http://192.168.177.130:8111/user |
推送镜像
下面我们需要将我们制作好的镜像,上传到镜像服务器中【阿里云、DockerHub】
首先我们需要到 阿里云 容器镜像服务,然后开始创建镜像仓库
然后选择本地仓库
我们点击我们刚刚创建的镜像仓库,就能看到以下的信息
登录镜像服务器
使用命令登录
1 | docker login --username=XXXXXXX@163.com registry.cn-shenzhen.aliyuncs.com |
然后输入刚刚我们开放时候的注册的密码
镜像添加版本号
下面为我们的镜像添加版本号
1 | # 实例 |
操作完成后
推送镜像
在我们添加版本号信息后,我们就可以推送我们的镜像到阿里云了
1 | docker push registry.cn-shenzhen.aliyuncs.com/mogublog/java-project-01:1.0.0 |
操作完成后,我们在我们的阿里云镜像服务,就能看到推送上来的镜像了
控制器部署镜像
在我们推送镜像到服务器后,就可以通过控制器部署镜像了
首先我们需要根据刚刚的镜像,导出yaml
1 | # 导出yaml |
导出后的 javademo1.yaml 如下所示
1 | apiVersion: apps/v1 |
然后通过下面命令,通过yaml创建我们的deployment
1 | # 创建 |
或者我们可以进行扩容,多创建几个副本
1 | kubectl scale deployment javademo1 --replicas=3 |
然后我们还需要对外暴露端口【通过service 或者 Ingress】
1 | # 对外暴露端口 |
然后通过下面的地址访问
1 | # 对内访问 |
运维
….
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jacker-zzk's Blog!