kubernetes 配置 pod 间的反亲和不生效问题
Posted 回归心灵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kubernetes 配置 pod 间的反亲和不生效问题相关的知识,希望对你有一定的参考价值。
问题描述
由于某些原因需要配置 pod 间的反亲和规则,不让两个 pod 调度到同一个节点。但是在配置完反亲和后,两个 pod 还是被调度到了同一个节点上。
问题解决
问题的关键是没有指定 namespaces 字段。如果不指定 namespaces 字段,或者指定了 namespaces 字段但是为空,那么作用范围将仅限于该 pod 的命名空间。对于同一个资源的不同副本来说,都是同一个命名空间,不存在该问题。但是要想配置不同类型资源 pod 的反亲和,则要指定 namespaces 字段来限定范围。例如下面编排文件:
apiVersion: v1
kind: Pod
metadata:
name: with-pod-antiaffinity
namespace: apollo
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- monitor-failover-service
topologyKey: "kubernetes.io/hostname"
namespaces: [bullyun-other]
containers:
- name: with-pod-affinity
image: docker.io/ocpqe/hello-pod
以上是关于kubernetes 配置 pod 间的反亲和不生效问题的主要内容,如果未能解决你的问题,请参考以下文章