Вероятно, нет единственного ответа на этот вопрос: это действительно зависит от того, какую рабочую нагрузку вы хотите выполнить, и насколько терпимо ваше приложение к сбоям.Когда точечный экземпляр должен быть прерван (с более высокой ставкой, больше нет в наличии ...), хорошо выполненный StatefulSet или любой другой соответствующий контроллер действительно выполнит свою работу, как и ожидалось, и обычно довольно быстро (в секундах).
Но учтите, что неправильно утверждать, что:
- вы будете получать уведомление о прерывании каждый раз,
- , и что уведомление всегда будет приходить за 2 минуты доэкземпляр спота прерван
См. саму документацию AWS https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#using-spot-instances-managing-interruptions и вот выдержка "[...] возможно, что ваш точечный экземпляр прерван до того, как предупреждение можетбыть доступными ".
Таким образом, реальный вопрос заключается в следующем: Насколько терпимо ваше приложение к удалению неподготовленных ресурсов?
Если у вас всего 2 EC2, на которых работают сотнииз каждого из стручков вы, скорее всего, НЕ захотите использовать точечные экземпляры, так как ваша служба будет сильно ухудшена, если один из 2 экземпляров будет прерван, до тех пор, пока не заработает новый или пока не произойдет перерисовка k8s.исправляет нагрузку (при условии, что другой экземпляр достаточно большой).Сотни EC2 с несколькими пакетами в каждом и немного превышающими правила автоматического масштабирования?Вы также можете просто пойти на это и использовать спотовую экономию!
Вы также захотите перепроверить поведение своих клиентов: при условии, что вы запускаете API на k8s, и перед тем, как отвечать, модули остановлены, сделайтеваши клиенты обрабатывают сценарий и запускают другой запрос или, по крайней мере, изящно завершают работу.
Но вы говорили о базах данных: так как насчет репликации?Это быстро и автоматизировано?Существует ли несколько копий данных, позволяющих потерять реплики от 1 до n? ..
Другими словами: для этого требуется хорошее планирование и тщательное тестирование в масштабе.Хорошей новостью является то, что это легко сделать: запустите нагрузочное тестирование и добровольно завершите работу экземпляра, ответы встретят вас там!