Все девопсы были в шоке, когда узнали! Чтобы резко сократить расходы на Kubernetes, нужно всего лишь…
Несмотря на то, что мы немножко иронизируем, сейчас будут реальные способы сэкономить. И бонусом список часто встречающихся ошибок. Все это — из нашей практики.
Многие думают, что Kubernetes — это дорого. И это действительно так без должного подхода.
Куда уходят деньги?
Основные статьи расходов Kubernetes — это вычислительные ресурсы, сеть, хранилище данных и инструменты мониторинга. По нашим наблюдениям, многие компании совершают одинаковые ошибки:
резервируют слишком много ресурсов, опасаясь нехватки мощности;
не контролируют межзонный трафик и платят за ненужные передачи данных;
хранят десятки терабайтов ненужных логов и старых бэкапов;
используют одни и те же ресурсы для продакшна и тестирования, хотя их можно разнести.
Все это увеличивает счет в 2-3 раза. Как можно экономить?
Использовать автоскейлинг. Это один из самых мощных инструментов экономии. Правильная настройка автоматического масштабирования может снизить затраты на 30-50%.
Мы используем Cluster Autoscaler, который динамически добавляет или удаляет узлы, чтобы кластер не потреблял лишние ресурсы. Например, если у клиента нагрузка резко возрастает раз в сутки, автоскейлинг позволяет выделять дополнительные машины на 2-3 часа, а затем отключать их.
Также важно настраивать горизонтальное и вертикальное масштабирование. HPA увеличивает количество подов в зависимости от нагрузки, а VPA корректирует выделенные ресурсы для подов в реальном времени.
Оптимизировать requests и limits. Частая ошибка — выставлять слишком высокие requests и limits на CPU и RAM. Это приводит к тому, что кластер резервирует больше ресурсов, чем реально используется, а счета растут.
Здесь на помощь может прийти инструмент Deckhouse Vertical Pod Autoscaler, который анализирует потребление ресурсов и подсказывает оптимальные параметры requests/limits. Это способно помочь снизить резервирование ресурсов на 40% без потери производительности.
Использовать spot-инстансы. Это дает реальную экономию до 70%. Многие компании их опасаются, потому что они могут отключиться в любой момент. На практике мы видим, что правильно настроенные spot-инстансы позволяют запускать некритичные процессы с огромной экономией.
К примеру, можно использовать spot-инстансы в Deckhouse Kubernetes Engine, чтобы запускать задачи машинного обучения и CI/CD. А для работы без сбоев важно:
выносить на них фоновые и временные задачи (бэкапы, аналитические расчеты, тесты);
использовать инструменты управления отказами.
Что еще важно? Снизить расходы на сеть и хранение данных, а также оптимизировать CI/CD. Подробнее об этом рассказали в статье.
#углубились_в_тему
Облакотека /
Оставить «бусты»
Обсуждение 0
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram