как назначить привязку к модулям Kubernetes для распределения модулей по всем объявлениям? - PullRequest
1 голос
/ 05 августа 2020

Какие правила следует использовать, чтобы назначить привязку модулям Kubernetes для распределения модулей по всем Зонам доступности? У меня есть регион с 3 зонами доступности и узлами в каждой из них. Я хочу убедиться, что каждый из 3 модулей распределен по всем 3 Зонам доступности.

1 Ответ

2 голосов
/ 05 августа 2020

Вы должны иметь возможность использовать метку topology.kubernetes.io/zone (например, topologyKey) и добавлять правила anti-affinity .

Это часть примера anti-affinity :

    podAntiAffinity:
      preferredDuringSchedulingIgnoredDuringExecution:
      - weight: 100
        podAffinityTerm:
          labelSelector:
            matchExpressions:
            - key: security
              operator: In
              values:
              - S2
          topologyKey: failure-domain.beta.kubernetes.io/zone

результат примера задокументирован как

Правило анти-сродства модуля говорит, что модуль не может быть запланирован на узел, если этот узел в той же зоне, что и модуль с меткой, имеющей ключ «security» и значение «S2».

Вместо метки security в этом примере вы можете использовать, например, app-name: <your-app-name> в качестве метки и используйте это в своем matchExpression.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...