> ## Documentation Index
> Fetch the complete documentation index at: https://docs.siflow.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 选择和安装集群组件

> 根据工作负载依赖和运维目标判断需要补充的集群能力，再安装或维护对应组件。

## 组件介绍

组件用于补充 CKS 集群的存储、网络、设备、调度、训练和运维能力。不要仅根据组件名称批量安装，应先确认业务缺少的能力：

* 工作负载需要网络、持久化存储、GPU、RDMA 或节点管理能力时，查看基础能力组件。
* 需要暴露服务、运行批量或分布式训练任务、编排工作流时，查看业务运行组件。
* 需要采集指标、日志和事件，或执行巡检、备份和多集群管理时，查看可观测和运维组件。

### 为工作负载准备基础能力

这组组件为集群提供容器网络、持久化存储、节点管理和设备资源。工作负载依赖其中某项能力时，应先确认对应组件已经安装。

#### 集群网络

集群网络组件用于为 Pod 提供网络通信和网络策略能力。

| 组件 | 作用 | 何时安装 |
| - | - | - |
| `cilium` | 提供 eBPF CNI 容器网络和网络策略能力。 | 需要使用 Cilium 网络能力或网络策略。 |
| `calico` | 提供 BGP/IPIP CNI 容器网络和网络策略能力。 | 需要使用 Calico 网络能力或网络策略。 |

#### 存储

存储组件用于为工作负载提供平台存储资源的挂载能力。

| 组件 | 作用 | 何时安装 |
| - | - | - |
| `scitix-csi-plugins` | 提供块存储或文件存储 CSI 驱动。 | 需要为工作负载挂载平台存储资源。 |

#### 节点管理

节点管理组件用于管理节点组和节点标签。

| 组件 | 作用 | 何时安装 |
| - | - | - |
| `navix-nodegroup-controller` | 提供节点组弹性控制能力。 | 需要按节点组管理或弹性调整节点资源。 |
| `cks-label-manager` | 管理节点标签。 | 需要批量或自动化维护节点标签。 |

#### 设备资源

设备资源组件用于将 GPU 或 RDMA 设备注册为 Kubernetes 可调度资源，使工作负载可以申请和使用对应设备。

| 组件 | 作用 | 何时安装 |
| - | - | - |
| `nvidia-device-plugin` | 上报和分配 NVIDIA GPU 设备资源。 | 需要在 Pod 中申请和使用 GPU。 |
| `rdma-device-plugin` | 上报和分配 RDMA 网卡共享设备资源。 | 需要在工作负载中使用 RDMA 网络能力。 |

### 支持业务运行方式

这组组件用于为服务提供流量入口，运行批量或分布式训练任务，以及编排和维护应用工作流。

#### 流量入口

流量入口组件用于通过 Gateway 或 Ingress 将集群中的服务对外暴露。

| 组件 | 作用 | 何时安装 |
| - | - | - |
| `envoyproxy-gateway` | 提供 Envoy 网关和南北向流量入口。 | 需要通过 Gateway API 管理入口流量。 |
| `nginx-ingress-controller` | 提供 NGINX Ingress 流量入口。 | 需要通过 Ingress 暴露 HTTP 或 HTTPS 服务。 |

#### 调度和训练

调度和训练组件用于支持批量调度、成组调度和分布式训练任务。

| 组件 | 作用 | 何时安装 |
| - | - | - |
| `volcano` | 提供批量和成组调度能力。 | 需要运行 AI 训练、批处理或多 Pod 协同任务。 |
| `training-operator` | 提供分布式训练 Operator。 | 需要运行 PyTorchJob 等分布式训练任务。 |

#### 工作流和应用运维

工作流和应用运维组件用于编排多步骤任务，或增强工作负载运维能力。

| 组件 | 作用 | 何时安装 |
| - | - | - |
| `argo-workflow` | 提供工作流编排引擎。 | 需要编排多步骤训练、数据处理或自动化任务。 |
| `openkruise` | 提供增强工作负载管理能力。 | 需要原地升级等增强型应用运维能力。 |

### 观察和维护集群

这组组件用于采集指标、日志和事件，发现集群异常，执行检查或备份，以及管理多个集群。

#### 监控指标

监控指标组件用于采集 Kubernetes 对象、节点、存储、GPU、CPU、网络硬件、控制面和高可用组件指标。

