Кластеры автомасштабирования

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

Автоматически изменять размер кластера Kubernetes при выполнении одного из следующих условий:

  1. Некоторые модули не могут работать в кластере из-за нехватки ресурсов.
  2. В кластере есть ноды, которые долгое время недоиспользовались, и их поды можно разместить на других существующих нодах.

Решение для автоматического масштабирования узлов Kubernetes — это инструмент, который автоматически масштабирует кластер Kubernetes в соответствии с требованиями наших рабочих нагрузок. Поэтому нет необходимости вручную создавать (или удалять) новый узел Kubernetes каждый раз, когда он нам нужен.

Карпентер автоматически предоставляет новые узлы в ответ на непрограммируемые модули. Он делает это, наблюдая за событиями в кластере Kubernetes, а затем отправляя команды базовому облачному провайдеру. Он предназначен для работы с любым кластером Kubernetes в любой среде.


Архитектура Cluster Autoscaler

  • Средство автомасштабирования кластера ищет модули, которые нельзя запланировать, и узлы, которые недостаточно загружены.
  • Затем он имитирует добавление или удаление узлов, прежде чем применить изменение к вашему кластеру.
  • Реализация облачного провайдера AWS в Cluster Autoscaler контролирует .DesiredReplicas поле ваших групп автоматического масштабирования EC2.
  • Средство автоматического масштабирования кластера Kubernetes автоматически регулирует количество узлов в вашем кластере при сбое или перепланировании модулей pod на другие узлы.
  • Средство автомасштабирования кластера обычно устанавливается в кластере как развертывание.

изображение.png


Архитектура Карпентера

Карпентер работает с планировщиком Kubernetes, отслеживая входящие модули на протяжении всего жизненного цикла кластера. Он запускает или останавливает узлы для оптимизации доступности приложений и использования кластера. Когда в кластере будет достаточно емкости, планировщик Kubernetes разместит входящие модули как обычно.

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

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

изображение.png

Карпентер утверждает, что предлагает следующие усовершенствования:


Предназначен для обеспечения полной гибкости облака

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


Подготовка узла без групп

Карпентер управляет каждым экземпляром напрямую, без использования дополнительных механизмов оркестровки, таких как группы узлов. Это позволяет повторять попытку в миллисекундах, а не в минутах, когда емкость недоступна. Это также позволяет Карпентеру использовать преимущества различных типов экземпляров, зон доступности и вариантов приобретения без создания сотен групп узлов.


Применение планирования

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

Спасибо, что дочитали мою статью до конца. Надеюсь, сегодня вы поняли что-то уникальное. Если вам понравилась эта статья, поделитесь ею со своими друзьями, а если у вас есть предложения или мысли, которыми можно поделиться со мной, пишите в поле для комментариев.

Следуйте за мной и делитесь своими мыслями,
Гитхаб
LinkedIn
Твиттер

Вышеупомянутый блог представлен в рамках «Devtron Hacktoberfest 2022», проводимого Девтрон. Посмотрите их репозиторий на Github и поставьте звезду ⭐️, если вам это нравится. Следите за Devtron на LinkedIn,