1. 查看 vcjob
# 查看所有命名空间中的 vcjob
kubectl get vcjob –all-namespaces
# 查看特定命名空间中的 vcjob(默认是 default)
kubectl get vcjob -n <namespace>
# 查看 vcjob 详细信息(包括任务状态、Pod 信息等)
kubectl describe vcjob <job-name> -n <namespace>
# 以 YAML 格式输出 vcjob 定义
kubectl get vcjob <job-name> -n <namespace> -o yaml
# 以 JSON 格式输出
kubectl get vcjob <job-name> -n <namespace> -o json
提示:Volcano 支持短名称 vcjob、vjob 或全称 job.batch.volcano.sh。以下命令等效:
kubectl get vcjob
kubectl get vjob
kubectl get job.batch.volcano.sh
2. 创建 vcjob
# 从 YAML 文件创建 vcjob
kubectl apply -f your-vcjob.yaml
# 或使用 create(不推荐用于生产,apply 更安全)
kubectl create -f your-vcjob.yaml
3. 删除 vcjob
# 删除指定的 vcjob
kubectl delete vcjob <job-name> -n <namespace>
# 删除多个 vcjob
kubectl delete vcjob job1 job2 job3 -n <namespace>
# 删除所有 vcjob(谨慎使用)
kubectl delete vcjob –all -n <namespace>
删除 vcjob 会级联删除其创建的所有 Pod。
4. 更新 vcjob(有限支持)
⚠️ 注意:vcjob 创建后,大多数字段是不可变的(immutable),不能直接更新。例如不能修改 tasks 或 replicas。
一般的做法是:
kubectl delete vcjob <job-name>
kubectl apply -f updated-vcjob.yaml
5. 查看 vcjob 关联的 Pod
# 查看由 vcjob 创建的 Pod
kubectl get pods -l volcano.sh/job-name=<job-name> -n <namespace>
# 查看 Pod 日志
kubectl logs <pod-name> -n <namespace>
# 进入 Pod(如果容器支持)
kubectl exec -it <pod-name> -n <namespace> — sh
6. 暂停/恢复 vcjob(如果支持)
Volcano 目前不直接支持 kubectl scale 或 pause/resume 操作 vcjob。但可以通过以下方式间接控制:
- 暂停:删除 vcjob,或手动删除其 Pod。
- 恢复:重新创建 vcjob。
更高级的控制(如暂停、恢复、伸缩)可能需要 Volcano 提供的 CLI 工具或 API 调用。
7. 使用 Volcano CLI(可选,功能更丰富)
Volcano 社区提供了 vctl 命令行工具,支持更多高级操作:
# 安装 vctl(参考官方文档)
# 示例操作
vctl job list
vctl job show <job-name>
vctl job delete <job-name>
vctl job suspend <job-name>
vctl job resume <job-name>
vctl 提供了比 kubectl 更丰富的 Job 管理功能,特别是对队列、调度状态等的查看。
总结
可以完全通过 kubectl 命令行来操作 vcjob,常用命令包括:
- kubectl get vcjob
- kubectl describe vcjob
- kubectl apply -f xxx.yaml
- kubectl delete vcjob
虽然 vcjob 不支持动态更新,但 kubectl 足以满足创建、查看、删除等日常管理需求。
















暂无评论内容