apiVersion:v1kind:Podmetadata:name:testlabels:app:lemonspec:containers:-name:lemonimage:arminto/my_nginx:v1affinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:-matchExpressions:-key:kubernetes.io/hostnameoperator:Invalues:-k8s-node-192.168.2.33---apiVersion:v1kind:Podme...
NoVolumeZoneConflict:检查volume zone是否冲突。 MatchinterPodAffinity:检查是否匹配Pod的亲和性要求。 NoDiskConflict:检查是否存在Volume冲突,仅限于GCEPD、AWSEBS、Ceph RBD以及i5CSl。 PodToleratesNodeTaints:检查Pod是否容忍Node Taints。 CheckNodeMemoryPressure:检查Pod 是否可以调度到MemoryPressure的节点上。 Check...
在启动挂载云盘的Pod的时候,出现Pod无法启动的情况并报错had volume node affinity conflict。 问题原因 所有的PV中都存在nodeaffinity属性,当PV中nodeaffinity属性和Pod的nodeaffinity属性不一致时,就会出现上述报错,调度器因属性冲突无法调度。 解决方案 修改PV或者Pod的属性,使二者属性保持一致。
0/x nodes are available: x node(s) had volume node affinity conflict. Pod所使用的存储卷与待调度的节点之间存在亲和性冲突,云盘无法跨可用区挂载,导致调度失败。 若为静态PVC,希望Pod能够调度到与PV所在相同可用区的节点,需配置Pod的节点亲和性。 若为动态PVC,需设置StorageClass的云盘的绑定模式为WaitForFirst...
PodFitsHost:如果 pod 指定了 NodeName,检查节点名称是否和 NodeName 匹配 PodFitsHostPorts:节点上已经使用的 port 是否和 pod 申请的 port 冲突 PodSelectorMatches:过滤掉和 pod 指定的 label 不匹配的节点 NoDiskConflict:已经 mount 的 volume 和 pod 指定的 volume 不冲突,除非它们都是只读 ...
NoVolumeNodeConflict:对于某个指定节点,检查如果在此节点上部署Pod是否存在卷冲突。 4.基于约束关系的判断 MatchNodeSelector:检查节点标签(label)是否匹配Pod指定的nodeSelector,是则通过预选。 MatchInterPodAffinity:根据Pod之间的亲和性做判断。 PodToleratesNodeTaints:排斥性关系,即判断Pod不允许被调度到哪些节点。
像上面这样一组GeneralPredicates,正是 Kubernetes 考察一个 Pod 能不能运行在一个 Node 上最基本的过滤条件。所以,GeneralPredicates也会被其他组件(比如kubelet)直接调用。 2.2.2 Volume 相关的过滤规则 这一组过滤规则负责的是跟容器持久化 Volume 相关的调度策略。其中,NoDiskConflict检查的条件,是多个 Pod 声明...
前三种自不必说,第四种NodeSelector则是一种比较直白的调度方式,通过在配置文件中指定Pod要调度的Node,该匹配规则属于【强制】约束。由于是调度器调度,因此不能越过Taints污点进行调度。 NoVolumeZoneConflict 给定该存储的故障区域限制, 评估 Pod 请求的卷在节点上是否可用。
MatchInterPodAffinity: 检查pod和其他pod是否符合亲和性规则 GeneralPredicates: 检查pod与主机上kubernetes相关组件是否匹配 NoVolumeNodeConflict: 检查给定的Node限制前提下,检查如果在此主机上部署Pod是否存在卷冲突 已注册但默认不加载的Predicates策略有: 代码语言:javascript ...
PodFitsHost:如果Pod指定了nodeName,检查节点名称是否和nodeName匹配 PodFitsHostPort:节点上已经使用的port是否和Pod申请的port冲突 PodSelectorMatches:过滤和Pod指定的 label 不匹配的节点 NoDiskConflict:已经 mount 的 volume 和 Pod 指定的volume不冲突,除非他们都是只读 ...