混合云节点池支持将本地数据中心(IDC)的节点注册到ACK集群,实现云上云下资源的统一纳管与协同调度。本文介绍如何将应用调度到混合云节点池,以满足资源地理位置约束、数据本地化合规要求或特定硬件依赖等部署场景。
工作原理
为保障集群稳定性与资源隔离性,ACK在创建混合云节点池时,自动为其节点添加专用污点(Taint)和标签(Label):
-
污点:
nodepool-type=hybridcloud:NoSchedule——避免系统组件或通用工作负载调度至混合云环境。 -
标签:
alibabacloud.com/nodepool-type: hybridcloud—— 提供可被调度策略识别的节点类型标识。
如需将Pod调度到混合云节点,需解决以下问题:
|
能否调度 使用容忍
|
Pod必须声明对上述污点的容忍,以忽略该污点的调度限制,从而获得被调度至混合云节点的资格。 |
|
方案一场景,即允许Pod被调度到混合云节点,但不作强制。 |
|
|
如何调度 结合节点选择策略定位混合云节点 |
仅配置容忍并不保证Pod一定会被调度到混合云节点。如需将 Pod 定向部署到混合云节点上,还需结合使用节点选择器( |
|
方案二场景,实现Pod指定调度至指定混合云节点池或所有混合云节点。 |
|
|
调度优先级 基于ResourcePolicy机制实现顺序扩容、逆序缩容。 |
针对多节点池间的优先级调度与逆序缩容需求(例如:扩容时优先使用成本更低的混合云节点池,缩容时优先释放云上ECS节点池资源),ACK提供ResourcePolicy机制。 |
|
方案三场景。 |
方案一:允许应用调度到混合云节点池
|
适用场景 |
适用于需要扩展集群整体资源容量,且对工作负载运行位置无严格地理或合规约束的场景。启用后,调度器将混合云节点池纳入候选范围,但Pod仍可能被调度至其他可用节点池。 |
|
核心配置 |
在工作负载的
|
|
YAML示例 |
|
方案二:强制应用仅调度到混合云节点池
调度到指定的单个混合云节点池
|
适用场景 |
通过 |
|
核心配置 |
在
节点池ID可从所在集群的页面获取。 |
|
YAML示例 |
|
调度到任意混合云节点池
|
适用场景 |
通过 |
|
核心配置 |
在
|
|
YAML示例 |
|
方案三:基于 ResourcePolicy 配置复杂的调度优先级
|
适用场景 |
适用于多节点池协同调度场景。例如,将成本较低的混合云节点池设为首选资源池,将弹性较强的云上ECS节点池设为备用资源池。
|
|
核心配置 |
此方案需协同配置两类资源:
|
|
YAML示例 |
|
生产环境使用建议
-
为确保集群的稳定性和资源隔离,请勿删除混合云节点池的默认污点
nodepool-type=hybridcloud:NoSchedule,以免部分系统组件被意外调度到混合云节点上。 -
请勿删除或修改混合云节点的默认标签
alibabacloud.com/nodepool-type: hybridcloud,以免影响节点池正常运行。