课程目标

  1. 掌握kubesphere的使用

课程实验

  1. 使用kubesphere完成微服务项目的部署

课堂引入

  1. kubesphere快速的部署微服务项目

授课进程

一、项目概述
1、项目结构

官网地址:https://ruoyi.vip/

下载地址:https://gitee.com/y_project/RuoYi-Cloud

若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。

  • 采用前后端分离的模式,微服务版本前端(基于 RuoYi-Vue)。

  • 后端采用Spring Boot、Spring Cloud & Alibaba。

  • 注册中心、配置中心选型Nacos,权限认证使用Redis。

  • 流量控制框架选型Sentinel,分布式事务选型Seata。

系统模块:

com.ruoyi     
├── ruoyi-ui                                      // 前端框架 [80]
├── ruoyi-gateway                                 // 网关模块 [8080]
├── ruoyi-auth                                    // 认证中心 [9200]
├── ruoyi-api                                     // 接口模块
│       └── ruoyi-api-system                          // 系统接口
├── ruoyi-common                                  // 通用模块
│       └── ruoyi-common-core                         // 核心模块
│       └── ruoyi-common-datascope                    // 权限范围
│       └── ruoyi-common-datasource                   // 多数据源
│       └── ruoyi-common-log                          // 日志记录
│       └── ruoyi-common-redis                        // 缓存服务
│       └── ruoyi-common-seata                        // 分布式事务
│       └── ruoyi-common-security                     // 安全模块
│       └── ruoyi-common-swagger                      // 系统接口
├── ruoyi-modules                                 // 业务模块
│       └── ruoyi-system                              // 系统模块 [9201]
│       └── ruoyi-gen                                 // 代码生成 [9202]
│       └── ruoyi-job                                 // 定时任务 [9203]
│       └── ruoyi-file                                // 文件服务 [9300]
├── ruoyi-visual                                  // 图形化管理模块
│       └── ruoyi-visual-monitor                      // 监控中心 [9100]
├──pom.xml                                        // 公共依赖

架构图:

img

2、项目演示

http://demo.ruoyi.vip/login

二、MySQL部署
1、步骤概述
1、下载上传镜像
2、MySQL相关配置
3、创建配置
4、创建存储卷
5、创建有状态服务
6、测试访问
2、下载上传镜像
# 在harbor机器中操作即可
docker pull mysql:5.7.35
# 对镜像打标签
docker tag mysql:5.7.35 47.113.204.41:8888/library/mysql:5.7.35
# 上传镜像到仓库
docker push 47.113.204.41:8888/library/mysql:5.7.35
3、MySQL相关配置
docker run --restart always -p 3306:3306 --name mysql 
-v /usr/local/dockerdata/mysql/conf/my.cnf:/etc/mysql/conf.d/my.cnf 
-v /usr/local/dockerdata/mysql/logs:/logs 
-v /usr/local/dockerdata/mysql/data:/var/lib/mysql 
-e MYSQL_ROOT_PASSWORD=123456 
-e TZ=Asia/Shanghai -d mysql:5.7
4、创建配置

mysql默认安装后的配置文件内容:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
max_connections=150
5、创建存储卷
6、创建有状态服务
需要设置环境变量
7、测试访问

使用以下命令连接,看是否连接的上,如果可以的话,那就OK

mysql -uroot -h服务的地址 -p123456
三、Redis部署
1、步骤概述
1、下载上传镜像
2、创建有状态服务
3、测试访问
2、下载上传镜像
# 在harbor机器中操作即可
docker pull redis:6.0.8
# 对镜像打标签
docker tag redis:6.0.8 47.113.204.41:8888/library/redis:6.0.8
# 上传镜像到仓库
docker push 47.113.204.41:8888/library/redis:6.0.8
2、创建有状态服务

创建redis.conf配置字典,挂载到/usr/local/etc/redis

创建持久卷,挂载到/data目录

容器运行启动命令CMD["redis-server","/usr/local/etc/redis/redis.conf"]

3、测试访问

在MySQL主机中ping一下Redisserver的ip,如果可以ping通,则说明没有问题

四、nacos部署
1、操作步骤
1、下载上传镜像
2、创建配置并修改数据连接
3、导入数据库
4、创建服务
5、访问测试
6、复制生产环境配置
2、下载上传镜像
# 在harbor机器中操作即可
docker pull nacos/nacos-server:v2.4.3
# 对镜像打标签
docker tag nacos/nacos-server:v2.4.3 47.113.204.41:8888/library/nacos-server:v2.4.3
# 上传镜像到仓库
docker push 47.113.204.41:8888/library/nacos-server:v2.4.3
3、创建配置并修改数据连接

nacos配置文件中需要修改的地方:

### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=root
### If turn on auth system:
nacos.core.auth.enabled=true
nacos.core.auth.server.identity.key=nacos
nacos.core.auth.server.identity.value=nacos
nacos.core.auth.plugin.nacos.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=

配置单机模式启动的环境变量:

mode:standalone
4、导入数据库
1. 导入nacos本身的数据库
    mysql-schema.sql
2. 导入若依关于nacos配置的数据库(最终nacos以该数据为准)
    ry_config_20240902.sql
3. 导入若依的核心数据库
    ry_20240629.sql
    quartz.sql
5、创建工作负载

nacos相关配置

docker run -d --name nacos2.2.3  \
-p 8848:8848 -p 9848:9848 -p 9849:9849 \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-v /root/hemaTest/nacos/logs:/home/nacos/logs \
-v /root/hemaTest/nacos/conf:/home/nacos/conf \
-v /root/hemaTest/nacos/data:/home/nacos/data \
--restart=always \
镜像名/镜像ID
6、访问测试
7、复制生产环境配置
五、gateway网关部署
1、操作步骤
1、下载源码
2、编译打包
3、编写dockerfile
4、上传镜像
6、修改配置文件配置
7、创建服务
2、下载源码
3、编译打包
4、编写dockerfile
5、上传镜像
6、修改配置文件配置
7、创建服务
六、其他服务部署

1.修改配置(指定mysql,redis,nacos,gateway连接地址)

2.编译打包(maven)

3.制作镜像(dockerfile)

4.上传镜像仓库(harbor)

5.生产环境拉取镜像(所有微服务的镜像)

七、前端UI部署
1、操作步骤
1、修改配置
2、编译打包
3、编写dockerfile
4、上传镜像
5、创建配置
6、创建服务
2、修改配置,指定网关连接
3、编译打包
yum install nodejs -y
yum install npm -y
npm config get userconfig
npm cache clean --force
npm config set registry https://registry.npmmirror.com
npm install -g @vue/cli
npm install
export NODE_OPTIONS=--openssl-legacy-provider
npm run build:prod
4、编写dockerfile
5、上传镜像
6、创建配置
7、创建服务
八、访问测试

更多推荐