针对虚拟节点,ACK托管集群(Pro版和基础版)和ACK专有集群支持的调度方式不同,且有其特定的使用场景,例如直接指定Pod只调度到虚拟节点、跨可用区打散等。您可以依据调度场景以及集群类型,参考本文选择合适的调度方式。
常见虚拟节点调度场景
只调度到虚拟节点。
在ECS节点资源不足时,将Pod调度到虚拟节点。
在ACK集群基础版中,调度场景1推荐您使用label alibabacloud.com/eci=true
完成,调度场景2推荐您升级到ACK集群Pro版,来获取更丰富的产品层次能力,以支持更高等级可靠性、SLA和更大集群容量。ACK支持ACK集群基础版无缝迁移到ACK集群Pro版。相关操作,请参见 热迁移ACK集群基础版至ACK集群Pro版。
注意事项
不推荐您使用virtual-kubelet-autoscaler、ElasticWorkload以及ElasticResource的(annotations:alibabacloud.com/burst-resource),这些组件或注解处于非活跃开发状态。
ACK集群基础版升级到ACK集群Pro版后,推荐您卸载virtual-kubelet-autoscaler组件。安装组件会占用节点资源,推荐您基于Kubernetes原生调度语义实现ECI Pod的打散部署及亲和部署。具体操作,请参见实现ECI Pod可用区打散以及亲和调度。
方案对比及选型建议
关于表格中一些字段的说明:
优先级调度:指Pod调度到不同节点集合的调度优先级是可编排的,您可以进行可控制的策略调度。例如优先调度到ECS节点,ECS节点不足使调度到虚拟节点。
不支持:无法对不同节点集合进行优先级编排。例如通过
alibabacloud.com/eci=true
只能将指定Pod调度到虚拟节点,无法将Pod优先调度到ECS,资源不足时调度到虚拟节点。
ACK集群基础版和ACK专有集群
调度方式 | 典型场景 | 优先级调度 | 优先缩容ECI Pod | 是否推荐使用 | 相关操作文档 | |
labels: alibabacloud.com/eci=true | 只调度到虚拟节点。 | 不支持 | 支持 | 推荐。 | ||
UnitedDeployment | 将Deployment副本分组调到ECS节点或虚拟节点。 | 支持 (还支持针对应用副本数制定弹性策略,例如,副本数10以内优先使用包年包月的ECS资源,超出10个不超出20个的使用Spot资源,超出20个的再使用ECI资源。) | 支持 | 推荐。 | ||
Kubernetes原生调度语义 | nodeSelector | 添加Toleration后,只调度到虚拟节点上。 | 不支持 | 支持 | 不推荐 相比于ACK集群Pro版,ACK集群基础版和ACK专有集群中的kube-scheduler,在Pod调度中无法感知底层库存情况,所以生产成功的确定性会降低。 | |
亲和性与反亲和性 | 通过Toleration和节点亲和性,实现ECS节点资源不足时调度到虚拟节点等能力,是一种弹性调度策略(非严格)。 | 支持 | 支持 | |||
Pod拓扑分布约束 | 跨可用区打散,实现高可用和高性能调度需求。 | 不支持 | 支持 | |||
ElasticWorkload | 将Deployment副本分组调到ECS或虚拟节点。 | 支持 (还支持针对应用副本数制定弹性策略。) | 支持 | 不推荐。 非活跃开发状态,建议使用UnitedDeployment。 | ||
ElasticResource(annotations:alibabacloud.com/burst-resource) |
| 支持 (仅支持指定的弹性调度策略:eci、eci_only) | 支持 | 不推荐。 非活跃开发状态。 | ||
virtual-kubelet-autoscaler | ECS节点资源不足时调度到虚拟节点。 | 支持 (仅支持优先调度到ECS节点再虚拟节点) | 支持 | 不推荐。 非活跃开发状态。 |
ACK集群Pro版
调度方式 | 典型场景 | 优先级调度 | 优先缩容ECI Pod | 是否推荐使用 | 相关操作文档 | |
labels: alibabacloud.com/eci=true | 只调度到虚拟节点。 | 不支持 | 支持 | 推荐。 | ||
kubernetes原生调度语义 | nodeSelector | 添加Toleration后,只调度到虚拟节点上。 | 不支持 | 支持 | 推荐。 | |
亲和性与反亲和性 | 通过Toleration和节点亲和性,实现ECS节点资源不足时调度到虚拟节点等能力,是一种弹性调度策略(非严格)。 | 支持 | 支持 | 推荐。 | ||
Pod拓扑分布约束 | 跨可用区打散,实现高可用和高性能调度需求。 | 不支持 | 支持 | 推荐。 | ||
ResourcePolicy |
| 支持 | 支持 (能力增强:支持按原调度顺序逆序缩容) | 推荐。 | ||
UnitedDeployment | 将Deployment副本分组调到ECS或虚拟节点。 | 支持 (还支持针对应用副本数制定弹性策略,例如,副本数10以内优先使用包年包月的ECS资源,超出10个不超出20个的使用Spot资源,超出20个的再使用ECI资源。) | 支持 | 推荐。 | ||
ElasticWorkload | 将Deployment副本分组调到ECS或虚拟节点。 | 支持 (还支持针对应用副本数制定弹性策略。) | 支持 | 不推荐 非活跃开发状态,建议使用UnitedDeployment。 | ||
ElasticResource(annotations:alibabacloud.com/burst-resource) |
| 支持 (只能使用指定的弹性调度策略:eci、eci_only) | 支持 | 不推荐。 非活跃开发状态。 | ||
virtual-kubelet-autoscaler | ECS节点资源不足时调度到虚拟节点。 | 支持 (仅支持优先调度到ECS节点再虚拟节点) | 支持 | 不推荐。 非活跃开发状态。 |
- 本页导读