ONES Helm 集群部署说明
本文将引导您在 Kubernetes 集群中使用 Helm 完成 ONES 集群部署。
本部署方式适用于
v7.25.0或更高版本的 ONES。
当前对外提供的 Helm 安装方式要求如下。
必要条件
- Kubernetes 版本为
v1.22或更高版本。 - ONES 采用集群多副本部署。
- MySQL 由客户外置提供。
功能特性
- 单 Namespace 部署:所有 ONES 资源统一部署在同一个 Namespace 中。默认 Namespace 为
ones,也支持自定义,详见使用其他 Namespace。 - Namespace Scope 权限:ONES 组件仅需 Namespace Scope 权限,不需要 Cluster Scope 权限。
- 资源与权限审批:Namespace、CRD、RBAC 和 PVC 由客户的 Kubernetes 集群管理员创建, 便于纳入客户内部的资源申请和权限审批流程。
- 数据库变更审批:数据库初始化 SQL 可在执行前由客户 DBA 审核,并纳入客户现有的 数据库变更审批流程。
- 声明式交付与 GitOps:安装、升级和配置变更均可通过代码及 YAML 声明纳入 GitOps 和
CI/CD 流程。非敏感配置通过
values.yaml管理;密码、Token 等敏感配置通过Secret/ones-secret-config独立管理。 - 节点调度范围:支持通过节点 Label 或节点名称,限定 ONES 工作负载可调度的节点范围; 默认不限制节点范围。
- ResourceQuota 支持:支持在启用了 Namespace ResourceQuota 的 Kubernetes 集群中部署。
默认资源与容量
Helm 集群部署开箱默认配置一般仅能满足 200 人以下的中小型团队约一年的使用需求。以下为 默认容量基础信息:
- 外置 MySQL:至少需要
4 vCPU、8 GiB内存和200 GB存储空间。 - ONES 工作负载:默认运行约
110个 Pod。由于容器数量较多,CPU Limit 总和约为160核、内存 Limit 总和约为170 GiB(不同版本略有差异)。 - PVC:默认申请约
22个,总容量约为1602 Gi(不同版本略有差异)。其中,容量 大于等于100 Gi的 PVC 共 9 个,合计约1400 Gi:- 附件存储:1 个 PVC,容量为
300 Gi。 - ClickHouse:2 个 PVC,每个容量为
100 Gi。 - TiKV:3 个 PVC,每个容量为
100 Gi。 - Kafka:3 个 PVC,每个容量为
200 Gi。
- 附件存储:1 个 PVC,容量为
补充说明
- CPU Limit 和内存 Limit 是各容器对应资源上限的累加值,实际运行时各容器通常不会同时
达到上限。200 人以下的中小型团队正常使用时,容器总体资源消耗通常约为
20核 CPU 和80 GiB内存。 - 仅用于短期、少量且数据量极少的测试时,可以在创建 PVC 前,将附件存储、ClickHouse、
TiKV 和 Kafka 的单个 PVC 容量调整为
20Gi。调整后,PVC 总容量约为382Gi,规划时 可按约400Gi评估。该配置不适用于生产环境。 - 外置 MySQL 可用内存较小时,需要由 DBA 根据实际内存调整 MySQL 内存相关参数,避免 MySQL 进程因内存使用超限触发 OOM。
- 如需使用 ResourceQuota 对 Namespace 进行资源限制,建议默认将
limits.cpu配置为200,limits.memory配置为200Gi。
如果需要支持更大的团队规模、数据量或并发量,可以在部署前联系 ONES 技术支持进行容量 评估,并调整 Pod 的 CPU、内存上限、PVC 容量及其他相关配置项;也可以先使用默认配置, 后续遇到资源瓶颈时再进行扩容。
操作步骤
- ONES 镜像导入私有仓。
- 配置集群私有化配置。
- 创建 Namespace。
- 创建 ONES CRD 和 RBAC。
- 创建 PVC。
- 配置并初始化外置数据库。
- 安装 ONES。
- 观察部署进度并验收。
- 网关对接。