kubesphere使用镜像安装部署RuoYi-Cloud
主要介绍KubeSphere实战RuoYi-Cloud部署实战,项目地址:RuoYi-Cloud。
中间件搭建
搭建 MySQL、Redis、Nacos。
若未安装,则可以阅读 kubesphere使用镜像安装部署Mysql、 kubesphere使用镜像安装部署Redis、 kubeSphere使用镜像安装部署Nacos集群。
准备工作
-
MySQL 数据准备
创建数据库ry-cloud并导入数据脚本ry_2021xxxx.sql(必须),quartz.sql(可选)。
创建数据库nacos_config并导入数据脚本ry_config_2021xxxx.sql(必须)。
创建数据库ry-seata并导入数据脚本ry_seata_2021xxxx.sql
-
配置nacos持久化
修改conf/application.properties文件,增加支持mysql数据源配置, 需要将连接mysql的地址改为DNS域名,密码改为实际密码。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16### If use MySQL as datasource:
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://mysql-5-7.common-util:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=123456
### Connection pool configuration: hikariCP
db.pool.config.connectionTimeout=30000
db.pool.config.validationTimeout=10000
db.pool.config.maximumPoolSize=20
db.pool.config.minimumIdle=2
微服务后端镜像打包
-
使用 Idea 的 Maven 将所有涉及的微服务生成 jar 包,如ruoyi-gateway,其它微服务打包方法一致。
-
编写 Dockerfile 的规范,如ruoyi-gateway,其它微服务打包方法一致,只是名字不同。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15# 基础镜像
FROM java:8
# author
MAINTAINER ruoyi
# 挂载目录
VOLUME /home/ruoyi
# 创建目录
RUN mkdir -p /home/ruoyi
# 指定路径
WORKDIR /home/ruoyi
# 复制jar文件到路径
COPY ./jar/ruoyi-gateway.jar /home/ruoyi/ruoyi-gateway.jar
# 启动网关服务
ENTRYPOINT ["java","-jar","ruoyi-gateway.jar"] -
Docker 打包为镜像,如ruoyi-gateway,其它微服务打包为镜像方法一致,只是名字不同。
登录拥有 Docker 服务的服务器,把jar包和Dockerfile文件上传服务器。目录结构如下:
1
2# 进入相应服务目录
[root@node02 ruoyi-gateway]# docker build -t ruoyi-gateway:v1.0 -f Dockerfile . -
推送镜像到Harbor仓库,其它微服务推送方法一致,只是名字不同。
1
2
3
4
5
6
7
8# 1.登陆
docker login --username=nacos 192.168.18.111:31432
# 2.打标签
docker tag ruoyi-gateway:v1.0 192.168.18.111:31432/library/ruoyi-gateway:v1.0
# 3.推送
docker push 192.168.18.111:31432/library/ruoyi-gateway:v1.0
微服务前端镜像打包
前端需要修改生产环境下访问的网关地址,指向云端网关的DNS域名地址。
打包正式环境。
1 | npm run build:prod |
将生成的dist文件夹内容放到面拥有Docker服务的服务器里面,增加nginx的配置文件。
1 | http { |
编写 Dockerfile 的规范。
1 | # 基础镜像 |
1 | # 进入相应服务目录 |
kubesphere使用镜像部署服务
所有镜像创建无状态服务,但 ruoyi-gateway,ruoyi-ui 需要开启外网访问。
ruoyi-gateway 的外网访问地址就是前端需要修改生产环境下访问的网关地址。
ruoyi-ui 的外网访问就是管理平台的页面访问地址。