首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Chutes Validator 部署全流程教程(完整详细版)

Chutes Validator 部署全流程教程(完整详细版)

原创
作者头像
用户1185599
发布2025-10-20 12:20:24
发布2025-10-20 12:20:24
2100
代码可运行
举报
运行总次数:0
代码可运行

本文为 Chutes AI Validator(验证者节点) 的详细部署指南,涵盖从服务器准备、Ansible 自动化配置、Kubernetes 集群搭建,到各类密钥与数据库初始化的完整步骤。 适用于希望在 Bittensor 子网中运行独立验证节点的高级用户。


一、🧩 项目概述

Chutes 是一个去中心化 AI 平台,用于运行验证者(Validator)和矿工(Miner)节点,支持 GPU 算力共享、模型部署与收益分配,介绍如何独立部署一套完整的验证者 API 服务。


二、💡 为什么部署 Validator?

✅ 适合部署的情况:

  • 希望增强网络去中心化与稳定性;
  • 想自定义域名、收益分配机制;
  • 希望深入理解 Chutes 的 API 与验证体系。

⚠️ 不建议部署的情况:

  • 缺乏运维经验(Kubernetes、Postgres、Redis、TLS 等);
  • 无法长期维护高成本节点;
  • 仅为获取收益(官方 0% 验证者抽成,收益更推荐通过子热键)。

三、🖥️ 节点硬件要求

建议部署:

  • CPU 节点 ×2 高性能多核服务器(≥16 核 / 64GB RAM / 数 TB SSD) 运行核心组件:API、Socket、Redis、Postgres、Forge、Registry。
  • GPU 节点 若干 至少 8× H200 或 A100(80GB VRAM 级别),用于 GraVal 加密验证。

四、🪄 使用 Ansible 自动化安装

1️⃣ 安装 Ansible

Mac
代码语言:bash
复制
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install ansible
Ubuntu
代码语言:bash
复制
sudo apt update && sudo apt install -y ansible python3-pip
CentOS/Fedora
代码语言:bash
复制
sudo dnf install epel-release -y
sudo dnf install ansible -y

2️⃣ 安装所需集合

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

克隆 Chutes api 矿工仓库

代码语言:bash
复制
git clone https://github.com/chutesai/chutes-api.git
cd chutes-api/ansible

3️⃣ 编辑节点清单并执行 Playbook

进入 ansible 目录,修改 inventory.yml,写入各节点 IP 与角色信息。

执行初始化:

代码语言:bash
复制
ansible-playbook -i inventory.yml site.yml

加入集群:

代码语言:bash
复制
ansible-playbook -i inventory.yml join-cluster.yml

安装额外组件(如 GPU Operator):

代码语言:bash
复制
ansible-playbook -i inventory.yml extras.yml

五、☁️ 配置依赖服务

1️⃣ S3 对象存储

用于保存镜像、构建上下文、Logo 等。可选:

  • AWS S3
  • Cloudflare R2
  • GCS(推荐)
  • MinIO 自建

创建 Kubernetes Secret:

代码语言:bash
复制
microk8s kubectl create secret generic s3-credentials \
  --from-literal="access-key-id=[AccessKey]" \
  --from-literal="secret-access-key=[Secret]" \
  --from-literal="bucket=[BucketName]" \
  --from-literal="endpoint-url=[EndpointURL]" \
  --from-literal="aws-region=[Region]" \
  -n chutes

2️⃣ Postgres 数据库

强烈建议使用托管数据库(Aurora / AlloyDB)保证安全性与备份。

代码语言:bash
复制
microk8s kubectl create secret generic postgres-secret \
  --from-literal="username=chutes" \
  --from-literal="password=[Password]" \
  --from-literal="url=postgresql+asyncpg://chutes:[Password]@[Host]:5432/chutes" \
  --from-literal="hostname=[Host]" \
  --from-literal="port=5432" \
  --from-literal="database=chutes" \
  -n chutes

六、🔐 关键密钥与配置

Validator 身份密钥

代码语言:bash
复制
microk8s kubectl create secret generic validator-credentials \
  --from-literal="ss58=[ValidatorHotkey]" \
  --from-literal="seed=[SecretSeedWithout0x]" \
  -n chutes

Docker 登录凭据

代码语言:bash
复制
microk8s kubectl create secret docker-registry regcred \
  --docker-server=docker.io \
  --docker-username=[User] \
  --docker-password=[Pass] \
  --docker-email=[Email] \
  -n chutes

