在生产集群,经常需要配置几个节点为项目独占,有以下要求
1、节点只能运行指定项目的容器pod
2、其他项目的的容器pod不能调度到这些节点上
为了满足需求需要如下配置
1、节点配置污点,pod不能随意调度
2、节点配置标签,部署pod使用节点亲和性往指定标签节点调度
3、在部署pod时候,yaml配置污点容忍,同时配置节点亲和性
节点配置污点和标签
配置污点表示业务pod不能随意往上面调度
配置标签,后面部署pod指明往对应标签的节点
容器配置
在对应的项目的delploye下的pod模板中配置节点亲和污点容忍
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node
operator: In
values:
- better
tolerations:
- effect: NoSchedule
key: project
operator: Equal
value: iip