Я пытаюсь создать развертывание, в котором создаются два модуля, IP-адреса узлов которых совпадают с двумя существующими модулями. Для этого я определяю PodAffinity как показано ниже
affinity:
podAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- {{ .Values.albId }}
topologyKey: "{{ .Values.topologyKey }}"
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- {{ .Values.name }}
topologyKey: "{{ .Values.topologyKey }}"
Поскольку пространство имен, в котором я хочу создавать новые модули, отличается от пространства имен, в котором я ссылаюсь на существующие модули, PodAffinity завершается ошибкой.
Стручки остаются в состоянии ожидания, и когда я описываю стручок, я получаю ошибку ниже
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
28s 13s 6 default-scheduler Warning FailedScheduling No nodes are available that match all of the predicates: MatchInterPodAffinity (1).
Из k8s docs- https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#inter-pod-affinity-and-anti-affinity-alpha-feature обнаружил, что я должен определить пространства имен в PodAffinity и инициализировать его пустым списком, чтобы разрешить перекрестное пространство имен PodAffinity.
Но я не получил ни одного примера из сети на примере инициализации пространств имен в списке пустых файлов.
Пожалуйста, помогите по этому вопросу.