1、ruoyi-pro后端打包jar并上传到master节点主机
上传到master节点【192.168.91.166/home/biz】目录下
注:master:166,home/biz为后端jar打包镜像使用
1.1、mvn打包jar
mvn clean install -U -DskipTests

生成.jar包

本地可以先选行一下
java -jar yudao-server202607292116.jar
1.2 生成jar包自动上传到上传到master节点【192.168.91.166/home/biz】目录下

1.3 pom.xml 打包及上传配置
<!-- 新增时间戳格式 -->
<maven.build.timestamp.format>yyyyMMddHHmm</maven.build.timestamp.format>
<build>
<!-- 打包带日期jar名 -->
<finalName>${project.artifactId}${maven.build.timestamp}</finalName>
<!-- 3. 【关键】添加 SSH 扩展支持,否则无法使用 scp 协议 -->
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>3.5.3</version>
</extension>
</extensions>
<plugins>
<!-- 打包 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal> <!-- 将引入的 jar 打入其中 -->
</goals>
</execution>
</executions>
</plugin>
<!-- 4. 自动上传插件 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<!-- 对应 settings.xml 中的 ID -->
<serverId>remote-server</serverId>
<!-- 待上传的文件路径 (target目录下) -->
<fromFile>${project.build.directory}/${project.artifactId}${maven.build.timestamp}.jar</fromFile>
<!-- 远程服务器地址: scp://用户名@IP/目标目录 master:166,home/biz为后端jar打包镜像使用-->
<url>scp://root@192.168.91.166/home/biz</url>
</configuration>
<!-- 绑定生命周期:在执行完 package 后,自动执行 upload-single -->
<executions>
<execution>
<id>upload-deploy</id>
<phase>package</phase>
<goals>
<goal>upload-single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
1.4 settings.xml 中的 ID
<serverId>remote-server</serverId>
<servers>
<server>
<id>remote-server</id> <!-- 必须与 pom.xml 中的 serverId 一致 -->
<username>root</username>
<password>root</password>
<!-- 关键配置:跳过主机指纹询问 -->
<configuration>
<StrictHostKeyChecking>no</StrictHostKeyChecking>
<PreferredAuthentications>password</PreferredAuthentications>
</configuration>
</server>
</servers>


2、yudao-server202607292116.jar 构成镜像并推送到私库192.168.91.164:harbor
######master节点【192.168.91.166/home/biz】执行构成镜像并上传到私库192.168.91.164:harbor
2.1 DockerFile 文件内容如下
## 基础镜像
#FROM eclipse-temurin:25-jre
FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/eclipse-temurin:25-jre-alpine
# 定义构建时参数:JAR_TAG,兜底默认值防止不传参报错
ARG JAR_TAG=202607292012
## 创建工作目录
RUN mkdir -p /yudao-server
WORKDIR /yudao-server
## 关键修改:直接复制当前目录下的完整jar文件名
## COPY ./yudao-server20260718.jar app.jar
# 动态拼接完整jar文件名
COPY ./yudao-server${JAR_TAG}.jar app.jar
## 时区、JVM参数不变
ENV TZ=Asia/Shanghai
ENV JAVA_OPTS="-Xms512m -Xmx512m -Djava.security.egd=file:/dev/./urandom"
ENV ARGS=""
## 暴露端口
EXPOSE 48080
## 启动命令
ENTRYPOINT ["sh","-c","java $JAVA_OPTS -jar app.jar $ARGS"]
2.2 本地构成镜像docker build -t yudao-server:202607292012 .
###DockerFile的参数ARG JAR_TAG=202607292012 调整最新版本

2.3 镜像推送到私库192.168.91.164:harbor
#先打上 Harbor 仓库标签
docker tag yudao-server:202607292116 192.168.91.164/rouyi-biz/yudao-server:202607292116
# 推送harbor
docker push 192.168.91.164/rouyi-biz/yudao-server:202607292116


3、创建Deployment、Service文件yaml
kubeSphere 用命令创建 namespace: biz-rouyi

【Deployment、Service】rouyi-ng-biz.yaml内容如下
apiVersion: apps/v1
kind: Deployment
metadata:
name: rouyi-ng-biz
namespace: biz-rouyi
spec:
replicas: 1
selector:
matchLabels:
app: rouyi-ng-biz
template:
metadata:
labels:
app: rouyi-ng-biz
spec:
# 本地镜像无需拉取密钥,删除 imagePullSecrets
containers:
- name: yudao-server
# 替换为本地导入的镜像标签
image: 192.168.91.164/rouyi-biz/yudao-server:202607292116
#imagePullPolicy: Never
ports:
- containerPort: 48080
env:
- name: SPRING_PROFILES_ACTIVE
value: "local"
resources:
requests:
memory: "512Mi"
cpu: "500m"
limits:
memory: "1Gi"
cpu: "1000m"
---
apiVersion: v1
kind: Service
metadata:
name: rouyi-ng-biz
namespace: biz-rouyi
spec:
type: NodePort
selector:
app: rouyi-ng-biz
ports:
- port: 48080
targetPort: 48080
nodePort: 30081 #对外爆露端口
4、发布【Deployment、Service】
kubectl apply -f rouyi-ng-biz.yaml -n biz-rouyi
查看kubectl get pods -n biz-rouyi

查看kubectl deployment日志
kubectl logs -f deployment/rouyi-ng-biz -n biz-rouyi

5、kubeSphere


6、http://192.168.91.166:30081/

7、参考
harbor【https启用】及k8节点部证书【业务及根证书】
浙公网安备 33010602011771号