# 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部署 ```bash # 构建镜像 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部署 ```bash # 创建命名空间 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)。 ## 健康检查 ```bash # Docker docker exec nac-node nac-node health # Kubernetes kubectl exec -n nac-blockchain -it -- nac-node health ``` ## 故障排查 ### 查看日志 ```bash # Docker docker logs -f nac-node # Kubernetes kubectl logs -f -n nac-blockchain -l app=nac-node ``` ### 检查资源使用 ```bash # Docker docker stats nac-node # Kubernetes kubectl top pods -n nac-blockchain ``` ## 版本历史 ### v1.0.0 (2026-02-18) - ✅ 实现Docker部署 - ✅ 实现Kubernetes部署 - ✅ 实现配置管理 - ✅ 实现健康检查 - ✅ 添加监控支持 - ✅ 完整的文档 ## 许可证 NAC公链项目专有 ## 作者 NAC开发团队