把Ruoyi搞上去-云上部署之手动在KubeSphere部署Ruoyi
将RuoyiCloud部署到云上环境 RuoyiCloud地址: https://gitee.com/y_project/RuoYi-Cloud默认RuoyiCloud已可以在本地启动,且前台正常登录本次部署使用kubeSphere,为Linux单节点部署,有条件可以多节点使用的服务器为阿里云ECS,8c16gkubeSphere的安装参考之前的文章云上部署分为以下几个环节1. 中间件部署部署
将RuoyiCloud部署到云上环境 RuoyiCloud地址: https://gitee.com/y_project/RuoYi-Cloud
默认RuoyiCloud已可以在本地启动,且前台正常登录
本次部署使用kubeSphere,为Linux单节点部署,有条件可以多节点
使用的服务器为阿里云ECS,8c16g
kubeSphere的安装参考之前的文章
云上部署分为以下几个环节
1. 中间件部署
部署RuoyiCloud所需中间件
Mysql,Redis,Nacos
2. 微服务部署
将RuoyiCloud的各个组件打包成镜像发布
2.1 开通阿里云容器镜像服务
其他类似容器服务也可以
2.2 docker登录
# 登录
docker login --username=德玛西亚所向披靡 registry.cn-wulanchabu.aliyuncs.com
# 输入开通容器服务的密码
2.3 打包镜像
2.3.1 准备Dockerfile
ruoyi项目里已经有基本的Dockerfile,修改下即可使用
2.3.1.1 前端Dockerfile
# 基础镜像
FROM nginx
# author
MAINTAINER zy
# 挂载目录
VOLUME /home/ruoyi/projects/ruoyi-ui
# 创建目录
RUN mkdir -p /home/ruoyi/projects/ruoyi-ui
# 指定路径
WORKDIR /home/ruoyi/projects/ruoyi-ui
# 复制conf文件到路径
COPY ./conf/nginx.conf /etc/nginx/nginx.conf
# 复制html文件到路径
COPY ./html/dist /home/ruoyi/projects/ruoyi-ui
2.3.1.2 后端微服务Dockerfile
后端做了通用的配置,在启动时指定镜像为prod,并指定生产环境nacos
# 基础镜像
FROM openjdk:8-jdk
# author
MAINTAINER zy
ENV PARAMS="--server.port=8080 \
--spring.profiles.active=prod \
--spring.cloud.nacos.discovery.server-addr=his-nacos.his:8848 \
--spring.cloud.nacos.config.server-addr=his-nacos.his:8848 \
--spring.cloud.nacos.config.namespace=prod \
--spring.cloud.nacos.config.file-extension=yml"
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
# 复制jar文件到路径
COPY target/*.jar /app.jar
# 启动服务
ENTRYPOINT ["/bin/sh","-c","java -Dfile.encoding=utf8 -Djava.security.egd=file:/dev/./urandom -jar app.jar ${PARAMS}"]
2.3.2 打包镜像
将jar包和Dockerfile上传到安装了docker的机器
目录如下:
后端jar包放置于target中,符合Dockerfile中指定的目录
前端包放置于html中,符合Dockerfile中指定的目录
2.3.2.1 编译镜像&推送镜像到阿里云
# 编译命令 -f [Dockerfile文件] 可以省略,默认寻找当前目录下Dockerfile文件
docker build -t [镜像名:版本] -f [Dockerfile文件] .
example:
docker build -t ry-system:v1 -f Dockerfile .
# 打标签 使标签符合阿里云容器镜像服务的标准
docker tag [imageid] [新的标签]
example:
docker tag [system的镜像id] registry.cn-wulanchabu.aliyuncs.com/mydocker_zy/ry-system:v1
# 推送镜像 在docker login成功的前提下
docker push [tag:版本号]
example:
docker push registry.cn-wulanchabu.aliyuncs.com/mydocker_zy/ry-system:v1
2.4 部署到kubeSphere
推送到阿里云之后,就可以像部署中间件一样拉取阿里云镜像手动部署
3. 网络环境
需要在k8s环境下联通微服务和各个中间件的网络环境,一般为局域网内连接,不走公网
同样在k8s的搭建中我们看到可以在集群内部使用ClusterIP的方式在集群内部互连
4. 配置分离
即本地环境和生产环境的配置可能不一样,需要配置隔离开,一般通过配置中心解决
更多推荐
所有评论(0)