yfctl命令行工具
使用之前需要配置环境变量和命令行自动补全
概述
yfctl 是炎扉算力调度平台命令行工具,用于与炎扉算力调度平台平台进行交互,支持身份认证、工作空间管理、分布式训练作业等功能。
使用前配置
Bash配置
环境变量
-
下载
yfctl_linux.tar.gz并解压到任何位置wget --no-check-certificate https://product-deploy.titanai.cloud/admin/deploy/cluster/command/linux/<客户ID> -O yfctl_linux.tar.gz# 解压后的目录结构
├── bin/
│ └── yfctl # 执行文件
└── linux_install.sh # 环境变量设置 -
执行linux_install.sh
bash linux_install.shroot@gpu-3090-vm08:~/test# bash linux_install.sh
安装成功! yfctl 已全局可用
帮助信息: 炎扉算力调度平台命令行工具,用于与炎扉算力调度平台平台进行交互
支持身份认证、工作空间管理、分布式训练作业等功能
完整文档请查看:https://cluster.titanai.cc/documents/help/cluster/yfctl
用法:
yfctl [flags] [命令]
选项:
-h, --help help for yfctl
可用命令:
image 镜像管理
job 管理作业
login 登录炎扉算力调度平台
logout 登出炎扉算力调度平台
project 查看项目信息
source 查看可用资源
workspace 管理工作空间
使用"yfctl [命令] --help"查看命令详情。
使用方法: yfctl [命令选项]
命令行自动补全
-
安装bash-completion
apt-get install -y bash-completion -
生成补全脚本
yfctl completion bash > yfctl_bash_completion.sh -
安装到系统目录
mv yfctl_bash_completion.sh /etc/bash_completion.d/yfctl -
在 ~/.bashrc 文件末尾添加
vim ~/.bashrc# 加载自定义补全脚本
if [ -f /etc/bash_completion.d/yfctl ]; then
source /etc/bash_completion.d/yfctl
fi -
刷新
source ~/.bashrc -
验证补全是否永久生效(输入 "yfctl " 后按 Tab 键)
yfctl <Tab>
PowerShell配置
环境变量
-
下载
yfctl.zip并解压到任何位置https://product-deploy.titanai.cloud/admin/deploy/cluster/command/windows/<客户ID># 解压后的目录结构
yfctl/
├── bin/
│ └── yfctl.exe # 执行文件
└── install.bat # 环境变量设置 -
双击执行install.bat,随后任意位置打开PowerShell验证
PS E:\> yfctl project list
│─────────────────────│───────────│
│ ID │ PROJECT │
│─────────────────────│───────────│
│ 1933029687854202882 │ xxxxx项目 │
│─────────────────────│───────────│
PS E:\>
命令行自动补全
-
检查配置文件
echo $PROFILE
# 输出示例:C:\Users\<用户名>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 -
如不存在,创建文件
if (-not (Test-Path $PROFILE)) {
New-Item -ItemType File -Path $PROFILE -Force
Write-Host "已创建配置文件:$PROFILE"
} else {
Write-Host "配置文件已存在:$PROFILE"
}
# 输出示例:配置文件已存在:
C:\Users\<用户名>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 -
生成补全脚本并保存到用户目录(如:C:\Users<用户名>.yfctl-completion.ps1)
yfctl completion powershell | Out-File -FilePath "$HOME\.yfctl-completion.ps1" -Encoding utf8 -
将加载补全脚本的命令追加到配置文件
". `"$HOME\.yfctl-completion.ps1`"" | Out-File -FilePath $PROFILE -Append -Encoding utf8 -
查看当前执行策略
Get-ExecutionPolicy -Scope CurrentUser
# 输出示例:Restricted 或 Undefined,则需要修改(否则配置文件无法运行) -
调整执行策略(安全范围)
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -Force -
验证补全是否永久生效(输入 "yfctl " 后按 Tab 键)
yfctl <Tab>
Zsh配置
环境变量
-
下载
yfctl_mac.tar.gz并解压到任何位置https://product-deploy.titanai.cloud/admin/deploy/cluster/command/macos/<客户ID># 解压后的目录结构
yfctl_mac/
├── bin/
│ └── yfctl # 执行文件
└── mac_install.sh # 环境变量设置 -
执行mac_install.sh
sudo ./mac_install.shapple@appledeMBP sudo ./mac_install.sh
安装成功! yfctl 已全局可用
帮助信息: 炎扉算力调度平台命令行工具,用于与炎扉算力调度平台平台进行交互
支持身份认证、工作空间管理、分布式训练作业等功能
完整文档请查看:https://cluster.titanai.cc/documents/help/cluster/yfctl
用法:
yfctl [flags] [命令]
选项:
-h, --help help for yfctl
可用命令:
image 镜像管理
job 管理作业
login 登录炎扉算力调度平台
logout 登出炎扉算力调度平台
project 查看项目信息
source 查看可用资源
workspace 管理工作空间
使用"yfctl [命令] --help"查看命令详情。
使用方法: yfctl [命令选项]
命令行自动补全
目录 ~/.zshrc.d 已存在(如果不存在,需要先创建:mkdir -p ~/.zshrc.d)
你的 ~/.zshrc 中已经配置了加载 ~/.zshrc.d 目录下的脚本(通常通过类似 for f in ~/.zshrc.d/*; do source $f; done 的语句)
如果 ~/.zshrc 没有这个配置,直接 source ~/.zshrc 不会加载 ~/.zshrc.d/yfctl 脚本,此时需要手动执行 source ~/.zshrc.d/yfctl 才能生效,或在 .zshrc 中添加加载逻辑
-
执行命令
yfctl completion zsh > ~/.zshrc.d/yfctl
source ~/.zshrc -
验证补全是否永久生效(输入 "yfctl " 后按 Tab 键)
yfctl <Tab>
核心命令说明
身份认证
yfctl login
- 功能:登录炎扉算力调度平台平台
- 用法:
yfctl login [主机] [用户名] - 示例:交互式输入密码
yfctl login https://clusterdev.titanai.cloud user # 公网访问
yfctl login http://192.168.100.100:18003 user # 内网访问
yfctl logot
- 功能:登出炎扉算力调度平台平台,清除本地认证信息
- 用法:
yfctl logout - 示例:
yfctl logout
节点信息
yfctl node list
- 功能:列出节点资源
- 用法:
yfctl node list [used|available] - 选项:
-a, --all:显示所有工作空间(无数量限制)-n, --num int:显示前 N 条结果(默认 10)
- 示例:
root@499fcb8246c1:~# yfctl node list available
│─────────────────│─────────────────│─────────────────────────────────│────────────────────────────────────────────────────────────│────────│───────────│
│ NAME │ IP │ GPU │ CPU │ MEMORY │ DISK │
│─────────────────│─────────────────│─────────────────────────────────│────────────────────────────────────────────────────────────│────────│───────────│
│ gpu-4070ti-vm04 │ 192.168.100.173 │ NVIDIA GeForce RTX 4070 Ti * 2 │ Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz * 48 core * 1 │ 125GiB │ 490.05GiB │
│─────────────────│─────────────────│─────────────────────────────────│────────────────────────────────────────────────────────────│────────│───────────│
root@499fcb8246c1:~# yfctl node list used --num 1
│───────────────│───────│─────────────────│──────────────────────────────│────────────────────────────────────────────────────────────│────────│───────────│
│ NAME │ MODEL │ IP │ GPU │ CPU │ MEMORY │ DISK │
│───────────────│───────│─────────────────│──────────────────────────────│────────────────────────────────────────────────────────────│────────│───────────│
│ gpu-3090-vm08 │ job │ 192.168.100.119 │ NVIDIA GeForce RTX 3090 * 2 │ Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz * 48 core * 1 │ 125GiB │ 490.05GiB │
│───────────────│───────│─────────────────│──────────────────────────────│────────────────────────────────────────────────────────────│────────│───────────│
项目信息
yfctl project list
- 功能:列出当前用户有权限的项目
- 用法:
yfctl project list - 示例:
root@gpu-3090-vm08:~# yfctl project list
│─────────────────────│───────────│
│ ID │ PROJECT │
│─────────────────────│───────────│
│ 1933029687854202882 │ xxxxx项目 │
│─────────────────────│───────────│
资源信息
yfctl source list
- 功能:查看集群可用资源(GPU/CPU 等)
- 用法:
yfctl source list --type gpu|vgpu|cpu - 选项:
-t, --type string:按资源类型过滤(gpu/vgpu/cpu) - 示例:
root@gpu-3090-vm08:~# yfctl source list --type gpu
│────────────────────────────│────────│
│ NAME │ UNUSED │
│────────────────────────────│────────│
│ NVIDIA GeForce RTX 4070 Ti │ 0 │
│────────────────────────────│────────│
yfctl source full
- 功能:列出所有整机可用资源
- 用法:
yfctl source full - 示例:
root@499fcb8246c1:~# yfctl source full
│─────────────────────────────────────────────────│─────────────│
│ NAME │ UNUSED NODE │
│─────────────────────────────────────────────────│─────────────│
│ NVIDIA GeForce RTX 3090(24GB) 2 cards 1 node │ 1 │
│ NVIDIA GeForce RTX 4070 Ti(12GB) 2 cards 1 node │ 1 │
│─────────────────────────────────────────────────│─────────────│
镜像信息
yfctl image list
- 功能:查看集群可用模板镜像
- 用法:
yfctl image list model|mine|share - 示例:
root@gpu-3090-vm08:~# yfctl image list mine
│─────────────────────────────────────────────────────────────────────────────────────│─────────│
│ NAME │ SIZE │
│─────────────────────────────────────────────────────────────────────────────────────│─────────│
│ 192.168.100.200/chenchao/mariadb:10.5 │ 0.12GiB │
│ 192.168.100.200/chenchao/cuda:11.8.0-cudnn8-devel-torch2.0.1-mpi-py3.10-ubuntu20.04 │ 8.29GiB │
│─────────────────────────────────────────────────────────────────────────────────────│─────────│
工作空间管理
yfctl workspace list
- 功能:列出所有工作空间
- 用法:
yfctl workspace list [flags] - 选项:
-a, --all:显示所有工作空间(无数量限制)-n, --num int:显示前 N 条结果(默认 10)-N, --name string:按名称过滤-t, --type string:按资源类型过滤(gpu/vgpu/cpu)
- 示例:
root@gpu-3090-vm08:~# yfctl workspace list --type gpu --num 2
│─────────────────────│─────────│──────│─────────│─────────────────────────────────────────────────────────────────────────│─────────────────│───────────│─────────────────────│
│ ID │ NAME │ TYPE │ STATE │ IMAGE │ NODE │ PROJECT │ CREATE │
│─────────────────────│─────────│──────│─────────│─────────────────────────────────────────────────────────────────────────│─────────────────│───────────│─────────────────────│
│ 1945404905292271617 │ test113 │ GPU │ removed │ 192.168.100.200/cluster/cuda:11.8.0-cudnn8-devel-mpi-py3.10-ubuntu20.04 │ gpu-4070ti-vm04 │ xxxxx项目 │ 2025-07-16 16:47:27 │
│ 1945402050422476801 │ test112 │ GPU │ removed │ 192.168.100.200/cluster/cuda:11.8.0-cudnn8-devel-mpi-py3.10-ubuntu20.04 │ gpu-4070ti-vm04 │ xxxxx项目 │ 2025-07-16 16:36:07 │
│─────────────────────│─────────│──────│─────────│─────────────────────────────────────────────────────────────────────────│─────────────────│───────────│─────────────────────│
yfctl workspace detail
- 功能:查看指定工作空间信息
- 用法:
yfctl workspace detail [ID] - 示例:
root@499fcb8246c1:~# yfctl workspace detail 1946014681965498369
──────────────────────────────────────────────────────────────────────────────────────────────────
工作空间[5201314]信息
──────────────────────────────────────────────────────────────────────────────────────────────────
WORKSPACE ID: 0c8731f92da021f406e9970142ea81cd90d4bb1a0687738b0ec83dee4c131c52
IMAGE : 192.168.100.200/cluster/cuda:12.1.0-cudnn8-devel-torch2.4.1-mpi-py3.10-ubuntu20.04
NODE : cpu-vm03
PROJECT : xxxxx项目
CREATED : 2025-07-18 09:11:50
AGE : 6.97h
CMD : /bin/bash -c /run.sh
ARGS : -c /run.sh
PORT :
│─────────────────│──────────│──────────│──────────│────────────────│──────────│──────────│
│ IP │ EXTERNAL │ INTERNAL │ PROTOCOL │ INFO │ USERNAME │ PASSWORD │
│─────────────────│──────────│──────────│──────────│────────────────│──────────│──────────│
│ 192.168.100.112 │ 33005 │ 22 │ TCP │ SSH服务 │ root │ c0j2xls1 │
│ │ 33006 │ 5901 │ TCP │ VNC服务 │ root │ c0j2xls1 │
│ │ 33007 │ 8888 │ TCP │ JupyterLab服务 │ root │ c0j2xls1 │
│─────────────────│──────────│──────────│──────────│────────────────│──────────│──────────│
CPU :
│──────────────────────────────────────────────│──────────────│───────│
│ CPU │ MEMORY │ RATE │
│──────────────────────────────────────────────│──────────────│───────│
│ Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz │ 2MiB / 31MiB │ 0.45% │
│──────────────────────────────────────────────│──────────────│───────│
VOLUME :
│────────────│────────────────────────────────────────────────────────────────│──────────────────────│
│ TYPE │ EXTERNAL │ INTERNAL │
│────────────│────────────────────────────────────────────────────────────────│──────────────────────│
│ 用户数据卷 │ /mnt/volume/d9b6da00e9a44e0da235fa92614ab760/userdata/chenchao │ /mnt/volume/chenchao │
│ 公共数据卷 │ /mnt/volume/d9b6da00e9a44e0da235fa92614ab760/userdata/public │ /mnt/volume/public │
│────────────│────────────────────────────────────────────────────────────────│──────────────────────│
ENV :
│─────────────│──────────│
│ NAME │ VALUE │
│─────────────│──────────│
│ USER_PASSWD │ c0j2xls1 │
│─────────────│──────────│
yfctl workspace init
- 功能:初始化工作空间(创建默认配置)
- 用法:
yfctl workspace init [工作空间名称] [flags] - 选项:
-t, --type string:按资源类型过滤(gpu/vgpu/cpu) - 示例:交互式输入项目,资源等信息后生成yaml
root@gpu-3090-vm08:~# yfctl workspace init test0717 --type gpu
>>> yaml文件已生成: test0717_gpu.yaml
yfctl workspace create
- 功能:创建工作空间
- 用法:
yfctl workspace create [flags] - 选项:
-f, --file string:通过yaml文件创建工作空间 - 示例:
root@gpu-3090-vm08:~# yfctl workspace create -f test0717_cpu.yaml
>>> 创建工作空间[test0717]成功
yfctl workspace pause / resume / remove
- 功能:暂停工作空间 / 恢复工作空间 / 删除工作空间
- 用法:
yfctl workspace pause [ID] ... - 示例:
root@gpu-3090-vm08:~# yfctl workspace pause 1945803638882406402
>>> 暂停工作空间[[1945803638882406402]]成功
root@gpu-3090-vm08:~# yfctl workspace resume 1945803638882406402
>>> 恢复工作空间[[1945803638882406402]]成功
root@gpu-3090-vm08:~# yfctl workspace remove 1945803638882406402
>>> 释放工作空间[[1945803638882406402]]成功
作业管理
yfctl job list
- 功能:列出所有作业
- 用法:
yfctl job list kubernetes|determined_cluster|determined_single|queue|timed - 选项:
-a, --all:显示所有作业(无数量限制)-n, --num int:显示前 N 条结果(默认 10)-N, --name string:按名称过滤
- 示例:
root@499fcb8246c1:~# yfctl job list kubernetes --name c --num 1
│─────────────────────│───────│──────│──────────│───────────│─────│─────────│
│ ID │ NAME │ GPUS │ STATE │ PROJECT │ AGE │ CREATOR │
│─────────────────────│───────│──────│──────────│───────────│─────│─────────│
│ 1947594995102482433 │ caid1 │ 2 │ CANCELED │ xxxxx项目 │ 1m │ 陈超 │
│─────────────────────│───────│──────│──────────│───────────│─────│─────────│
yfctl job init
我们提供了示例代码工程 Kubernetes, Determined
- 功能:初始化作业(创建默认配置)
- 用法:
yfctl job init [名称] [类型] - 示例:交互式输入项目,资源等信息后生成yaml
root@gpu-3090-vm08:~# yfctl job init 0723 kubernetes
>>> yaml文件已生成: 0723_kubernetes.yaml
>>> 已开启samba服务,请使用samba服务将训练代码文件上传至用过户数据卷中任意位置
>>> Linux Host:smbclient //192.168.100.200/chenchao -U chenchao
>>> Windows Host:\\192.168.100.200\chenchao
>>> Mac Host://192.168.100.200/chenchao
>>> Username:chenchao
>>> Password:chenchao
yfctl job create
- 功能:创建作业
- 用法:
yfctl job create [类型] [flags] - 选项:
-f, --file string:通过yaml文件创建作业 - 示例:
root@499fcb8246c1:~# yfctl job create kubernetes -f 0723_kubernetes.yaml
>>> 创建作业[0723]成功
yfctl job pause / resume
- 功能:暂停作业 / 恢复作业
- 用法:
yfctl job pause [ID] - 示例:
root@gpu-3090-vm08:~# yfctl job pause 1945803638882406402
>>> 暂停作业[[1945803638882406402]]成功
root@gpu-3090-vm08:~# yfctl job resume 1945803638882406402
>>> 恢复作业[1948196243922894849]成功
yfctl job cancel
- 功能:取消作业
- 用法:
yfctl job cancel kubernetes|determined [ID]... - 示例:
root@499fcb8246c1:~# yfctl job cancel determined 1948196243922894849
>>> 取消作业[[1948196243922894849]]成功