22. 资源的调度——污点与容忍(Taints 和 Tolerations)

本章讲解知识点

    1. 前言
    1. Taints 和 Tolerations 概念
    1. 实验
    1. 污点的常用场景


1. 前言

假如我们有一种场景,我们希望某些节点是专用节点,比如 Kubernetes master 节点,就不希望业务应用 Pod 调度过来。或者防止一些非关键的 Pod 占用一些特殊的节点资源,如大页内存。这个时候我们就希望这些节点有一些“污点”,这样专用 Pod 能容忍这些污点,就可以实现调度,不能容忍的,不让其调度过来。为了实现这一场景,Kubernetes 涉及到污点与容忍(Taints 和 Tolerations)。


2. Taints 和 Tolerations 概念

NodeAffinity 是一种属性,用于让 Pod 被调度到特定的 Node 上,Taint 反过来则表示让 Node 拒绝 Pod 运行。一般情况下,标记为 Taint 的节点可能存在问题,如资源紧缺、安全漏洞等,因此不希望 Pod 被调度到这些节点上。但是有些情况下仍需要将 Pod 调度到 Taint 节点上,这时可以使用 Toleration 属性。需要注意的是,Taint 标记的节点仍然是有效的工作节点。

在默认情况下,在 Node 上设置一个或多个 Taint 之后,除非 Pod 明确声明能够容忍这些污点

猜你喜欢

转载自blog.csdn.net/qq_32468785/article/details/130504663