项目部署

配置要求

设备数量0< 设备数 < 50005000< 设备数 < 10000设备数 > 10000
推荐机器配置2c4g4c8g根据情况调整
磁盘100G200G根据情况调整

目前框架中使用的go通道处理设备上报数据,根据服务器配置更改协程处理能力。设备数大于5000时建议使用nats消息队列处理上报数据。

前端构建

前端项目直接build npm run build 需要注意的是在vite.config.ts 文件中 修改构建输出目录 为 后端目录下的 static

K3S部署

项目部署是基于K3S进行部署的,也就是K8S简约版本。

K3S的安装

  • 安装 curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_VERSION="v1.18.20+k3s1" sh -
  • 卸载 sudo /usr/local/bin/k3s-uninstall.sh

项目部署

  • 设置打包环境set GOOS=linux set GOARCH=amd64
  • 构建Linux执行命令 go build -o pandax .
  • 构建docker镜像 (修改版本号 xmadmin/pandax:v1.0) docker build -t xmadmin/pandax:v1.0 --rm .\
  • 上传daocker镜像 docker push xmadmin/pandax:v1.0

注意

前端同理,构建成docker镜像,然后推送到docker仓库。部署时记得修改端口号,有问题联系作者

服务的安装 (包括MySQL,Tdengine,Reids)

  1. kubectl kustomize deploy/manifest-server -o deploy/deploy-server.yaml
  2. kubectl apply -f ./deploy/deploy-server.yaml

PandaX系列应用安装

  • 生成 deploy.yaml kubectl kustomize deploy/manifest -o deploy/deploy.yaml
  • 项目部署 kubectl apply -f deploy/deploy.yaml

查询所有部署结果 kubectl get pods -n pandax kubectl get services -n pandax

docker单独部署

pandax后端构建

  • 根据具体需要构建的环境设置,例如Linux amd64 先设置go env -w GOOS=linux
  • 后端构建 go run build -o pandax .
  • 构建docker镜像 docker build -t pandax:v1.0 .
  • 单独部署 docke run -itd --name pandax --network=host pandax:v1.0

组态/规则链构建

  • 修改前端构建的配置文件,主要是后端接口路径
  • 项目目录下npm run build
  • 构建docker镜像 docker build -t pandaxscada:v1.0 . 构建组态和规则
  • 单独部署 组态:docker run -itd -p 7790:7790 --name=pandaxscada pandaxscada:v1.0
  • 规则链: docker run -itd -p 7791:7791 --name=pandaxrule pandaxrule:v1.0

pandax前端构建

  • 修改前端构建的配置文件,主要是后端接口路径
  • 项目目录下npm run build
  • 构建docker镜像 docker build -t pandax-ui:v1.0 .

docker-compose部署

安装 docker-compose

curl -L "https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
1

赋予权限

sudo chmod +x /usr/local/bin/docker-compose
1

执行创建命令

docker-compose up
1

注意

执行部署前,检查所有镜像是否都已经构建完成并上传到远程仓库。

1Panel部署

上次更新: 2025/4/25 22:42:47
贡献者: XM-GO, PandaGoAdmin, PandaX-Go, tfl