Kubernetes 在k8s中,如何让节点自己选择接受哪种类型的POD
我希望我的一个节点只接受某种类型的pod。 所以我想知道,有没有办法让一个节点只接受那些带有特定标签的pod 您有两个选择:Kubernetes 在k8s中,如何让节点自己选择接受哪种类型的POD,kubernetes,Kubernetes,我希望我的一个节点只接受某种类型的pod。 所以我想知道,有没有办法让一个节点只接受那些带有特定标签的pod 您有两个选择: :将吊舱吸引到节点集的吊舱属性 :污点与节点关联相反,它们允许节点排斥一组豆荚 使用节点关联 您需要标记节点: kubectl标签节点node1 mylabel=specialpods 然后,当您启动POD时,指定关联性: 您有两个选择: :将吊舱吸引到节点集的吊舱属性 :污点与节点关联相反,它们允许节点排斥一组豆荚 使用节点关联 您需要标记节点: kubectl标签节点
kubectl标签节点node1 mylabel=specialpods
关联性:
kubectl标签节点node1 mylabel=specialpods
关联性:
首先,节点对它得到的节点类型没有发言权。最简单的方法似乎是向节点添加一个唯一的节点,并向相关的pod添加相应的标签。最简单的方法似乎是在节点中添加一个唯一的节点,并在相关的pod中添加相应的标签。酷!它正在工作。。。谢谢。唯一的问题是,当我将污染添加到节点时,它不会删除不匹配的pod。不管怎样,我手动移除了它们,它们再也没有回来。Thx很多。实际上,正如
所要求的那样,当标签更改时,已经计划好的POD将被忽略。很高兴从您那里了解到这也是受污染节点的行为!很高兴它有帮助:)酷!它正在工作。。。谢谢。唯一的问题是,当我将污染添加到节点时,它不会删除不匹配的pod。不管怎样,我手动移除了它们,它们再也没有回来。Thx很多。实际上,正如所要求的那样,当标签更改时,已经计划好的POD将被忽略。很高兴从您那里了解到这也是受污染节点的行为!很高兴这有帮助:)
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: mylabel
operator: In
values:
- specialpods
containers:
- name: nginx-container
image: nginx
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
tolerations:
- key: "mytaint"
operator: "Equal"
value: "specialpods"
effect: "NoSchedule"
containers:
- name: nginx-container
image: nginx