标签(空格分隔): kubernetes系列


一:kubeshere 部署条件

1.1 部署条件

image.png

1.2 准备MySQL数据导入

image.png

image.png

image.png

image.png

1.3 部署nacos 部署

nacos k8s 部署参考:

https://nacos.io/zh-cn/docs/use-nacos-with-kubernetes.html

nacos 集群

https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

1.3.2 nacos k8s 部署分析

image.png

image.png

1.3.1 配置nacos配置文件

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

挂载配置文件以 子路径的形式挂载。

image.png

image.png

image.png

1.3.2 nacos集群外部访问

image.png

image.png

image.png
image.png

image.png

image.png

1.3.3 修改nacos 连接的数据库

image.png

image.png

然后从新部署nacos pod  可以降副本 在增加pod 

image.png

nacos web 打开:

http://172.16.10.11:30206/nacos

用户名、密钥

nacos/nacos

image.png

image.png

1.4 部署 ruoyi-cloud 的微服务层

image.png

image.png

image.png

1.4.2 dockerfile

FROM openjdk:8-jdk
LABEL maintainer=flyfish

#docker run -e PARAMS="--server.port 9090"
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

COPY target/*.jar /app.jar
EXPOSE 8080

#
ENTRYPOINT ["/bin/sh","-c","java -Dfile.encoding=utf8 -Djava.security.egd=file:/dev/./urandom -jar app.jar ${PARAMS}"]
规则:
1、容器默认以8080端口启动
2、时间为CST
3、环境变量 PARAMS 可以动态指定配置文件中任意的值
4、nacos集群内地址为  his-nacos.his:8848 
5、微服务默认启动加载 nacos中   服务名-激活的环境.yml  文件,所以线上的配置可以全部写在nacos中。

1.4.3 打包镜像

1.4.3.1 配置nacos prod 配置

image.png

image.png

image.png

1.4.3.2 登录阿里云的镜像仓库
docker login --username=187****2851 registry.cn-hangzhou.aliyuncs.com

image.png

mkdir -p /root/ruoyi-cloud/{ruoyi-api,ruoyi-auth,ruoyi-job,ruoyi-gateway,ruoyi-modules,ruoyi-ui,ruoyi-visual}

cd /root/ruoyi-cloud

 mkdir -p ruoyi-api/target
 mkdir -p ruoyi-auth/target
 mkdir -p ruoyi-job/target
 mkdir -p ruoyi-gateway/target
 mkdir -p ruoyi-modules/target
 mkdir -p ruoyi-visual/target

将maven打包的jar 放到 项目 target 下面

cd /usr/local/jars/
cp -ap ruoyi-api-system-3.4.0.jar /root/ruoyi-cloud/ruoyi-api/target/
cp -ap ruoyi-gateway.jar /root/ruoyi-cloud/ruoyi-gateway/target/
cp -ap ruoyi-auth.jar /root/ruoyi-cloud/ruoyi-auth/target/
cp -ap ruoyi-visual-monitor.jar /root/ruoyi-cloud/ruoyi-visual/target/
cp -ap ruoyi-modules-job.jar /root/ruoyi-cloud/ruoyi-job/target
cp -ap ruoyi-modules-system.jar /root/ruoyi-cloud/ruoyi-modules/target/

tree /root/ruoyi-cloud/

image.png

构建镜像:

cd /root/ruoyi-cloud/ruoyi-api/
docker build -t ruoyi-api:v1.0 -f dockerfile .

cd /root/ruoyi-cloud/ruoyi-auth/
docker build -t ruoyi-auth:v1.0 -f dockerfile .

cd /root/ruoyi-cloud/ruoyi-gateway/

docker build -t ruoyi-gateway:v1.0 -f dockerfile .

cd /root/ruoyi-cloud/ruoyi-job/

docker build -t ruoyi-job:v1.0 -f dockerfile .

cd /root/ruoyi-cloud/ruoyi-modules

docker build -t ruoyi-system:v1.0 -f dockerfile .

cd /root/ruoyi-cloud/ruoyi-visual/

docker build -t ruoyi-monitor:v1.0 -f dockerfile .

image.png

image.png

image.png

image.png

image.png

image.png

docker images 

image.png

1.4.4 打包镜像提交仓库

打包镜像

docker tag ruoyi-monitor:v1.0 registry.cn-hangzhou.aliyuncs.com/ywflyfish/ruoyi-monitor:v1.0
docker tag ruoyi-system:v1.0 registry.cn-hangzhou.aliyuncs.com/ywflyfish/ruoyi-system:v1.0
docker tag ruoyi-job:v1.0 registry.cn-hangzhou.aliyuncs.com/ywflyfish/ruoyi-job:v1.0
docker tag ruoyi-gateway:v1.0 registry.cn-hangzhou.aliyuncs.com/ywflyfish/ruoyi-gateway:v1.0
docker tag ruoyi-api:v1.0 registry.cn-hangzhou.aliyuncs.com/ywflyfish/ruoyi-api:v1.0
docker tag ruoyi-auth:v1.0 registry.cn-hangzhou.aliyuncs.com/ywflyfish/ruoyi-auth:v1.0

推送镜像

docker push registry.cn-hangzhou.aliyuncs.com/ywflyfish/ruoyi-monitor:v1.0
docker push registry.cn-hangzhou.aliyuncs.com/ywflyfish/ruoyi-system:v1.0
docker push registry.cn-hangzhou.aliyuncs.com/ywflyfish/ruoyi-job:v1.0
docker push registry.cn-hangzhou.aliyuncs.com/ywflyfish/ruoyi-gateway:v1.0
docker push registry.cn-hangzhou.aliyuncs.com/ywflyfish/ruoyi-api:v1.0
docker push registry.cn-hangzhou.aliyuncs.com/ywflyfish/ruoyi-auth:v1.0

image.png

image.png

image.png

image.png

1.4.5 使用kubesphere 部署服务

1.4.5.1 将个人仓库注入到 kubesphere 当中

image.png

image.png

image.png

image.png

1.4.5.1 部署ruoyi-cloud 的ruoyi-monitor 服务

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

启动报错给nacos 的模式改为MODE:standalone 不然会报错

image.png

ruoyi-monitor 启动成功

image.png

参考上面的部署ruoyi-cloud 的其它服务

ruoyi-system

image.png

image.png

image.png

image.png

image.png

部署ruoyi-job 

image.png

image.png

image.png

image.png

image.png

image.png

image.png

ruoyi-gateway部署

image.png

image.png

image.png

image.png

image.png

image.png

同以上一样部署ruoyi-auth/ruoyi-files

image.png

image.png

1.4.5.2 部署ruoyi-ui
修改前端的网关地址

image.png

打包:
cd /usr/local/RuoYi-Cloud/ruoyi-ui

npm run build:prod  

image.png

image.png

cp -ap dist/ /root/ruoyi-cloud/ruoyi-ui/
cd /usr/local/RuoYi-Cloud/docker/nginx
cp -ap dockerfile /root/ruoyi-cloud/ruoyi-ui/
cp -ap conf/ /root/ruoyi-cloud/ruoyi-ui/

cd /root/ruoyi-cloud/ruoyi-ui
mkdir -p html 

mv dist/ html   

vim conf/nginx.conf 

image.png
image.png

打包配置文件镜像

docker build -t ruoyi-ui:v1.0 -f dockerfile .

docker tag ruoyi-ui:v1.0 registry.cn-hangzhou.aliyuncs.com/ywflyfish/ruoyi-ui:v1.0

docker push registry.cn-hangzhou.aliyuncs.com/ywflyfish/ruoyi-ui:v1.0

image.png

image.png

image.png

image.png

image.png

image.png
image.png

1.4.5.3 打开 若依的页面测试

image.png

image.png

image.png