我想解决Kubernetes的taint问题
日程安排的意思。
在某个Node上分配Pod
污点是什么
一个功能,只有当满足某些条件时才可以调度Pod。它可以防止创建意外的Pod。
Taint由三个元素组成:key,value和effect。如果manifest文件中的key和value与之不匹配,则会发挥效果(例如Pod不会被调度)。
在中国语中,设置Node的Taint的方法是什么?
在node01上设置一个名为app的键值,如果值不是batch,则不进行调度(即产生NoSchedule效果)的Taint示例。
$ kubectl taint node node01 app=batch:NoSchedule
只需要一个选项:
在这里,尝试使用下面这样的yaml文件创建名为pod01的Pod。
apiVersion: v1
kind: Pod
metadata:
name: pod01
spec:
containers:
- image: nginx
name: pod01
$ kubectl create -f pod01.yaml
查看状态后显示为待处理
$ kubectl get pod
NAME READY STATUS RESTARTS AGE
pod01 1/1 Pending 0 4s
正确设置污点
apiVersion: v1
kind: Pod
metadata:
name: pod01
spec:
containers:
- image: nginx
name: pod01
tolerations:
- key: "app"
operator: "Equal"
value: "batch"
effect: "NoSchedule"
跑步。
$ kubectl get pod
NAME READY STATUS RESTARTS AGE
pod01 1/1 Running 0 4s