Аудит Kubernetes для сайта Vipavenue
Онлайн-версия крупнейшей региональной сети магазинов брендовой одежды AVENUE VIP, в которую входит 16 бутиков по всей стране
Какие были задачи?
После переноса приложения в Kubernetes вместо улучшения работы оно стало тормозить, а загрузка замедлилась. Команда VIPAVENUE попросила нас выяснить причины сбоев и проблемы развертывания.
Решение
Для аудита были определены следующие области:
- Infrastructere as code
- Конфигурации кластера k8s
- СI/CD процессы
- Система мониторинга и менеждмента инцидентов
- Система резервирования и резервного копирования
Схема работы проекта
Направления исследования
- Infrastructure-as-Code
- Кластер Kubernetes
- CI/CD-процессы
- Системы мониторинга
Что проверяем
- Покрытие всех инфраструктурных компонентов кластера;
- Покрытие всех инфраструктурных компонентов облака;
- Воспроизводимость инфраструктуры посредством IaC;
- Актуальность текущего кода IaC;
- Механизмы деплоя инфраструктурных компонентов.
Обнаруженные проблемы
- Отсутствие полного покрытия проекта кодом
- Некоторые описания проекта в коде неактуальны
- Нарушена логика построения IaC
Все это может привести к потере конфигурации и сильно увеличить время восстановления после сбоев.
Что проверяем
- Конфигурации worker нод;
- Жизненный цикл приложений в кластере;
- Надежность и стабильность кластера.
В нашем случае команда проекта использует Managed Cluster. Иными словами, управляющая часть находится под управлением хостера. Это снижает, но не исключает риск каких-либо ошибок. В итоге мы выявили, что некоторые конфигурации были настроены неправильно, что и влияло на работу приложения.
- Недостаточное количество реплик у потенциально критичных для проекта pod’ов
- Недостаточное количество ресурсов у worker-нод
- Использование supervisord внутри контейнеров
- Дефолтные настройки у некоторых критически важных конфигураций кластера
Что проверяем
- Логика пайплайнов;
- Инструменты;
- Шаблоны конфигурация и структура;
- Безопасность.
Аудит показал, что процессы сборки и доставки кода в Kubernetes на проекте работали штатно. Мы посоветовали только организовать дополнительный мониторинг, чтобы во время деплоя и после него была возможность отслеживать ошибки и сбои.
Аудит показал, что процессы сборки и доставки кода в Kubernetes на проекте работали штатно. Мы посоветовали только организовать дополнительный мониторинг, чтобы во время деплоя и после него была возможность отслеживать ошибки и сбои.
Что проверяем
- Удобство набора инструментов для мониторинга k8s;
- Наличие всех необходимых метрик;
- Наличие всех необходимых алертов;
- Жизненный цикл алертов и инцидентов;
- Удобство и актуальность дашбордов.
Обнаруженные проблемы
- Недостаточное покрытие проекта мониторингом и нехватка критически важных метрик
- При этом излишнее покрытие некоторых систем алертами, что может привести к потере реальных инцидетов
- Отсутствие ранбуков для инцидентов
- Отсутвие дашбордов в Grafana для анализа инцидентов
Что проверяем
- Покрытие инфрастурктуры бекапами
- Логичность текущей схемы бекапов
- Замеряли потенциальные показатели RTO и RPO
- Ротация бекапов настроена, но местами не работает
- Полное отсутствие мониторинга процессов резервного копирования
Результат
- Создали подробные схемы их действующей инфраструктуры — чтобы им было проще исправлять недочеты.
- Подготовили детальный отчет обо всех ошибках и слабых местах в инфраструктуре — чтобы в будущем их не допускать.
- Составили приоритизированный план дальнейших действий — чтобы как можно скорее решить проблемы в порядке от самых критичных до самых безобидных.
- Провели онлайн-консультацию по итогам аудита, на которой презентовали результаты нашего анализа: прошлись по самым острым моментам, подсказали, как исправить ситуацию, и ответили на вопросы.
Упомянутые услуги
Ответим на заявку в ближайшие 24 часа. А еще мы можем проконсультировать вас по телефону +7 800 555-91-99, электронной почте info@itsumma.ru или в Telegram-чате.