k8s 设置容忍污点
时间: 2025-02-03 20:26:39 浏览: 38
### Kubernetes 中配置 Tolerations 容忍污点
在 Kubernetes 中,Pod 可以通过定义 `tolerations` 来容忍特定的污点。这使得 Pod 能够被调度到带有相应污点的节点上。
#### YAML 文件中的 Toleration 配置
为了使 Pod 容忍某个污点,可以在 Pod 的 YAML 文件中加入 `tolerations` 字段:
```yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
containers:
- name: nginx
image: nginx
tolerations:
- key: "key"
operator: "Equal"
value: "value"
effect: "NoSchedule"
```
此配置意味着该 Pod 将能够容忍拥有指定键值对 (`key=value`) 并且效果为 `NoSchedule` 的污点[^5]。
对于不同类型的污点效应,可以调整 `effect` 参数来匹配实际需求。如果希望 Pod 对某一类污点完全不敏感,则可省略具体的关键字和值,仅保留效用部分:
```yaml
tolerations:
- effect: "NoExecute"
```
上述例子表明这个 Pod 不会被已有的 `NoExecute` 效应所影响,即使它所在的节点后来新增了这种类型的污点也不会被驱逐。
当面对多个可能存在的污点时,可以通过添加多条 `toleration` 记录实现更复杂的逻辑处理。每一条记录独立作用,共同决定最终的行为模式。
阅读全文
相关推荐








