16.7.2. 使用高级调度
在集群中调用高级调度的方法有几种:
- Pod 关联性和反关联性
容器集关联性允许 pod 向一组 容器集 指定关联性(或反关联性),这表示应用的延迟要求,因为安全性等原因。节点对放置没有控制权。
容器集关联性使用节点上的标签和 pod 上的标签选择器来创建 pod 放置规则。规则可以是强制(必需)或est-effort(首选)。
请参阅使用 Pod 关联性和反关联性。
- 节点关联性
节点关联性允许 pod 向一组 节点 (因为其特殊硬件、位置、高可用性要求等)指定关联性(或反关联性)。节点对放置没有控制权。
节点关联性使用节点上的标签和 pod 上的标签选择器来创建 pod 放置规则。规则可以是强制(必需)或est-effort(首选)。
请参阅使用节点关联性。
- 节点选择器
节点选择器是最简单的高级调度形式。与节点关联性一样,节点选择器也使用节点上的标签和 pod 上的标签选择器,以允许 pod 控制它可以放置的节点。但是,节点选择器没有节点关联性具有的必要和偏好规则。
- 污点和容限
污点和容限(taint/Tolerations) 允许 节点 控制哪些 pod 应该(或不应该)调度到节点上。污点是节点上的标签,容限是 pod 上的标签。pod 上的标签必须匹配(或容许)节点上的标签(taint)才能调度。
与关联性相比,污点/容限有一个优势。例如,如果您添加到集群中,一组具有不同标签的新节点,则需要更新您要访问该节点的每个 pod 上的关联性,以及您不想使用新节点的所有其他 pod。使用污点/容限时,您只需要更新置入这些新节点上的 pod,因为会出现其他 pod。