我想解决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
广告
将在 10 秒后关闭
bannerAds