158 lines
2.7 KiB
Markdown
158 lines
2.7 KiB
Markdown
# 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 <pod-name> -- 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开发团队
|