前提
1、基于上篇docker部署jeecg-boot低代码平台,把镜像制作完成上传到了华为云容器平台中
2、基于rancher创建K8S资源,不过rancher创建的服务都可以通过yaml文件创建出来
启动四个容器服务,分别是system、nginx、redis、mysql,服务名称必须分别是jeecg-boot-system、jeecg-boot-nginx、jeccg-boot-redis、jeecg-boot-mysql
swr.cn-north-1.myhuaweicloud.com/jeecg-boot/jeecg-boot:system swr.cn-north-1.myhuaweicloud.com/jeecg-boot/jeecg-boot:redis swr.cn-north-1.myhuaweicloud.com/jeecg-boot/jeecg-boot:mysql swr.cn-north-1.myhuaweicloud.com/jeecg-boot/jeecg-boot:nginx
正常情况下,启动四个容器都是deployment服务类型,其中nginx服务开启ingress和system后端开启供前端访问的ingress即可
ingress配置:
ingress绑定了两个域名,两个域名解析到ingress负载ip
浏览器访问:http://jeecg-boot.tenez.cn/
注意事项①
后端域名必须这么写: jeecg-boot-backend.tenez.cn
因为我在制作nginx镜像的时候打包进去了,下面是修改成自己域名的方法
修改jeecg-boot-backend.tenez.cn
方法:
下载工程文件https://download.csdn.net/download/zhanremo3062/80599924,解压存放到/dwz
目录下,进入到前端工程目录
cd /dwz/jeecg-boot-master/ant-design-vue-jeecg/
修改前端变量文件
vim .env.production NODE_ENV=production VUE_APP_API_BASE_URL=http://你的域名/jeecg-boot VUE_APP_CAS_BASE_URL=http://你的域名:8888/cas VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview
yarn run build
构建镜像
docker build -t nginx:jeecgboot .
启动镜像
docker run --network=jeecg-boot_default --name jeecg-boot-nginx -p 80:80 -d nginx:jeecgboot
验证没问题后制作镜像
docker commit -m "" nginx:jeecgboot jeecg-boot:nginx
最后,jeecg-boot:nginx
就是自己修改后域名的镜像
注意事项②
其中的swr.cn-north-1.myhuaweicloud.com/jeecg-boot/jeecg-boot:mysql
镜像做持久化,需要把pvc映射到容器的/var/lib/mysql
目录
注意事项③
需要把四个服务部署在同一个命名空间,system、nginx、redis、mysql名字必须分别是jeecg-boot-system
、jeecg-boot-nginx
、jeccg-boot-redis
、jeecg-boot-mysql
,因为配置文件封装了这些域名,在k8s部署的同一个命名空间后,可以直接通过服务名字访问