NAC_Blockchain/nac-deploy
NAC Development Team 16b067ee82 feat: Issue #25 - 为所有模块增加统一的升级机制
- 创建nac-upgrade-framework升级框架模块
- 实现版本管理、升级协议、回滚机制、升级治理
- 为41个模块集成升级机制
- 编写52个单元测试,全部通过
- 提供完整文档和使用示例

模块统计:
- 核心代码: 1,770行
- 集成代码: 615行
- 测试: 52个
- 测试覆盖率: >90%
- 集成成功率: 97.6% (41/42)

功能特性:
 语义化版本控制
 升级提案系统
 快照和回滚
 治理和投票
 状态迁移
 配置变更管理

Issue: #25
2026-02-19 01:45:46 -05:00
..
k8s 完成工单#014: nac-deploy 部署工具完善 2026-02-18 14:33:08 -05:00
src feat: Issue #25 - 为所有模块增加统一的升级机制 2026-02-19 01:45:46 -05:00
Cargo.lock Initial commit: NAC公链核心模块 - 生产级别代码 2026-02-16 19:19:43 -05:00
Cargo.toml feat: Issue #25 - 为所有模块增加统一的升级机制 2026-02-19 01:45:46 -05:00
Dockerfile 完成工单#014: nac-deploy 部署工具完善 2026-02-18 14:33:08 -05:00
README.md 完成工单#014: nac-deploy 部署工具完善 2026-02-18 14:33:08 -05:00
TICKET_14_COMPLETION_LOG.md 完成工单#014: nac-deploy 部署工具完善 2026-02-18 14:33:08 -05:00
docker-compose.yml 完成工单#014: nac-deploy 部署工具完善 2026-02-18 14:33:08 -05:00

README.md

NAC部署工具

NAC公链节点的部署工具支持Docker、Kubernetes等多种部署方式。

功能特性

1. Docker部署

  • 多阶段构建Dockerfile
  • Docker Compose编排
  • 镜像优化(< 100MB
  • 健康检查

2. Kubernetes部署

  • K8s Deployment配置
  • Service配置
  • PVC存储配置
  • HPA自动扩缩容
  • 滚动更新策略

3. 配置管理

  • 环境变量管理
  • ConfigMap配置
  • Secret密钥管理
  • 配置验证

4. 健康检查

  • 存活探针Liveness Probe
  • 就绪探针Readiness Probe
  • 启动探针Startup Probe
  • Prometheus监控指标

快速开始

Docker部署

# 构建镜像
docker build -t nac-blockchain/node:latest -f nac-deploy/Dockerfile .

# 运行节点
docker run -d \
  --name nac-node \
  -p 8545:8545 \
  -p 8546:8546 \
  -p 30303:30303 \
  -v nac-data:/data/nac \
  nac-blockchain/node:latest

# 使用Docker Compose
cd nac-deploy
docker-compose up -d

Kubernetes部署

# 创建命名空间
kubectl create namespace nac-blockchain

# 应用配置
kubectl apply -f nac-deploy/k8s/

# 查看状态
kubectl get pods -n nac-blockchain
kubectl get svc -n nac-blockchain

# 查看日志
kubectl logs -f -n nac-blockchain -l app=nac-node

配置说明

环境变量

变量名 说明 默认值
NAC_NETWORK 网络类型 mainnet
NAC_LOG_LEVEL 日志级别 info
NAC_RPC_HOST RPC监听地址 0.0.0.0
NAC_RPC_PORT RPC端口 8545
NAC_WS_PORT WebSocket端口 8546
NAC_P2P_PORT P2P端口 30303
NAC_DATA_DIR 数据目录 /data/nac

端口说明

端口 协议 说明
8545 TCP HTTP RPC
8546 TCP WebSocket RPC
30303 TCP/UDP P2P网络
9090 TCP Prometheus指标

监控

Prometheus

访问 http://localhost:9090 查看Prometheus监控。

Grafana

访问 http://localhost:3000 查看Grafana仪表板默认用户名/密码admin/admin

健康检查

# Docker
docker exec nac-node nac-node health

# Kubernetes
kubectl exec -n nac-blockchain -it <pod-name> -- nac-node health

故障排查

查看日志

# Docker
docker logs -f nac-node

# Kubernetes
kubectl logs -f -n nac-blockchain -l app=nac-node

检查资源使用

# Docker
docker stats nac-node

# Kubernetes
kubectl top pods -n nac-blockchain

版本历史

v1.0.0 (2026-02-18)

  • 实现Docker部署
  • 实现Kubernetes部署
  • 实现配置管理
  • 实现健康检查
  • 添加监控支持
  • 完整的文档

许可证

NAC公链项目专有

作者

NAC开发团队