您可以使用Pod上的节点选择器和节点上的标签来控制Pod的调度位置。使用节点选择器,OpenShift Container Platform 将Pod调度到包含匹配标签的节点上。
您可以将标签添加到节点、计算机器集或机器配置。将标签添加到计算机器集可确保如果节点或机器出现故障,新节点将具有该标签。如果节点或机器出现故障,则添加到节点或机器配置的标签不会持久存在。
要将节点选择器添加到现有 Pod,请将节点选择器添加到该 Pod 的控制对象,例如ReplicaSet
对象、DaemonSet
对象、StatefulSet
对象、Deployment
对象或DeploymentConfig
对象。该控制对象下的任何现有 Pod 都会在具有匹配标签的节点上重新创建。如果您正在创建新的 Pod,则可以直接将节点选择器添加到 Pod 规范中。如果 Pod 没有控制对象,则必须删除 Pod,编辑 Pod 规范,然后重新创建 Pod。
|
您不能直接将节点选择器添加到现有的已调度 Pod。
|
先决条件
要将节点选择器添加到现有 Pod,请确定该 Pod 的控制对象。例如,router-default-66d5cf9464-m2g75
Pod 受router-default-66d5cf9464
副本集控制
$ oc describe pod router-default-66d5cf9464-7pwkc
示例输出
kind: Pod
apiVersion: v1
metadata:
# ...
Name: router-default-66d5cf9464-7pwkc
Namespace: openshift-ingress
# ...
Controlled By: ReplicaSet/router-default-66d5cf9464
# ...
Web 控制台在 Pod YAML 中的ownerReferences
下列出控制对象
apiVersion: v1
kind: Pod
metadata:
name: router-default-66d5cf9464-7pwkc
# ...
ownerReferences:
- apiVersion: apps/v1
kind: ReplicaSet
name: router-default-66d5cf9464
uid: d81dd094-da26-11e9-a48a-128e7edf0312
controller: true
blockOwnerDeletion: true
# ...
步骤
-
使用计算机器集或直接编辑节点来将标签添加到节点
-
将匹配的节点选择器添加到 Pod