Kodo-X 拆分¶
注意
请仔细阅读本文,确保在实施过程中做好备份措施和制定回滚方案,以确保系统的安全与稳定。
简介¶
在处理大量写入请求时,kodo-x 的资源消耗可能集中在特定类型的处理任务上,尤其是 metric 数据处理,导致其他数据无法及时消费,从而引发数据堆积问题。
解决思路:
- 创建一个独立的 kodo-x 实例,专门用于处理 metric 数据,以减少对现有实例的资源占用。
- 修改现有的 kodo-x 实例,不再处理 metric 数据,专注于其他任务。
方案架构图¶
拆分前:
拆分后:
前提条件¶
- 拥有观测云集群操作权限
- 提前规划 kodo-x 和 拆分的 kodo-x-metric 调度资源
实施方案¶
1、服务备份¶
2、创建 kodo-x-metric 服务¶
2.1 创建 kodo-x-metric configmap¶
修改以下信息:
- 修改
name
为 kodo-x-metric - 删除
resourceVersion
和uid
字段
2.2 创建 kodo-x-metric deploy¶
修改以下信息:
- 修改 「metadata」-「name」 为 kodo-x-metric
- 删除 「metadata」 下的
resourceVersion
和uid
字段 - 修改 「volumeMounts」 和 「volumes」下的
name
改为 kodo-x-metric
...
metadata:
name: kodo-x-metric ##### 改为 kodo-x-metric
namespace: forethought-kodo
resourceVersion: "129925433" ##### 删除
uid: e4f0c541-4d91-47d4-82c8-91eec2757cb2 ##### 删除
...
volumeMounts:
- mountPath: /kodo/config/config.yaml
name: kodo-x-metric ##### 改为 kodo-x-metric
subPath: config.yaml
volumes:
- configMap:
defaultMode: 420
name: kodo-x-metric ##### 改为 kodo-x-metric
optional: false
name: kodo-x-metric ##### 改为 kodo-x-metric
3、创建 kodo-x-metric 服务¶
3.1 修改 kodo-x-metric 参数¶
配置文件:kodo-x-metric.yaml(其他配置与现有 kodo-x.yaml 相同)
global:
metric_workers: 32 # 增加 metric 数据的处理能力
object_workers: 8
keyevent_workers: 8
workers: 0 # 关闭默认 worker
log_workers: 0 # 关闭日志处理
backup_log_workers: 0 # 关闭备份日志处理
可以参考应用服务配置项手册了解相关信息。
重启服务:
3.2 修改 kodo-x 参数¶
现有的 kodo-x 实例将只处理其他非 metric 类型的任务,进一步优化资源分配。
配置文件:kodo-x.yaml
global:
metric_workers: -1 # 禁用 metric 数据处理
object_workers: -1 # 禁用对象处理
keyevent_workers: -1 # 禁用关键事件处理
重启服务:
4、验证¶
执行以下命令查看配置是否生效: