使用自动扩缩容配置 Istio HA
通过自动扩缩容为 Istio 控制平面启用高可用性(HA),这样即使某个 istiod pod 发生故障,mesh 仍可继续运行。
NOTE
使用自动扩缩容时,你可以指定任意时刻允许运行的 Istio 控制平面 pod 的最小值和最大值。随后,Alauda Container Platform 会根据资源消耗情况(例如 CPU 或内存使用率)在这些边界之间调整实际副本数,从而使控制平面能够吸收 mesh 内工作负载规模和流量模式的变化。
先决条件
- 你已使用
cluster-admin角色的用户登录 Alauda Container Platform Web 控制台,或者你已作为集群管理员拥有一个活动的 ACP CLI (kubectl) 会话。 - 已安装 Alauda Service Mesh v2 Operator。
- 已部署
Istio资源。
通过 Web 控制台配置
操作步骤
-
在 Alauda Container Platform Web 控制台中,导航到 管理员。
-
选择 Marketplace > OperatorHub。
-
搜索
Alauda Service Mesh v2。 -
找到
Alauda Service Mesh v2并单击进行选择。 -
单击 所有实例 选项卡。
-
在 按实例类型筛选 下拉列表中,选择
Istio。 -
单击 Istio 安装项的名称,例如
default。 -
单击 YAML 选项卡。
-
更新
Istio自定义资源(CR),使其类似于以下示例:spec.values.pilot.autoscaleMin用于设置始终运行的 Istio 控制平面副本最小数量。要满足 HA 要求,该值必须至少为2。spec.values.pilot.autoscaleMax用于设置自动扩缩容器在负载增加时可扩展到的 Istio 控制平面副本最大数量。spec.values.pilot.cpu.targetAverageUtilization用于将目标平均 CPU 使用率设置为百分比。当观测到的 CPU 使用率高于该目标时,Horizontal Pod Autoscaler (HPA) 会添加副本。spec.values.pilot.memory.targetAverageUtilization用于将目标平均内存使用率设置为百分比。当观测到的内存使用率高于该目标时,HPA 会添加副本。
通过 CLI 配置
操作步骤
-
获取
Istio资源的名称:示例输出
Istio资源名为default。 -
patch
Istio自定义资源(CR),为控制平面启用自动扩缩容:有关这些设置的字段说明,请参见通过 Web 控制台配置。
验证
检查 Istio 控制平面 pod 的状态:
示例输出
有两个 istiod pod 正在运行。对于 HA Istio 控制平面而言,两个 pod 是所需的最小数量,这表明基本的 HA 配置已到位。