@@ -275,3 +275,117 @@ Admission 支持多种资源的准入控制,包括 Jobs、PodGroups、Pods 和
275275
276276- Vcctl
277277Volcano vcctl是Volcano的命令行客户端工具。
278+ ##### TLS 证书参数
279+
280+ | 参数名 | 描述 | 默认值 | 示例 |
281+ | ---------------------- | ------------------------------------------- | ------ | --------------------------------------------- |
282+ | ` tls-cert-file ` | HTTPS 服务的 x509 证书文件路径 | 空 | ` --tls-cert-file=/etc/volcano/tls.crt ` |
283+ | ` tls-private-key-file ` | 与 ` tls-cert-file ` 匹配的 x509 私钥文件路径 | 空 | ` --tls-private-key-file=/etc/volcano/tls.key ` |
284+ | ` ca-cert-file ` | HTTPS 服务的 CA 证书文件路径 | 空 | ` --ca-cert-file=/etc/volcano/ca.crt ` |
285+
286+ ##### 服务配置参数
287+
288+ | 参数名 | 描述 | 默认值 | 示例 |
289+ | ---------------- | ------------------------------------- | ------ | -------------------------- |
290+ | ` listen-address ` | Admission Controller 服务器监听的地址 | 空 | ` --listen-address=0.0.0.0 ` |
291+ | ` port ` | Admission Controller 服务器使用的端口 | 8443 | ` --port=8443 ` |
292+ | ` version ` | 显示版本信息并退出 | false | ` --version ` |
293+
294+ ##### Webhook 配置参数
295+
296+ | 参数名 | 描述 | 默认值 | 示例 |
297+ | ---------------------- | ---------------------- | ------ | ------------------------------------------------------------ |
298+ | ` webhook-namespace ` | Webhook 所在的命名空间 | 空 | ` --webhook-namespace=volcano-system ` |
299+ | ` webhook-service-name ` | Webhook 服务的名称 | 空 | ` --webhook-service-name=volcano-admission ` |
300+ | ` webhook-url ` | Webhook 的 URL | 空 | ` --webhook-url=https://volcano-admission.volcano-system:8443 ` |
301+ | ` admission-conf ` | Webhook 的配置文件路径 | 空 | ` --admission-conf=/etc/volcano/admission.conf ` |
302+
303+ ##### 准入控制参数
304+
305+ | 参数名 | 描述 | 默认值 | 示例 |
306+ | ------------------- | ------------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------- |
307+ | ` enabled-admission ` | 启用的准入 Webhook 路径,多个路径用逗号分隔 | "/jobs/mutate,/jobs/validate,/podgroups/mutate,/pods/validate,/pods/mutate,/queues/mutate,/queues/validate" | ` --enabled-admission=/jobs/mutate,/pods/validate ` |
308+ | ` scheduler-name ` | Volcano 将处理 ` .spec.SchedulerName ` 与此参数匹配的 Pod | [ "volcano"] | ` --scheduler-name=volcano,custom-scheduler ` |
309+
310+ ##### 健康检查参数
311+
312+ | 参数名 | 描述 | 默认值 | 示例 |
313+ | ----------------- | ------------------------------ | -------- | -------------------------- |
314+ | ` enable-healthz ` | 是否启用健康检查 | false | ` --enable-healthz=true ` |
315+ | ` healthz-address ` | 健康检查服务器监听的地址和端口 | ":11251" | ` --healthz-address=:11252 ` |
316+
317+ ### Vcctl
318+
319+ #### 介绍
320+
321+ ` vcctl ` 是 Volcano 提供的命令行工具,用于管理和操作 Volcano 集群中的资源。它提供了一组直观的命令,使用户能够轻松地查询、创建、修改和删除 Volcano 资源,如作业(Job)、队列(Queue)和 PodGroup 等。
322+
323+ 该工具支持多种操作,包括列出、创建、删除和管理 Volcano 作业,控制作业的生命周期(挂起、恢复、运行),查询和管理队列资源,查看 PodGroup 状态和详情,以及与 Volcano 调度器交互。通过命令行界面,用户可以快速执行常见的管理任务,而无需直接操作 Kubernetes API 或 YAML 文件。这使得 Volcano 资源管理变得更加简单和高效,特别适合于批处理作业和高性能计算场景。
324+
325+ ` vcctl ` 工具采用了类似于 ` kubectl ` 的命令结构,使 Kubernetes 用户能够快速上手。它支持详细的帮助信息,用户可以通过 ` vcctl -h ` 或 ` vcctl [command] -h ` 获取各命令的详细用法和选项说明。作为 Volcano 生态系统的重要组成部分,` vcctl ` 为用户提供了一个便捷的接口,简化了复杂批处理工作负载的管理和操作流程。
326+
327+ #### 参数
328+
329+ vcctl不需要其他额外参数,直接启动即可。
330+
331+ ### Agent
332+
333+ #### 介绍
334+
335+ Agent 是运行在 Kubernetes 节点上的组件,主要负责资源监控和过度订阅管理。它通过识别节点上的闲置资源并允许合理超卖,显著提高集群资源利用率。
336+
337+ Agent 持续监控节点资源使用情况,为 Volcano 调度系统提供准确的资源信息,支持更智能的调度决策。在资源紧张时,它能够执行资源回收操作,确保关键工作负载的性能不受影响。
338+
339+ 通过与 Kubernetes CGroup 系统的深度集成,Agent 实现了精细化的资源控制,是 Volcano 高效批处理调度的重要支撑组件,特别适合高性能计算和机器学习等场景。
340+
341+ #### 参数
342+
343+ ##### Kubernetes 参数
344+
345+ | 参数名 | 类型 | 默认值 | 描述 |
346+ | ---------------------- | ------ | ----------------------------- | ------------------------------------------------------------ |
347+ | ` --kube-cgroup-root ` | string | ` "" ` | Kubernetes 的 cgroup 根路径。如果启用了 CgroupsPerQOS,这是 QOS cgroup 层次结构的根 |
348+ | ` --kube-node-name ` | string | 环境变量 ` KUBE_NODE_NAME ` | Agent 运行所在的节点名称 |
349+ | ` --kube-pod-name ` | string | 环境变量 ` KUBE_POD_NAME ` | Agent 所在 Pod 的名称 |
350+ | ` --kube-pod-namespace ` | string | 环境变量 ` KUBE_POD_NAMESPACE ` | Agent 所在 Pod 的命名空间 |
351+
352+ ##### 健康检查参数
353+
354+ | 参数名 | 类型 | 默认值 | 描述 |
355+ | ------------------- | ------ | ------ | ------------------------ |
356+ | ` --healthz-address ` | string | ` "" ` | 健康检查服务器监听的地址 |
357+ | ` --healthz-port ` | int | ` 3300 ` | 健康检查服务器监听的端口 |
358+
359+ ##### 资源过度订阅参数
360+
361+ | 参数名 | 类型 | 默认值 | 描述 |
362+ | --------------------------- | ------ | ---------- | ------------------------------------------------------------ |
363+ | ` --oversubscription-policy ` | string | ` "extend" ` | 过度订阅策略,决定过度订阅资源的报告和使用方式。默认为 ` extend ` ,表示报告为扩展资源 |
364+ | ` --oversubscription-ratio ` | int | ` 60 ` | 过度订阅比率,决定有多少闲置资源可以被超卖,单位为百分比 |
365+ | ` --include-system-usage ` | bool | ` false ` | 是否在计算过度订阅资源和执行驱逐时考虑系统资源使用情况 |
366+
367+ ##### 功能特性参数
368+
369+ | 参数名 | 类型 | 默认值 | 描述 |
370+ | ---------------------- | -------- | ------- | ------------------------------------------------------------ |
371+ | ` --supported-features ` | [ ] string | ` ["*"] ` | 支持的特性列表。` * ` 表示支持所有默认启用的特性,` foo ` 表示支持名为 ` foo ` 的特性,` -foo ` 表示不支持名为 ` foo ` 的特性 |
372+
373+ ### Network-qos
374+
375+ #### 介绍
376+
377+ Network插件是一个专为 Kubernetes 集群设计的网络带宽管理解决方案,旨在智能调节不同类型工作负载之间的网络资源分配。该插件通过 CNI 机制与现有网络插件链式组合,实现对容器网络流量的精细控制。
378+
379+ 它的核心功能是区分在线和离线工作负载,并根据在线服务的实时带宽需求动态调整离线作业的带宽上限。当在线服务的带宽使用超过预设水位线时,系统会自动降低离线作业的可用带宽,确保关键业务服务质量;当在线服务带宽需求较低时,系统则允许离线作业使用更多带宽资源,提高集群整体资源利用率。
380+
381+ 该插件基于 Linux TC(Traffic Control)和 eBPF 技术实现,提供高效、低开销的网络流量管理能力,是混合部署环境中保障服务质量的重要工具。
382+
383+ #### 参数
384+
385+ | 参数名称 | 说明 | 默认值 | 类型 |
386+ | -------------------------- | ------------------------------------------------------------ | ------ | ------ |
387+ | ` CheckoutInterval ` | 检查和更新离线作业带宽限制的时间间隔 | 无 | string |
388+ | ` OnlineBandwidthWatermark ` | 在线作业的带宽阈值,是所有在线 Pod 带宽使用的总和上限 | 无 | string |
389+ | ` OfflineLowBandwidth ` | 当在线作业带宽使用超过水位线时,离线作业可使用的最大网络带宽 | 无 | string |
390+ | ` OfflineHighBandwidth ` | 当在线作业带宽使用未达到水位线时,离线作业可使用的最大网络带宽 | 无 | string |
391+ | ` EnableNetworkQoS ` | 是否启用网络 QoS 功能 | false | bool |
0 commit comments