更新时间:2025-08-15 GMT+08:00
伸缩负载
本节主要讲解工作负载弹性伸缩和手动伸缩的配置方式。请根据实际业务选择。
- 弹性伸缩:支持告警策略。配置完成后可基于资源变化自动触发实例的增减。
- 手动伸缩:配置完成后立即触发实例的增减。
约束与限制
- 当前仅支持无状态负载弹性伸缩。
- CCI 2.0当前仅支持在土耳其-伊斯坦布尔、非洲-约翰内斯堡、亚太-新加坡和中东-利雅得局点使用弹性伸缩。
弹性伸缩

- 当配置spec.metrics.resource.target.type为Utilization时,您需要在创建工作负载时指定资源的requests值。
- 当配置spec.metrics.resource.target.type为Utilization时,其数值的计算规则为:资源使用率 = 资源使用量 / 用户实际可使用的容器组规格。您可参考容器组规格的计算方法来确认您的容器组实际规格。
您可以根据业务需求自行定义伸缩策略,包括弹性指标、阈值以及步长等,以降低人为反复调整资源以应对业务变化和高峰压力的工作量,帮助您节约资源和人力成本。当前支持一种弹性伸缩策略:
告警策略:支持根据CPU/内存的使用率,进行工作负载的自动伸缩。工作负载创建完成后即可设置,在CPU/内存超过或少于一定值时,自动增减实例。
- 告警策略:支持根据CPU/内存的使用率,进行工作负载的自动伸缩。
- 登录云容器实例 CCI2.0控制台。
- 在左侧导航栏中选择“负载管理 > 无状态负载”,单击工作负载名称进入负载详情。
- 在“负载详情”中,单击“弹性伸缩”,单击“YAML创建”配置弹性伸缩策略。
弹性伸缩策略文件格式说明
- hpa.yaml资源描述
kind: HorizontalPodAutoscaler apiVersion: cci/v2 metadata: name: nginx # HPA的名称 namespace: test # HPA所在的命名空间 spec: scaleTargetRef: # 引用进行自动伸缩的目标资源 kind: Deployment # 目标资源类型,例Deployment name: nginx # 目标资源名称 apiVersion: cci/v2 # 目标资源版本 minReplicas: 1 # HPA伸缩的最小副本数 maxReplicas: 5 # HPA伸缩的最大副本数 metrics: - type: Resource # 使用资源指标 resource: name: memory # 资源名称,例如cpu或memory target: type: Utilization # 指标类型,可以是Utilization(百分比)或AverageValue(绝对值) averageUtilization: 50 # 资源使用率,例当CPU使用率达到50%时触发扩容 behavior: scaleUp: stabilizationWindowSeconds: 30 # 扩容后稳定时间,单位为秒 policies: - type: Pods #指定扩缩容的Pods数量 value: 1 periodSeconds: 30 # 每 30 秒检查一次 scaleDown: stabilizationWindowSeconds: 30 # 缩容后稳定时间,单位为秒 policies: - type: Percent #按照现有Pods的百分比来扩缩容 value: 50 periodSeconds: 30 # 每 30 秒检查一次
- hpa.json资源描述
{ "kind": "HorizontalPodAutoscaler", "apiVersion": "cci/v2", "metadata": { "name": "nginx", # HPA的名称 "namespace": "test" # HPA所在的命名空间 }, "spec": { "scaleTargetRef": { # 引用进行自动伸缩的目标资源 "kind": "Deployment", # 目标资源类型,例Deployment "name": "nginx", # 目标资源名称 "apiVersion": "cci/v2" # 目标资源版本 }, "minReplicas": 1, # HPA伸缩的最小副本数 "maxReplicas": 5, # HPA伸缩的最大副本数 "metrics": [ { "type": "Resource", # 使用资源指标 "resource": { "name": "memory", # 资源名称,例如cpu或memory "target": { "type": "Utilization", # 指标类型,可以是Utilization(百分比)或AverageValue(绝对值) "averageUtilization": 50 # 资源使用率,例当CPU使用率达到50%时触发扩容 } } } ], "behavior": { "scaleUp": { "stabilizationWindowSeconds": 30, "policies": [ { "type": "Pods", "value": 1, "periodSeconds": 30 } ] }, "scaleDown": { "stabilizationWindowSeconds": 30, "policies": [ { "type": "Percent", "value": 50, "periodSeconds": 30 } ] } } } }
- hpa.yaml资源描述
- 单击“确定”。
可看到弹性伸缩策略。图1 弹性伸缩策略
待到触发条件发生时,弹性伸缩策略会自动启动。
手动伸缩
- 登录云容器实例 CCI2.0控制台。
- 在左侧导航栏中选择“负载管理 > 无状态负载”,单击工作负载名称右侧“YAML编辑”。
- 修改YAML文档中spec.replicas数量,例如修改为“3”,单击“确定”后实例伸缩操作即可生效。
- 在“Pod列表”处,可查看到新的实例在创建中,待状态为运行中时,表示已成功完成实例伸缩操作。
图2 手动伸缩
父主题: 负载管理