You need to enable JavaScript to run this app.
导航

组件扩容

最近更新时间2023.05.26 15:36:29

首次发布时间2023.02.28 17:57:43

随着业务的发展,您初次部署的组件分片数可能无法支撑越来越大的业务数据量。一般情况下表现为相关组件的集群资源饱和度或容器运行状态不正常,此时,您需要考虑进行扩容。本文为您介绍如何进行组件扩容。

说明

需要进行组件扩容时,建议您首先按照本章节的介绍,增加 VM Agent 采集器等组件的分片。如果您需要增加组件的副本数,请参见 部署 VM Agent

VM Agent 采集器扩容

注意

  • 扩容期间会滚动更新所有的 VM Agent 采集器。若更新时间过长,可能导致监控数据存在断点。
  • VM Agent 采集器和 kube-state-metrics 组件扩容时,为保证均衡负载,建议配置 kube-state-metrics 组件的分片数为 VM Agent 采集器分片数的整数倍,例如:kube-state-metrics 组件分片数 / VM Agent 采集器分片数 为 1:1 或 2:1 等。

您可以使用部署脚本,快速对 VM Agent 采集器进行扩容。操作步骤如下:

  1. 在本地环境中下载脚本,详情请参见 获取脚本
  2. 使用 kubectl 正确连接 Kubernetes 集群。
  3. 执行以下命令,对 VM Agent 采集器进行扩容。
./install.sh scale \
--namespace volcano-metrics \ # 采集器所在命名空间。
--workload vmagent \ # 需要扩容的组件名称,本例中为 VM Agent 采集器。
--shards 3 # 扩容后的分片数,请根据实际情况调整。

kube-state-metrics 组件扩容

注意

  • 扩容期间存量的 kube-state-metrics 副本,会在扩容副本 Ready 之前就进行重新分片。因此,若更新时间过长,可能导致监控数据存在断点。建议在数据低峰时进行操作。
  • VM Agent 采集器和 kube-state-metrics 组件扩容时,为保证均衡负载,建议配置 kube-state-metrics 组件的分片数为 VM Agent 采集器分片数的整数倍,例如:kube-state-metrics 组件分片数 / VM Agent 采集器分片数 为 1:1 或 2:1 等。

您可以使用部署脚本,快速对 kube-state-metrics 组件进行扩容。操作步骤如下:

  1. 在本地环境中下载脚本,详情请参见 获取脚本
  2. 使用 kubectl 正确连接 Kubernetes 集群。
  3. 执行以下命令,对 kube-state-metrics 组件进行扩容。
./install.sh scale \
--namespace volcano-metrics \ # 组件所在命名空间。
--workload kube-state-metrics \ # 需要扩容的组件名称,本例中为 kube-state-metrics 组件。
--shards 3 # 扩容后的分片数,请根据实际情况调整。

使用帮助

您可以通过安装脚本的 --help 参数,查看脚本中所有的预定义字段和含义。

./install.sh scale --help

安装脚本中不同字段的含义和示例如下。

./install.sh scale --help
scale set a new shards for a workload (vmagent or kube-state-metrics)

Usage: install.sh scale [flag...]

Examples:
  * scale shards of vmagent under the volcano-metrics namespace to 3
      ./install.sh scale --workload vmagent --shards 3
  * scale shards of kube-state-metrics under the monitoring namespace to 3
      ./install.sh scale --workload kube-state-metrics --shards 3 --namespace monitoring

Flag:
  {{flag}} {{current val if exist}}
  --workload vmagent
  --shards 3
  --namespace volcano-metrics
参数说明
--workload选择扩容的组件,包括:vmagent 和 kube-state-metrics。
--shards配置扩容后的分片数量。
--namespace选择组件所在的命名空间。