首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >TAO Chutes Miner 最新部署完整指南(2025-K3S版)

TAO Chutes Miner 最新部署完整指南(2025-K3S版)

原创
作者头像
用户1185599
修改2025-10-20 12:14:37
修改2025-10-20 12:14:37
250
举报

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

代码语言:bash
复制
sudo apt update && sudo apt install -y ansible python3-pip

#### Mac

代码语言:bash
复制
brew install ansible

### 2️⃣ 安装 Ansible 扩展组件

代码语言:bash
复制
ansible-galaxy collection install community.general

ansible-galaxy collection install kubernetes.core

ansible-galaxy collection install ansible.posix

### 3️⃣ 可选:开启 Ansible 加速模式

代码语言:bash
复制
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

代码语言:ini
复制
[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️⃣ 创建目录与配置文件

代码语言:bash
复制
mkdir ~/chutes

touch ~/chutes/inventory.yml

touch ~/chutes/values.yaml

### 2️⃣ 编******辑 inventory.y**ml

示例配置:

代码语言:yaml
复制
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)

执行以下命令完成全部安装与部署:

代码语言:bash
复制
cd ansible/k3s

ansible-playbook -i ~/chutes/inventory.yml playbooks/site.yml

如需新增 GPU 节点:

代码语言:bash
复制
ansible-playbook -i ~/chutes/inventory.yml playbooks/site.yml --tags add-nodes

## 🧠 七、配置 Gepetto(调度逻辑)

在控制节点修改优化策略:

代码语言:bash
复制
kubectl create configmap gepetto-code --from-file=gepetto.py -n chutes

kubectl rollout restart deployment/gepetto -n chutes

## 🔑 八、注册矿工身份

注册到 Bittensor 子网 64:

代码语言:bash
复制
btcli subnet register --netuid 64 --wallet.name [COLDKEY] --wallet.hotkey [HOTKEY]

不需要发布 axon;通信通过 WebSocket 建立。


## 💡 九、添加 GPU 节点

每台 GPU 服务器执行一次:

代码语言:bash
复制
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 查看节点状态:

代码语言:bash
复制
chutes-miner remote-inventory --hotkey ~/.bittensor/wallets/ClodKey\_nane/hotkeys/Hotkey\_name

## 📊 十、监控与管理

| 工具          | 用途                                       |

| ----------- | ---------------------------------------- |

| **ktx**     | 快速切换 Kubernetes 上下文                      |

| **kns**     | 切换命名空间(需 fzf 支持)                       |

| **Grafana** | 性能与状态监控 (http://[CONTROL_NODE_IP]:30080) |


示例端口转发访问:

代码语言:bash
复制
kubectl port-forward svc/monitoring-grafana -n monitoring 8080:80

浏览器访问:http://localhost:8080


## 🧩 十一、更新与维护

### 更新 Charts

代码语言:bash
复制
ansible-playbook -i ~/chutes/inventory.yml playbooks/deploy-charts.yml

### 重启所有 K8s 服务

代码语言:bash
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档