Отключить автоматическое перепланирование для модуля - PullRequest
0 голосов
/ 22 ноября 2018

В кластере k8s (GCP) во время автоматического масштабирования узлов мои модули автоматически перепланируются.Основная проблема в том, что они выполняют вычисления и сохраняют результаты в памяти при автоматическом масштабировании.Из-за перепланирования, модули теряют все результаты и задачи.

Я хочу отключить перепланирование для указанных модулей.Я знаю несколько возможных решений:

  • nodeSelector (не очень гибкий из-за динамической природы кластера)
  • бюджет разрушения модуля PDB

Iпопробовал PDB и установил minAvailable = 1, но это не сработало.Я обнаружил, что вы также можете установить maxUnavailable = 0, это будет более эффективным?Я не совсем понял поведение, если maxUnavailable, когда он установлен в 0. Не могли бы вы объяснить это больше?Спасибо!

Ссылка для более подробной информации - https://github.com/dask/dask-kubernetes/issues/112

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Вы указываете запросы ресурсов и лимиты?

0 голосов
/ 23 ноября 2018

Устанавливая максимальное недоступное значение 0, можно также использовать обходные пути.

gcloud container node-pools create <nodepool> --node-taints=app=dask-scheduler:NoSchedule
gcloud container node-pools create <nodepool> --node-labels app=dask-scheduler

Это создаст пул узлов с меткой app = dask-scheduler после того, как вpod spec, вы можете сделать это:

nodeSelector:
  app: dask-scheduler

И поместить планировщик dask в пул узлов, который не масштабируется автоматически.

Есть объект с именем PDB, где в его спецификации вы можетеустановите maxUnavailable в примере maxUnavailable = 1, это означает, что если вы определили 100 блоков, всегда убедитесь, что в случае maxUnavailable только один удален / истощен / переназначен за раз, если у вас есть 2 пакета, и выустановите maxUnavailable на 0, он никогда не удалит ваши стручки.Это планировщик

apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  name: zk-pdb
spec:
  maxUnavailable: 1
  selector:
    matchLabels:
      app: zookeeper
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...