| 组件 | 作用 | 何时安装 |
| - | - | - |
| `metrics-server` | 采集 Pod 和节点资源指标。 | 需要查看基础资源用量，或使用依赖资源指标的 HPA 能力。 |
| `kube-state-metrics` | 采集 Kubernetes 对象状态指标。 | 需要观察 Deployment、Pod、Node 等 Kubernetes 对象状态。 |
| `node-exporter` | 采集节点系统指标。 | 需要查看节点 CPU、内存、磁盘、网络等系统指标。 |
| `gpfs-exporter` | 采集 GPFS 存储指标。 | 需要查看 GPFS 文件系统容量、性能或运行状态指标。 |
| `dcgm-exporter` | 采集 GPU 指标。 | 需要观察 GPU 利用率、显存、温度等 GPU 运行状态。 |
| `pcm-exporter` | 采集 CPU PCM 性能指标。 | 需要分析 CPU 性能或内存带宽等底层性能数据。 |
| `ib-hca-exporter` | 采集 InfiniBand 网卡指标。 | 需要观察 InfiniBand 网络状态和性能。 |
| `ipmi-exporter` | 采集带外 IPMI 硬件指标。 | 需要观察服务器硬件健康状态。 |
| `haproxy-exporter` | 采集控制面 HAProxy 指标。 | 需要观察控制面代理服务状态。 |
| `keepalived-exporter` | 采集 VIP keepalived 状态指标。 | 需要观察控制面或入口 VIP 高可用状态。 |
| `vmo` | 提供 victoria-metrics-operator。 | 需要通过 VictoriaMetrics 体系扩展监控能力。 |
| `prometheus-monitoring-cks` | 提供 Kubernetes 监控相关 Prometheus 能力。 | 需要为 CKS 集群部署 Prometheus 监控。 |

#### 日志和事件

日志和事件组件用于采集集群日志、Kubernetes 事件或遥测数据。

| 组件 | 作用 | 何时安装 |
| - | - | - |
| `logging-stack` | 提供日志采集管道。 | 需要采集和查询集群或工作负载日志。 |
| `event-exporter` | 采集并上报 Kubernetes 事件。 | 需要跟踪调度、启动、失败、驱逐等 Kubernetes 事件。 |
| `otel-collector` | 采集和转发遥测数据。 | 需要接入 OpenTelemetry 相关观测链路。 |

#### 集群运维

集群运维组件用于发现节点或集群异常，支持巡检、自愈和备份。

| 组件 | 作用 | 何时安装 |
| - | - | - |
| `node-problem-detector` | 检测节点内核或 GPU 等故障。 | 需要发现节点级故障并辅助定位问题。 |
| `aegis-cks` | 提供故障自愈巡检 Agent。 | 需要对 CKS 集群执行巡检和自愈相关运维。 |
| `aegis` | 提供智能运维框架。 | 需要使用平台提供的智能运维能力。 |
| `cks-inspect` | 提供集群额外配置的自动化检查。 | 需要检查集群配置或辅助验收集群状态。 |
| `etcd-backup` | 将 etcd 定时备份到对象存储。 | 需要为 etcd 数据配置周期性备份。 |

#### 多集群管理

多集群管理组件用于统一管理多个 CKS 集群。

| 组件 | 作用 | 何时安装 |
| - | - | - |
| `karmada` | 提供多集群联邦控制面。 | 需要统一管理多个 CKS 集群。 |

## 安装组件

确定工作负载或运维目标所需的组件后，再执行安装。重复安装功能相近的组件可能增加资源消耗和维护复杂度。

1. 登录 [GPU 云服务控制台](https://console.siflow.cn/gpu-cloud/home)，进入 **集群** 页面。

2. 单击目标集群名称，进入集群工作台。

3. 在左侧导航中进入 **Component** 页面。

4. 单击 **安装**。

5. 在 **Install component** 对话框中选择组件。

   组件列表较长时，可以在搜索框中输入组件名称进行筛选。

6. 确认组件名称和用途符合业务需要后提交安装。

<img src="https://mintcdn.com/siflow/Z3oydoQ8jnJ7q_Ig/gpu-cloud/media/cluster-component-install.png?fit=max&auto=format&n=Z3oydoQ8jnJ7q_Ig&q=85&s=ff7e1d537845cafb335ec7779ed66422" alt="安装集群组件" width="2434" height="972" data-path="gpu-cloud/media/cluster-component-install.png" />

7. 返回 **Component** 页面，确认组件状态正常后，再部署依赖该组件的工作负载。

   如果组件状态异常，请先确认组件依赖的集群资源、命名空间、存储或网络配置是否正常。仍无法确认原因时，请记录组件名称、版本、命名空间和错误信息，并联系技术支持。

## 更新或移除组件

<Warning>
  更新或删除组件可能影响依赖该组件的业务、监控、日志、存储、网络或运维流程。操作前，请确认组件用途、依赖关系和影响范围。
</Warning>

1. 在 **集群** 页面，单击目标集群名称。

2. 在左侧导航中进入 **Component** 页面。

3. 找到目标组件，确认该组件的用途、依赖它的工作负载或运维流程。

4. 按需执行以下操作：

   * 更新组件：单击 **更新**。
   * 删除组件：单击 **删除**，并按提示确认。

5. 操作完成后，返回 **Component** 页面确认组件状态。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.