Оператор Istio: как найти путь к элементу списка по ключу/значению с помощью k8s.overlays

avatar
neopug
9 августа 2021 в 04:10
120
0
0

Я пытаюсь исправить podAntiAffinity для istio ingressgateway через манифест IstioOperator и k8s.overlays, но всегда получаю что-то вроде:

podAffinityTerm не является допустимым элементом пути ключ:значение Вот мой конфиг:

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  profile: default
  values:
    gateways:
      istio-ingressgateway:
        podAntiAffinityTermLabelSelector:
        - key: app
          operator: In
          values: istio-ingressgateway
          topologyKey: topology.kubernetes.io/zone
  components:
    ingressGateways:
      - name: istio-ingressgateway
        enabled: true
      - name: istio-ingressgateway-private
        enabled: true
        k8s:
          overlays:
            - kind: Deployment
              name: istio-ingressgateway-private
              patches:
                - path: metadata.labels.app
                  value: istio-ingressgateway-private
                - path: spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.[podAffinityTerm.topologyKey:topology.kubernetes.io/zone].labelSelector.matchExpressions[0].values[0]
                  value: istio-ingressgateway-private

Точная ошибка:

Ошибка: путь spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.[podAffinityTerm.topologyKey:"topology.kubernetes.io/zone"].labelSelector.matchExpressions.[0].values.[0]: [podAffinityTerm не является допустимым элементом пути ключ:значение, путь spec.template.spec.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.[podAffinityTerm.topologyKey:"topology.kubernetes.io/zone"].labelSelector.matchExpressions.[0].values.[ 0]: [podAffinityTerm не является допустимым ключом: элемент пути значения

Кроме того, он отлично работает, если я использую индекс вместо пары ключ/значение.
Спасибо за любые советы.
P.S. Версия Istio 1.10.3

Источник

Ответы (0)