TAO Chutes Miner 是一个基于 Kubernetes 的 AI 算力网络,旨在通过自动化部署和智能调度优化 GPU 资源的使用。
# 🚀 Chutes Miner 最新部署完整指南(2025-K3s版)
适用于 Ubuntu 22.04,基于 K3s + Ansible 的全自动化部署流程 更新日期:2025年10月15号
## 🧭 一、项目简介
**Chutes Miner** 是在 chutes上运行的去中心化 AI 计算节点系统。
它通过 Ansible + Kubernetes 自动化部署,结合 GPU 验证(GraVal)与智能调度(Gepetto),帮助矿工在算力网络中高效提供 AI 推理服务。
## ⚙️ 二、系统组件概览
| 组件 | 功能简介 |
| -------------------- | ----------------------- |
| **Ansible** | 自动化部署服务器与 Kubernetes 环境 |
| **K3s (Kubernetes)** | 轻量级 K8s 集群管理 GPU 节点 |
| **Postgres** | 存储服务器与 GPU 状态数据 |
| **Redis** | 实时事件发布与订阅 |
| **GraVal** | GPU 真伪验证与 VRAM 校验 |
| **Registry Proxy** | 镜像代理与密钥签名验证 |
| **Miner API** | 节点注册与任务调度接口 |
| **Gepetto** | 智能调度引擎,优化推理任务与成本比 |
## 🖥️ 三、硬件与系统要求
| 类型 | 最低配置 | 建议配置 |
| ------------- | ---------------------- | ----------------------- |
| **控制节点(CPU)** | 4核 / 32GB RAM | 8核 / 64GB RAM |
| **GPU 节点** | 公网 IPv4、独立显卡 | H100 / A100 / 5090 等 |
| **操作系统** | Ubuntu 22.04 (裸机或专用VM) | Ubuntu 22.04 LTS 无驱动安装版 |
| **网络** | 公网独立IP(非NAT) | 所有节点间全端口互通 |
⚠️ **重要内存规则**:
总 RAM ≥ 所有 GPU VRAM 之和。例如:4×A40(48G) → 至少需 192GB RAM。
## 🌐 四、部署环境准备
### 1️⃣ 安装 Ansible(在你的管理机上执行)
#### Ubuntu / WSL
sudo apt update && sudo apt install -y ansible python3-pip
#### Mac
brew install ansible
### 2️⃣ 安装 Ansible 扩展组件
ansible-galaxy collection install community.general
ansible-galaxy collection install kubernetes.core
ansible-galaxy collection install ansible.posix
### 3️⃣ 可选:开启 Ansible 加速模式
wget https://files.pythonhosted.org/packages/source/m/mitogen/mitogen-0.3.22.tar.gz
tar -xzf mitogen-0.3.22.tar.gz
修改 ansible.cfg
:
[defaults]
strategy\_plugins = /path/to/mitogen-0.3.22/ansible\_mitogen/plugins/strategy
strategy = mitogen\_linear
[ssh\_connection]
ssh\_args = -o ControlMaster=auto -o ControlPersist=2m
## 🧩 五、配置部署文件
### 1️⃣ 创建目录与配置文件
mkdir ~/chutes
touch ~/chutes/inventory.yml
touch ~/chutes/values.yaml
### 2️⃣ 编**
****辑 invento
ry.y**ml
示例配置:
all:
children:
control:
hosts:
chutes-miner-cpu-0:
ansible\_host: 1.2.3.4
workers:
hosts:
chutes-miner-gpu-0:
ansible\_host: 1.2.3.5
vars:
ansible\_user: ubuntu
ansible\_ssh\_private\_key\_file: ~/.ssh/id\_rsa
ssh\_keys:
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ..."
setup\_local\_kubeconfig: true
controller\_kubeconfig: ~/.kube/chutes.config
hotkey\_path: "~/.bittensor/wallets/[WALLET]/hotkeys/[HOTKEY]"
chart\_values: "~/chutes/values.yaml"
## ☸️ 六、启动节点(Bootstrap)
执行以下命令完成全部安装与部署:
cd ansible/k3s
ansible-playbook -i ~/chutes/inventory.yml playbooks/site.yml
如需新增 GPU 节点:
ansible-playbook -i ~/chutes/inventory.yml playbooks/site.yml --tags add-nodes
## 🧠 七、配置 Gepetto(调度逻辑)
在控制节点修改优化策略:
kubectl create configmap gepetto-code --from-file=gepetto.py -n chutes
kubectl rollout restart deployment/gepetto -n chutes
## 🔑 八、注册矿工身份
注册到 Bittensor 子网 64:
btcli subnet register --netuid 64 --wallet.name [COLDKEY] --wallet.hotkey [HOTKEY]
不需要发布 axon;通信通过 WebSocket 建立。
## 💡 九、添加 GPU 节点
每台 GPU 服务器执行一次:
chutes-miner add-node \
--name chutes-miner-gpu-0 \
--validator 5Dt7HZ7Zpw4DppPxFM7Ke3Cm7sDAWhsZXmM5ZAmE7dSVJbcQ \
--hourly-cost 1.2 \
--gpu-short-ref h100 \
--hotkey ~/.bittensor/wallets/[COLD]/hotkeys/[HOTKEY] \
--agent-api http://[NODE\_IP]:32000 \
--miner-api http://[CONTROL\_IP]:32000
验证通过后可通过remote-inventory
查看节点状态:
chutes-miner remote-inventory --hotkey ~/.bittensor/wallets/ClodKey\_nane/hotkeys/Hotkey\_name
## 📊 十、监控与管理
| 工具 | 用途 |
| ----------- | ---------------------------------------- |
| **ktx** | 快速切换 Kubernetes 上下文 |
| **kns** | 切换命名空间(需 fzf
支持) |
| **Grafana** | 性能与状态监控 (http://[CONTROL_NODE_IP]:30080) |
示例端口转发访问:
kubectl port-forward svc/monitoring-grafana -n monitoring 8080:80
浏览器访问:http://localhost:8080
## 🧩 十一、更新与维护
### 更新 Charts
ansible-playbook -i ~/chutes/inventory.yml playbooks/deploy-charts.yml
### 重启所有 K8s 服务
ansible-playbook -i ~/chutes/inventory.yml playbooks/restart-k8s.yml
## 🧰 十二、常见问题
| 问题 | 现象 | 解决方案 |
| ------------- | ------------------- | -------------------------------------- |
| Postgres 认证失败 | Pod 日志中提示密码错误 | 删除旧数据卷 /var/snap/postgres-data
并重新部署 |
| GPU 验证失败 | GraVal bootstrap 报错 | 检查 GPU 驱动与 CUDA 版本是否自动安装成功 |
| 节点不可访问 | 连接 32000
端口失败 | 检查公网 IP、防火墙与 NodePort 范围 30000-32767 |
## 🎯 总结
通过 Ansible + K3s,Chutes Miner 部署可以完全自动化。
只需正确填写 inventory.yml
、拥有一台控制节点与若干 GPU 节点,即可快速上线。
* ✅ 支持多 GPU、多节点
* ✅ 自动化验证与注册
* ✅ 可自定义调度策略
* ✅ 内置监控与 Grafana 面板
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。