KubeSphere打包部署程序
一、本地项目打包,上传到horbor服务器
1、本地项目打包
1)后端Java程序打包(可以用IEDA工具打包,这里介绍是maven打包)
mvn clean
mvn install
2)前端Vue项目打包
npm run build:prod
2、打包镜像(需要在服务器上安装docker,具体不在这里介绍)
1)创建项目文件夹(首次)
mkdir cou
cd cou
# 创建目录cou-server存放后端打包程序
mkdir cou-server
# 创建目录cou-ui存放前端打包程序
mkdir cou-ui
2)后端配置
cd cou-server
# 创建jar文件夹存放jar包
mkdir jar
# 创建Dockerfile文件,用户打包镜像配置
vi Dockerfile
Dockerfile配置
# 基础镜像
FROM java:8
# author
MAINTAINER jy
# 挂载目录
VOLUME /home/cou
# 创建目录
RUN mkdir -p /home/cou
# 指定路径
WORKDIR /home/cou
# 复制jar文件到路径
COPY ./jar/*.jar /home/cou/cou.jar
EXPOSE 8080
# 启动应用
ENTRYPOINT ["java","-jar","-Duser.timezone=Asia/Shanghai","cou.jar"]
3)前端配置
cd cou-ui
# 创建文件夹html,用于存放前端打包代码
mkdir html
# 创建文件夹conf,用于存放nginx配置文件
mkdir nginx
# 创建Dockerfile文件
vi Dockerfile
Dockerfile配置
# 基础镜像
FROM nginx
# author
MAINTAINER jy
# 挂载目录
VOLUME /home/cou-ui
# 创建目录
RUN mkdir -p /home/cou-ui
# 指定路径
WORKDIR /home/cou-ui
# 复制conf文件到路径
COPY ./conf/nginx.conf /etc/nginx/nginx.conf
# 复制html文件到路径
COPY ./html/dist /home/cou-ui
conf配置
cd conf
# 创建nginx.conf文件
vi nginx.conf
nginx配置
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
#服务配置
listen 80;
server_name _;
# 前端文件配置
location / {
root /home/cou-ui;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
# 后端接口配置
location /prod-api/ {
# 客户端最大文件传输大小
client_max_body_size 100M;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://cou-server.projects-2023:8080/;
}
# 错误页面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
4)上传文件
后端jar包存放在jar文件夹下,前端dist存放到html文件夹下
5)打包镜像
在项目的目录,也就是Dockerfile所在的目录
docker build -t 172.27.160.229:32090/csdn/cou:v9 .
注意镜像的地址和版本,推送镜像的版本号与创建的要一致
6)镜像推送
docker push 172.27.160.229:32090/csdn/cou:v9
3、推送镜像到horbor服务器
未安装horbor参考搭建horbor服务器安装:
https://blog.csdn.net/qq_34313322/article/details/139659510
二、K8s平台部署项目
登录k8s平台
1、配置本地harbor仓库(秘钥配置,已配置完了就不需要再配置了)
位置:平台管理->集群管理->配置->保密字典
1)点击创建
2)填写基本信息
3)选择秘钥类型
4)添加仓库地址和用户信息,点击验证按钮进行验证
5)点击创建
2、存储卷配置
位置:平台管理->集群管理->存储->存储卷
1)点击创建
2)填写基本信息
3)选择访问方式和存储卷容量
4)点击创建
3、创建工作负载
1)菜单中找到应用负载,选择工作负载,部署中点击创建
2)填写基本信息后,点击下一步,添加容器镜像,选择
3)在仓库中选择要拉取的镜像,获取拉取命令
4) 选择存储卷
5)点击创建
6)查看容器运行状态
点击容器组,找到刚刚创建的容器,显示运行中则表示容器已经正常启动
4、创建服务
工作负载只能在集群内部工作,如果外部或其他容器想调用当前程序,则必须要创建服务来提供对外接口或对外访问服务
1)菜单中找到应用负载中的服务,点击创建
2)填写基本信息
3)指定工作负载,填写容器端口(内部程序端口)和服务端口(对外端口)
4)选择外部访问,选择访问模式为NodePort(对内服务不需要外部访问)
5)创建
5、访问服务
1)如果是后端服务,可以点击服务找到自己创建的服务点进去,可以看到DNS,其他服务可以通过DNS对该服务进行访问,一般在前端打包配置时,配置后端的访问地址时需要
2)如果是前端页面,可以在服务中找到外部访问的端口
可以通过集群中任意结点的ip+端口来直接访问