在生产集群,经常需要配置几个节点为项目独占,有以下要求

1、节点只能运行指定项目的容器pod

2、其他项目的的容器pod不能调度到这些节点上

为了满足需求需要如下配置

1、节点配置污点,pod不能随意调度

2、节点配置标签,部署pod使用节点亲和性往指定标签节点调度

3、在部署pod时候,yaml配置污点容忍,同时配置节点亲和性

节点配置污点和标签

配置污点表示业务pod不能随意往上面调度

云计算-配置节点亲和污点容忍保证节点为项目独占_k8s

配置标签,后面部署pod指明往对应标签的节点

云计算-配置节点亲和污点容忍保证节点为项目独占_k8s_02

容器配置

在对应的项目的delploye下的pod模板中配置节点亲和污点容忍

  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
          - matchExpressions:
              - key: node
                operator: In
                values:
                  - better
    tolerations:
        - effect: NoSchedule
          key: project
          operator: Equal
          value: iip

云计算-配置节点亲和污点容忍保证节点为项目独占_k8s_03

云计算-配置节点亲和污点容忍保证节点为项目独占_k8s_04