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

Инфраструктура, используемая в Amazon EKS

Я искал демонстрацию приложения, построенного на сервисе Amazons kubernetes, EKS. Однако я изо всех сил пытаюсь понять, какая инфраструктура используется под ней, поскольку у меня нет прямого доступа к AWS.

Мое понимание.

  1. Вы определяете кластер, независимо от того, используете ли вы его, это связано с затратами, поэтому я подозреваю, что главный узел всегда включен.
  2. Пока задание выполняется, вы оплачиваете стоимость ВМ, поэтому очевидно, что оно выполняется на ВМ.

Теперь мой вопрос:

Что происходит, когда вы вращаетесь вверх и вниз?

Прежде всего, будет ли скорость виртуальной машины снижена до того, что вам нужно, или всегда есть какая-то часть, позволяющая быстро масштабировать?

Во-вторых, если виртуальная машина останавливается, означает ли это, что экземпляр завершен или просто остановлен.


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

Ваше понимание примерно правильное. Существует «плоскость управления», которой управляет Amazon с помощью EKS (фактически, главные узлы для кластера kubernetes). Это невидимо для вас как владельца учетной записи AWS, и вы не можете самостоятельно добраться до этих базовых машин. Amazon взимает за это фиксированную ставку, и вы не можете уменьшить / уменьшить ее для снижения затрат.

Вы платите 0,20 доллара США в час за каждый создаваемый кластер Amazon EKS.

Ваш второй тезис о выполнении заданий не очень ясен. Вы не обязательно запускаете задания в Kubernetes - вы запускаете контейнеры в подах (и вы также можете запускать «задания», которые также являются подами с ограниченным сроком службы в зависимости от того, когда процесс завершается).

По умолчанию вам необходимо создать «рабочие группы» для вашего кластера EKS. Как вы их создадите, зависит от вас.

Как правило, вы создаете группу автомасштабирования для каждой рабочей группы, и вы можете сами определить, как эта группа автомасштабирования масштабирует рабочие узлы в вашем кластере. Это классические виртуальные машины EC2, как вы догадались, и вы можете получить к ним доступ с помощью SSH или SSM для пример. (Управляется вами).

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

Таким образом, обычно, когда масштабируется группа / рабочая группа автомасштабирования, она завершает работу экземпляра EC2. Когда появляется новый, ваша конфигурация запуска для рабочей группы должна иметь все необходимое, чтобы позволить новому экземпляру автоматически присоединиться к кластеру EKS и начать планирование модулей.

Итак, да, виртуальные машины действительно создаются / запускаются / инициализируются при масштабировании рабочей группы. Если это рабочие узлы EKS на базе Linux, они обычно запускаются довольно быстро. Windows обычно немного медленнее.

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

Надеюсь, это поможет вам прояснить ситуацию.

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

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