最近更新时间:2024.04.26 15:29:00
首次发布时间:2024.01.19 14:39:14
HPA(Horizontal Pod Autoscaler,水平 Pod 弹性伸缩)在 Kubernetes 集群中用于 Pod 水平自动伸缩,它基于 CPU 和内存利用率、对无状态负载和有状态负载的 Pod 数量进行自动扩缩容。
随着多集群的使用场景越来越广,联邦能够帮助用户快速实现多集群资源的部署以及跨集群容灾,提升服务可靠性以及资源利用率。单集群场景下使用 HPA 自动更新工作负载资源的实践随之被拓展至多集群,但由于多集群资源被联邦统一管理,应用将被分发到多集群,业务高峰期应用如何跨多集群扩容,低峰期如何快速缩容,是需要解决的资源节省难题。
因此,针对多集群场景下的 HPA 做一定的设计与适配,帮助用户有效管理多集群场景下的应用自动扩缩容,能有效提升产品的使用体验。分布式云原生平台针对联邦资源提供多集群 HPA,可在联邦集群中创建 HPA 并实现多集群分发和跨集群弹性扩缩容能力。支持中心式 HPA 和 分布式 HPA 两种模式:
说明
可通过添加 Lable kubeadmiral.io/hpa-mode
的方式配置 HPA 模式,例如:kubeadmiral.io/hpa-mode: centralized
。centralized 表示中心式,distributed 表示分布式,若不添加此 Lable,默认为 distributed。
HPA 不适用于无法缩放的对象,例如:DaemonSets。
配置项 | 说明 |
---|---|
命名空间 | 选择 HPA 资源部署的命名空间,支持选择自定义创建的命名空间或 Kubernetes 自建的命名空间。 |
Yaml | 输入提前准备的 HorizontalPodAutoscaler Yaml 配置。 说明 可通过添加 Lable |
apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata: name: my-hpa namespace: default labels: kubeadmiral.io/hpa-mode: centralized # HPA 模式,centralized 表示中心式;distributed 表示分布式。若不配置此参数,默认为 distributed。 spec: maxReplicas: 10 minReplicas: 1 metrics: - resource: name: cpu target: averageUtilization: 80 type: Utilization type: Resource scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: deploy-demml
apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata: name: my-hpa namespace: default labels: kubeadmiral.io/hpa-mode: distributed # HPA 模式,centralized 表示中心式;distributed 表示分布式。若不配置此参数,默认行为为 distributed。 spec: maxReplicas: 10 minReplicas: 1 metrics: - resource: name: cpu target: averageUtilization: 80 type: Utilization type: Resource scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: deploy-demml
配置项 | 说明 |
---|---|
分发策略 | 部署配置的开关,可根据实际情况(是否已创建策略、是否需要立即分发资源)确定是否需要立即配置策略并分发资源。
|
部署策略关联方式 | 部署策略与部署资源的关联方式,可根据实际场景选择合适的关联方式。
说明 此配置仅用于控制部署策略的关联方式,差异化策略均需在部署资源配置的右侧列表中单独配置。 |
部署策略名称 | 部署策略关联方式选择所有资源关联一个策略时需要配置。选择所有部署资源关联的部署策略即可,若缺少可用部署策略,可单击 创建部署策略 跳转到部署策略创建页面。 |
冲突资源接管 | 默认不勾选,表示待分发资源与成员集群中已有资源名称冲突时的处理策略,勾选后将通过联邦资源统一管理已存在的资源。资源冲突场景具体说明及注意事项参见:资源冲突策略。
|
部署资源 | 展示当前 Yaml 中配置的所有部署资源,可按需更换 部署策略 和 差异化策略。 |
联邦资源的管理操作基本相同,但操作路径存在差异。HPA 资源的操作路径如下: