node打标签、污点
标签
1、查看当前节点的标签
kubectl get node --show-labels
2、给节点打标签
kubectl label node nodename key=value、
3、删除标签
kubectl label nodes nodename <key>-
4、修改deployment.yaml文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: dev-nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: dev-nginx-deployment
template:
metadata:
labels:
app: dev-nginx-deployment
spec:
containers:
- name: nginx
image: nginx:1.19.5
nodeSelector: #节点标签
key: value #设置标签
污点
1、查看污点
kubectl describe nodes nodename |grep Taints
2、设置污点
kubectl taint node node名 key=value:污点三个可选值
NoSchedule : 一定不被调度
PreferNoSchedule : 尽量不被调度
NoExecute : 不会调度,并且还会驱逐Node已有Pod
例如:kubectl taint node nodename key=value:NoSchedule
3、删除污点
kubectl taint nodes nodename key:NoSchedule-
4、添加配置文件yaml
spec:
spec:
tolerations: #容忍
- key: key #这个是设置污点的key
value: value #这个是设置污点的values
effect: NoSchedule #这个是污点类型
对于tolerations属性的写法:
其中的key、value、effect 与Node的Taint设置需保持一致, 还有以下几点说明:
1、如果operator的值是Exists,则value属性可省略。
2、如果operator的值是Equal,则表示其key与value之间的关系是equal(等于)。
3、如果不指定operator属性,则默认值为Equal。
另外,还有两个特殊值:
1、空的key 如果再配合Exists 就能匹配所有的key与value ,也是是能容忍所有node的所有Taints。
2、空的effect 匹配所有的effect。
本文来自博客园,作者:武兴旺,转载请注明原文链接:https://www.cnblogs.com/wuxingwang/p/15749292.html