This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.3.7.2. 添加污点和容限
您可以为 pod 和污点添加容限,以便节点能够控制哪些 pod 应该或不应该调度到节点上。对于现有的 pod 和节点,您应首先将容限添加到 pod,然后将污点添加到节点,以避免在添加容限前从节点上移除 pod。
流程
通过编辑
Pod
spec 使其包含tolerations
小节来向 pod 添加容限:使用 Equal 运算符的 pod 配置文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
使用 Exists 运算符的 pod 配置文件示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
Exists
运算符不会接受一个value
。
本例在
node1
上放置一个键为key1
且值为value1
的污点,污点效果是NoExecute
。通过以下命令,使用 Taint 和 toleration 组件表中描述的参数为节点添加污点:
oc adm taint nodes <node_name> <key>=<value>:<effect>
$ oc adm taint nodes <node_name> <key>=<value>:<effect>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
oc adm taint nodes node1 key1=value1:NoExecute
$ oc adm taint nodes node1 key1=value1:NoExecute
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令在
node1
上放置一个键为key1
,值为value1
的污点,其效果是NoExecute
。注意如果为 control plane 节点(也称为 master 节点)添加了一个
NoSchedule
污点,则节点必须具有node-role.kubernetes.io/master=:NoSchedule
污点,该污点会被默认添加。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pod 上的容限与节点上的污点匹配。具有任一容限的 pod 可以调度到
node1
上。
3.7.2.1. 使用机器集添加污点和容限 复制链接链接已复制到粘贴板!
您可以使用机器集为节点添加污点。与 MachineSet
对象关联的所有节点都会使用污点更新。容限对由机器集添加的污点的处理方式与直接添加到节点的污点的处理方式相同。
流程
通过编辑
Pod
spec 使其包含tolerations
小节来向 pod 添加容限:使用
Equal
运算符的 pod 配置文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
使用
Exists
运算符的 pod 配置文件示例Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将污点添加到
MachineSet
对象:为您想要污点的节点编辑
MachineSet
YAML,也可以创建新MachineSet
对象:oc edit machineset <machineset>
$ oc edit machineset <machineset>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将污点添加到
spec.template.spec
部分:机器集规格中的污点示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 本例在节点上放置一个键为
key1
,值为value1
的污点,污点效果是NoExecute
。将机器缩减为 0:
oc scale --replicas=0 machineset <machineset> -n openshift-machine-api
$ oc scale --replicas=0 machineset <machineset> -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 提示您还可以应用以下 YAML 来扩展机器集:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 等待机器被删除。
根据需要扩展机器设置:
oc scale --replicas=2 machineset <machineset> -n openshift-machine-api
$ oc scale --replicas=2 machineset <machineset> -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 或者:
oc edit machineset <machineset> -n openshift-machine-api
$ oc edit machineset <machineset> -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 等待机器启动。污点添加到与
MachineSet
对象关联的节点上。