GKE cluster-autoscaler не может масштабировать пул узлов на основе принадлежности узла - PullRequest
1 голос
/ 20 марта 2020

Предварительные условия:

  1. GKE 1.14 * или 1.15 * последняя стабильная

  2. помеченные пулы узлов, созданные администратором развертывания

  3. Приложение, которому требуется постоянный том в режиме RWO

  4. Каждое развертывание приложений отличается, его следует запускать одновременно с другими и в 1 модуль на состояние 1 узла.

  5. Каждый модуль не имеет реплик, должен поддерживать обновляемые обновления (от руля).

Дизайн:

Шаблон администратора развертывания для кластера и пулов узлов,

помечены пулы узлов, каждый узел имеет одинаковую метку (после первоначального создания)

каждое новое приложение развертывается в новом пространстве имен, что позволяет иметь уникальный сервисный адрес,

каждый новый выпуск может быть «новой установкой» или «обновлением существующего» на основе метки узла (метки узлов могут быть изменены kubectl во время установки или обновления приложения)

Проблема:

Работает обычно, если кластер создается из интерфейса консоли браузера. Если кластер был создан при развертывании GCP, возникает ошибка (проверена на шаблоне nginx из документов k8s с привязкой узла, даже без подключенного диска):

Warning  FailedScheduling   17s (x2 over 17s)  default-scheduler   0/2 nodes are available: 2 node(s) didn't match node selector.
  Normal   NotTriggerScaleUp  14s                cluster-autoscaler  pod didn't trigger scale-up (it wouldn't fit if a new node is added): 2 node(s) didn't match node selector    

В чем проблема? Диспетчер развертывания создает неправильные метки?

affinity used:
    #   affinity:
    #     nodeAffinity:
    #       requiredDuringSchedulingIgnoredDuringExecution:
    #         nodeSelectorTerms:
    #         - matchExpressions:
    #           - key: node/nodeisbusy
    #             operator: NotIn
    #             values:
    #             - busy

1 Ответ

0 голосов
/ 26 марта 2020

спасибо за ссылку на службу поддержки Google, лучше спросить их напрямую.

О метках узлов - конечно, они есть. Проблема, связанная с тем, что метка не работает для планировщика, если она была создана администратором развертывания.

...