有时候需要某一类别的pod根据业务需求部署到指定的节点池或者可用区,或者需要部署到指定标签的节点上,那么就需要使用节点的亲和性。
•requiredDuringSchedulingIgnoredDuringExecution: 调度器只有在规则被满足的时候才能执行调度。
•preferredDuringSchedulingIgnoredDuringExecution: 调度器会优先尝试寻找满足对应规则的节点。如果找不到匹配的节点,调度器仍然会调度该 Pod。
•在上述类型中,IgnoredDuringExecution 意味着如果节点标签在 Kubernetes调度 Pod 时发生了变更,Pod 仍将继续运行。
•同时指定了 nodeSelector 和 nodeAffinity,两者必须都要满足, 才能将 Pod调度到候选节点上。
•指定了多个与 nodeAffinity 类型关联的 nodeSelectorTerms, 只要其中一个nodeSelectorTerms 满足的话,Pod 就可以被调度到节点上。
•指定了多个与同一 nodeSelectorTerms 关联的matchExpressions, 则只有当所有 matchExpressions 都满足时 Pod 才可以被调度到节点上。
以上内容摘自《企业级云原生白皮书项目实战》电子书,点击https://developer.aliyun.com/ebook/download/7774可下载完整版
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。