云端节点伸缩概述
ACK Edge集群可以管理各种类型的线上线下节点资源,例如不同地域的ECS节点、IDC节点、其他厂商节云节点,以及分布在工厂、门店、车辆和船舶中的服务器节点,当线下节点资源不足时,节点自动伸缩能力可以为ACK Edge集群自动扩容云上节点,进行调度容量的补充。这种弹性的扩缩容能力能够极大地节省资源成本。
阅读前提示
为了让您更好地了解ACK提供的节点伸缩方案,并结合您的业务诉求进行方案选型,建议您在启用节点伸缩能力前阅读本篇概述。
阅读本文前,推荐您参见Kubernetes官方文档了解手动伸缩、自动伸缩、水平伸缩、垂直伸缩等伸缩概念。
工作原理
在Kubernetes中,节点伸缩的工作原理与传统意义上基于使用率阈值的模型有所差别。这也是从传统IDC或其他编排系统迁移到Kubernetes集群后往往需要解决的问题。
节点自动伸缩方案
节点自动伸缩指资源层弹性,即当集群的容量规划无法满足应用Pod调度时,自动扩缩节点资源,进行调度容量的补充。节点自动伸缩通过cluster-autoscaler组件,以轮询的方式,周期性地维护和检查集群状态,以发现满足扩缩容条件的情况,从而自动扩缩容集群节点。
伸缩速度与效率
单次伸缩时,标准模式的伸缩速度约为60s,极速模式为50s。
当达到1分钟的伸缩量级时,伸缩速度会遇到瓶颈,并且在不同规模(多节点池)、不同场景(连续伸缩)下,弹性速度也会有比较明显的抖动。例如,当节点池数量超过100时,伸缩速度将衰减为100~150s。
使用轮询式模型,且受制于对集群状态维护的依赖,弹性灵敏度最低为5s。
注意事项
配额与限制
在专有网络下创建的单个路由表可创建的自定义路由数限额是200条。如需更大的配额,请前往配额中心提交申请。关于其他资源的配额限制及升配详情,请参见依赖底层云产品配额限制。
请合理配置开启自动伸缩的节点池的最大实例数,保证此范围内的节点所依赖的资源和配额充足,例如合理规划VPC网段、交换机等网络资源,以避免节点扩容失败。配置开启自动伸缩的节点池的最大实例数,请参见配置实例数量。关于ACK的网络规划,请参见Kubernetes集群网络规划。
节点伸缩功能不支持包年包月付费类型的节点。如需新建开启自动伸缩的节点池,请勿选择付费类型为包年包月。如需为已有节点池开启自动伸缩,请确保节点池内没有包年包月付费类型的节点。
依赖资源的维护
选择绑定EIP时,请勿通过ECS控制台直接删除节点伸缩扩容出的ECS节点,否则会导致EIP无法自动释放。
后续阅读
如在使用节点自动伸缩过程中遇到问题,您可以参见节点自动伸缩常见问题进行自排查。