Kubernetes (k8s) 污点(Taint)介绍、示例
创始人
2024-05-31 08:05:38

Kubernetes (k8s) 污点(Taint)

是一种机制,用于标记一个节点(Node)不可被调度的状态。它可以将一个污点标记添加到节点上,以防止 Pod
被调度到该节点上。污点可以用于实现各种策略,例如分离故障节点、预留节点、限制资源等。

下面是一个使用污点的案例:

假设我们有一个 Kubernetes 集群,其中有一些节点的 CPU 和内存资源使用率较高,我们希望避免在这些节点上启动新的
Pod,以防止导致负载过高。我们可以通过在这些节点上添加污点来实现这一目标,例如:

kubectl taint nodes  cpu=high:NoSchedule
kubectl taint nodes  memory=high:NoSchedule

这将在节点上添加两个污点:cpu=high 和 memory=high,它们的值都是 NoSchedule,表示任何带有这些污点的 Pod
都不能被调度到这些节点上。

然后,我们可以在需要避免这些节点的 Pod 上添加对应的容忍度(toleration),例如:

apiVersion: v1
kind: Pod
metadata:name: my-pod
spec:containers:- name: my-containerimage: my-imagetolerations:- key: cpuoperator: Equalvalue: higheffect: NoSchedule- key: memoryoperator: Equalvalue: higheffect: NoSchedule

这个 Pod 的 toleration 指定了,只有当它的 cpu 和 memory 污点值为 NoSchedule
时,才能被调度到节点上。

通过这种方式,我们就可以通过使用污点和容忍度来控制 Pod 的调度,避免将 Pod 分配到负载过高的节点上。

相关内容

热门资讯

中华人民共和国国务院令(第83... 中华人民共和国国务院令第836号《中华人民共和国行政复议法实施条例》已经2026年4月17日国务院第...
航新科技易主后董事会“换血”:... 5月8日,航新科技(300424)发布公告,鉴于公司控股股东、实际控制人已发生变更,公司拟对第六届董...
安徽新建5万吨锂电池回收项目 (来源:电池工业网)本网讯  5月6日,淮南市生态环境局发布《关于安徽新众诺能源发展有限公司新能源锂...
圣邦股份“A+H”信披打架,董...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! 2026年4月,创业...
受贿1.89亿余元,重庆市委原... 2026年5月8日,四川省泸州市中级人民法院一审公开宣判重庆市委原常委、政法委原书记陆克华受贿案,对...