检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
工作负载弹性伸缩(HPA) HPA策略即Horizontal Pod Autoscaling,是Kubernetes中实现Pod水平自动伸缩的功能。该策略在Kubernetes社区HPA功能的基础上,增加了应用级别的冷却时间窗和扩缩容阈值等功能。 前提条件 使用HPA前需要在集群内安装能够提供Metrics
调度策略(亲和与反亲和) 创建工作负载时可以使用nodeSelector选择Pod要部署的节点,其实Kubernetes还支持更精细、更灵活的调度机制,那就是亲和(affinity)与反亲和(anti-affinity)调度。 Kubernetes支持节点和Pod两个层级的亲和与
需要设置自动扩缩的工作负载所在命名空间的名称。 作用对象 可选择作用于工作负载或指标伸缩策略。 工作负载:选择需要应用该策略的工作负载,也可新建工作负载,新建的具体操作请参见创建工作负载。 指标伸缩策略:选择已创建的指标伸缩策略,也可单击右侧新建,新建的具体操作请参见创建FederatedHPA策略。
两种负载伸缩策略所实现的,如图1所示。 创建FederatedHPA策略,支持基于系统指标与自定义指标对工作负载进行扩缩。指标到达所配置的期望值时,触发工作负载扩缩。 创建CronFederatedHPA策略,支持基于固定时间周期对工作负载进行扩缩。到达所配置的触发时间时,触发工作负载扩缩。
在一些复杂的业务场景下,可能有固定时间段高峰业务,又有日常突发高峰业务,若只使用标准的FederatedHPA功能,需要足够的时间来扩展工作负载,在预期的负载峰值可能会导致服务不可用。此种情况下,用户既期望能定时弹性伸缩应对固定时间段高峰业务,又期望能基于指标弹性伸缩应对日常突发高峰业务。
FederatedHPA策略的使用流程如图1所示,具体流程如下: 图1 FederatedHPA使用流程 负载伸缩能力基于部署在多集群上的工作负载,因此在创建负载伸缩策略前,您需要添加集群至容器舰队、为舰队开启集群联邦能力,并创建无状态工作负载。具体操作请参见注册集群、开启集群联邦和创建工作负载。 为集群
容。然而,若仅依靠配置稳定窗口时长,在窗口时长过后即失去了对扩缩容速率的控制能力,无法真正实现对扩缩容速率的精准控制。您可以通过配置负载伸缩策略的YAML文件中spec的behavior结构,来更精准灵活地控制FederatedHPA的自动扩缩速度。该结构支持为每个Federat
登录UCS控制台,在左侧导航栏中选择“容器舰队”。 单击已开通集群联邦的容器舰队名称,进入容器舰队详情页面。 在左侧导航栏选择“负载伸缩”,选择“定时伸缩策略”,在需要编辑的策略所在行右侧单击“编辑”,在策略详情页面可以删除或添加策略规则。 如需删除策略规则,在规则后单击“删除”即可。 如需添
登录UCS控制台,在左侧导航栏中选择“容器舰队”。 单击已开通集群联邦的容器舰队名称,进入容器舰队详情页面。 在左侧导航栏选择“负载伸缩”,在“指标伸缩策略”页签下,单击右上角的“创建指标伸缩策略”。 配置FederatedHPA策略参数。 表1 FederatedHPA策略参数配置 参数 参数说明 策略名称
登录UCS控制台,在左侧导航栏中选择“容器舰队”。 单击已开通集群联邦的容器舰队名称,进入容器舰队详情页面。 在左侧导航栏选择“负载伸缩”,选择“指标伸缩策略”,在需要编辑的策略所在行右侧单击“编辑”,在策略详情页面可以修改策略配置,详细的参数说明请参见表2。 修改完成后,单击“确定”。 删除FederatedHPA策略
管理流量策略 暂停调度策略 对于已创建的流量策略,如发生集群故障倒换等突发场景时,支持将某个调度策略暂停使用,待故障解除后再启用调度策略。下面以暂停调度策略为例进行说明,启用调度策略的方法与暂停一致,不再赘述。 登录UCS控制台,在左侧导航栏中单击“流量分发”。 在对应的调度策略框右上角位置单击“暂停”。
之内时,不会触发工作负载的弹性伸缩。UCS负载伸缩策略默认伸缩容忍度为0.1,不支持修改。 例如,若您在创建策略时选择默认设置,则缩容会在指标数据达到期待值的1.1倍以上,且持续时间超过300秒时触发;扩容会在指标数据达到期待值的0.9倍以下,且持续时间超过0秒时触发。 父主题:
PA策略的生效时间与目标Pod数,实现在固定时间段将工作负载自动扩缩至期望数量。 图2 单独使用CronFederatedHPA策略工作原理 具体流程为: 创建CronFederalHPA策略,设置CronFederatedHPA的生效时间与目标Pod数。 生效时间:CronFe
健康检查默认使用业务端口(Service的NodePort和容器端口)作为健康检查的端口。 80 检查周期 每次健康检查响应的最大间隔时间。 取值范围[1-50]。 5 超时时间(秒) 每次健康检查响应的最大超时时间。 取值范围[1-50]。 10 最大重试次数 健康检查最大的重试次数,取值范围[1-10]。 5
eamonSet等。 工作负载基本概念 无状态工作负载(即Kubernetes中的Deployment):实例之间完全独立、功能相同,具有弹性伸缩、滚动升级等特性。如:nginx、wordpress,创建无状态工作负载请参见创建无状态工作负载。 有状态工作负载(即Kubernet
安装插件 选择适用的插件后,请结合表1内注意事项,参考相关文档为集群安装插件: 请为需要创建负载伸缩策略的集群联邦下所有集群安装指标采集插件,否则会造成指标采集异常,负载伸缩策略失效。 Kubernetes Metrics Server的安装方法请参见Kubernetes Metrics
您可以在UCS的集群控制台中快速安装本插件。 安装本插件后,可在集群控制台内的“负载伸缩”页签下,创建HPA策略,具体请参见创建工作负载弹性伸缩(HPA)。 社区官方项目:https://github.com/kubernetes-sigs/metrics-server。 约束和限制
在运行过程中会保存数据或状态的工作负载称为“有状态工作负载(statefulset)”,创建的Pod拥有持久型标识符,Pod迁移或销毁重启后,标识符仍会保留。有状态负载不支持弹性伸缩,适用于需要使用持久化存储的场景,如ETCD等。 创建有状态负载 登录UCS控制台,在左侧导航栏中选择“容器舰队”。 在“容器舰队”页
utSeconds(超时时间),以平衡检查频率和系统负载。 对于启动探针,可以设置较长的间隔和超时,以适应应用的启动时间。 容器出现故障或无法正常工作,系统可以自动重启该容器,从而提高应用的可用性和可靠性。 弹性伸缩 业务支持自动扩缩容的能力即配置指标弹性HPA,并且要求: 必须:HPA
集群联邦是基于CNCF项目Karmada所提供的多云容器编排能力,旨在管理跨云、跨地域场景下的多集群应用,为您提供多集群统一管理、应用部署、服务发现、弹性伸缩、故障迁移等能力。 图1 集群联邦架构 集群联邦使用限制 仅或具备UCS FullAccess权限的用户可进行集群联邦的开通、关闭操作。