本地 Registry 密钥

代码语言:bash
复制
microk8s kubectl create secret generic registry-secret \
  --from-literal="password=[RandomStrongPass]" \
  -n chutes

microk8s kubectl create secret generic docker-pull \
  --from-literal="username=[User]" \
  --from-literal="password=[SamePass]" \
  -n chutes

钱包加密密钥

代码语言:python
代码运行次数:0
运行
复制
import secrets
print(secrets.token_bytes(32).hex()) # 64字符
print(secrets.token_bytes(64).hex()) # 128字符

创建:

代码语言:bash
复制
microk8s kubectl create secret generic wallet-secret \
  --from-literal="wallet-key=[64hex]" \
  --from-literal="pg-key=[128hex]" \
  -n chutes

Redis 密钥

代码语言:bash
复制
python3 -c 'import uuid; print(uuid.uuid4())'
microk8s kubectl create secret generic redis-secret \
  --from-literal="password=[UUID]" \
  --from-literal="url=redis://:[UUID]@redis.chutes.svc.cluster.local:6379/0" \
  -n chutes

GraVal 数据库密码

代码语言:bash
复制
python3 -c 'import uuid; print(uuid.uuid4())'
microk8s kubectl create secret generic gravaldb-secret \
  --from-literal="password=[UUID]" \
  -n chutes

IP 校验盐值

代码语言:bash
复制
python3 -c 'import uuid; print(uuid.uuid4())'
microk8s kubectl create secret generic ip-check-salt \
  --from-literal="salt=[UUID]" \
  -n chutes

七、🔒 TLS 证书配置

购买 通配符证书(Wildcard TLS),例如:

代码语言:bash
复制
*.yourdomain.com

确保以下子域支持 HTTPS:

代码语言:bash
复制
api.yourdomain.com
registry.yourdomain.com
socket.yourdomain.com
events.yourdomain.com
graval.yourdomain.com

八、☸️ 使用 Helm 部署服务

进入 charts 目录,修改 values.yaml 中:

  • subtensor 地址(如需自建)
  • 副本数 / 域名设置

执行部署:

代码语言:bash
复制
helm template . > prod.yaml
microk8s kubectl apply -f prod.yaml -n chutes

查看部署状态:

代码语言:bash
复制
microk8s kubectl get po -n chutes -o wide

九、🌐 反向代理与负载均衡

配置 Nginx 或 Cloud Load Balancer,将以下端口对应映射:

子域名

目标端口

api.domain

32000

socket.domain

32001

graval.domain

32002

registry.domain

32003

events.domain

32004

确保所有端口与 Helm Chart 一致。


十、⛏️ 连接矿工

将以下信息发送给矿工社区(如 Discord Subnet Channel):

  • Validator Hotkey 地址
  • Registry 子域(如 registry.yourdomain.com
  • API 子域(如 api.yourdomain.com
  • Socket 子域(如 socket.yourdomain.com

矿工更新配置后,即可向你的 Validator 分配 GPU 算力资源。


✅ 总结

至此,你已完成:

  • 完整的 Chutes Validator 节点搭建;
  • Kubernetes 集群与安全配置;
  • 自定义域名、TLS 与对象存储绑定;
  • 准备好与矿工节点协作运行子网验证任务。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、🧩 项目概述
  • 二、💡 为什么部署 Validator?
    • ✅ 适合部署的情况:
    • ⚠️ 不建议部署的情况:
  • 三、🖥️ 节点硬件要求
  • 四、🪄 使用 Ansible 自动化安装
    • 1️⃣ 安装 Ansible
      • Mac
      • Ubuntu
      • CentOS/Fedora
    • 2️⃣ 安装所需集合
    • 克隆 Chutes api 矿工仓库
    • 3️⃣ 编辑节点清单并执行 Playbook
  • 五、☁️ 配置依赖服务
    • 1️⃣ S3 对象存储
    • 2️⃣ Postgres 数据库
  • 六、🔐 关键密钥与配置
    • Validator 身份密钥
    • Docker 登录凭据
    • 本地 Registry 密钥
    • 钱包加密密钥
    • Redis 密钥
    • GraVal 数据库密码
    • IP 校验盐值
  • 七、🔒 TLS 证书配置
  • 八、☸️ 使用 Helm 部署服务
  • 九、🌐 反向代理与负载均衡
  • 十、⛏️ 连接矿工
  • ✅ 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档