1、labels相关

# 添加
~]# kubectl label node cn-hongkong.172.16.0.179 node-prod=jobs
node/cn-hongkong.172.16.0.179 labeled
# 删除
~]# kubectl label node cn-hongkong.172.16.0.179 node-prod-
node/cn-hongkong.172.16.0.179 unlabeled
# 查看
~]# kubectl get pods -n namespace --show-labels
kubectl get nodes --show-labels |grep node-prod

pod中添加亲和性

    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
              - matchExpressions:
                  - key: node-prod
                    operator: In
                    values:
                      - jobs

2、tolerations相关

#添加
kubectl taint nodes <node-name> specialnode=true:NoSchedule
~]# kubectl taint nodes cn-hongkong.172.16.0.179 jobsnode=true:NoSchedule
node/cn-hongkong.172.16.0.179 tainted

# 删除
kubectl taint nodes cn-hongkong.172.16.0.179 jobsnode-
node/cn-hongkong.172.16.0.179 unlabeled

# 覆盖添加
~]# kubectl taint nodes cn-hongkong.172.16.0.179 jobsnode=true:NoSchedule --overwrite
node/cn-hongkong.172.16.0.179 modified

# 查看所有节点及其污点信息
~]# kubectl get nodes -o custom-columns="NODE:metadata.name, TAINTS:.spec.taints"
NODE                        TAINTS
cn-hongkong.172.16.0.179   [map[effect:NoSchedule key:jobsnode value:true]]
cn-hongkong.172.16.0.180   <none>
cn-hongkong.172.16.0.70    <none>

创建 Pod 以容忍污点:要使 Pod 能够在带有特定污点的节点上运行,需要在 Pod 的 spec 中添加 tolerations 字段

spec:
  tolerations:
    - key: jobsnode
      operator: Exists
      effect: NoSchedule
06-02 07:32