Kubernetes容器中的亲和力affinity的yaml部分有哪两种写法?和它相反的污点的yaml又如何实现?
节点亲和力(node affinity)。 亲和力(Affinity)是一个pod设置项,使它们偏好具有某些属性的节点。例如,某些pod可能需要在带有GPU或SSD的计算机上运行,或者某些pod可能需要具有特定安全隔离或特定策略的节点。重复检查关联设置可以帮助缩小 导致不均匀分配的原因的范围,并降低严峻问题发生的可能性 。
污点(taints)和容忍(tolerations)。污点与亲和力相反。这些是节点的设置项,给节点设置污点,从而使pod 难以调度到这些节点。如果要为特定pod保留节点,或者为了确保该节点上的pod对可用资源具有完全访问权限,则可以使用此选项 。
Taint 和 toleration 相互配合,可以用来避免 pod 被分配到不合适的节点上。每个节点上都可以应用一个或多个 taint ,这表示对于那些不能容忍这些 taint 的 pod,是不会被该节点接受的。如果将 toleration 应用于 pod 上,则表示这些 pod 可以(但不要求)被调度到具有相应 taint 的节点上
收起