Назад | Перейти на главную страницу

Как приостановить экземпляры узлов GKE без удаления и повторного создания узлов

У нас есть кластер GKE с включенным автомасштабированием. У нас есть планировщики Google, которые позволяют отключать экземпляры ежедневно в определенное время. Это также отключает узлы GKE. Поскольку в этих кластерах включено автоматическое масштабирование и установлено минимальное количество узлов, узлы воссоздаются для соответствия минимальному уровню даже после того, как они были отключены сценарием. Следовательно, мы временно делаем счетчик узлов равным 0 в кластере и вручную меняем его обратно на требуемое число, когда узлы должны быть запущены. Когда счетчик узлов становится равным 0, исходные узлы удаляются из кластера, и при запуске узлов создаются новые. Есть ли способ, которым узлы можно просто закрыть с помощью сценариев (как обычные экземпляры GCP) вместо удаления и повторного создания? В группе автомасштабирования AWS есть функция, в которой можно изменить настройки приостановки. Так есть ли что-нибудь подобное и в GCP?

Когда вы используете GKE Cluster Autoscaler вы измените количество узлов, указанное в вашей конфигурации CA, на основе некоторых показателей.

Автоматическое масштабирование кластера работает для каждого пула узлов. Когда вы настраиваете пул узлов с автоматическим масштабированием кластера, вы указываете минимальный и максимальный размер для пула узлов. Автоматическое масштабирование кластера автоматически увеличивает или уменьшает размер пула узлов на основе запросов ресурсов (а не фактического использования ресурсов) модулей, работающих на узлах этого пула узлов. Он периодически проверяет состояние модулей и узлов и принимает меры.

Как упоминалось в Документы GKE - Уменьшение размера кластера.

Не используйте одновременно команды Cluster Autoscaler и ручного изменения размера в пуле узлов, так как это может вызвать взаимодействия, которые приведут к нестабильному и / или неправильному размеру пула узлов.

В этой ситуации, когда вы вручную изменяете пул узлов на меньший, чем было указано в конфигурации, Cluster autoscaler Механизм работал так, как задумано, и изменение количества узлов на минимальное.

В качестве обходного пути для этой ситуации вы можете отключить Cluster Autoscaler перед изменением размера пула узлов вручную. Когда вам понадобится автомасштабирование узлов, вам нужно будет запустить CA очередной раз.

Просто для дополнительной информации, когда вы используете Cluster Autoscaling вы также можете использовать Автоматическое масштабирование горизонтального модуля.