Skip to content

Commit a320a67

Browse files
add architecture and component.
Signed-off-by: 抒情熊 <2669184984@qq.com>
1 parent 7b7bcf1 commit a320a67

File tree

1 file changed

+2
-114
lines changed

1 file changed

+2
-114
lines changed

content/zh/docs/architecture.md

Lines changed: 2 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -273,117 +273,5 @@ Admission 支持多种资源的准入控制,包括 Jobs、PodGroups、Pods 和
273273
| `kube-api-qps` | 与 Kubernetes API 服务器通信时的 QPS 限制 | 50.0 | `--kube-api-qps=100` |
274274
| `kube-api-burst` | 与 Kubernetes API 服务器通信时的突发请求限制 | 100 | `--kube-api-burst=200` |
275275

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

0 commit comments

Comments
 (0)