Реализован проект аудита Kubernetes-кластера

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

Задачи клиента

Основной задачей клиента была стабильность работы разрабатываемого программного продукта, основной которого, было приложение на PHP.

Требования клиенты были следующие:

  • построение высоконагруженной системы
  • реализация ручного CDN для пользователей из различных регионов
  • высокая доступность сервиса, несмотря на сбои частей инфраструктуры
  • возможность быстрого изменения кода
  • тестирование кода без влияния на продакт-среду
  • возможность получения онлайн статистики по производительности приложения и инфраструктуры

Как мы решили задачи клиента

В результате аудита ИТ-структуры клиента было выявлено:

  • 3 воркер ноды кластера;
  • 3 мастера;
  • 1 sandbox;
  • 1 ingress;
  • неоптимальный процесс применения изменений в stage- и prod-среде;
  • наличие ошибок в процессе CD в связи с наличием множества ручных исправлений в кластере.

Рисунок 1 - Схема реализации проекта

Для решения задач клиента были выбраны следующие технологии:

Для реализации высоконагруженной и высокодоступной системы был выбран внешний балансировщик CloudFlare, распределявший распределял трафик пользователей между двумя прокси на базе Traefik - они выступали как ингрессы в кластере и направляли трафик в приложения.
Ингрессы располагались в различных регионах в нескольких дата-центрах, что решало проблему ручного CDN.
Описание всей инфраструктуры было вынесено в Git и любые изменения в кластер проводились исключительно через CI, что позволило решить проблему неудачных деплоев и унифицировать stage и prod.
В качестве масштабирования сервиса были нивелированы роли sandbox и выделены отдельно роли ингресс. Между ними перераспределены ресурсы таким образом, чтобы более оптимально использовать серверные мощности.
Для сбора данных по загрузке ресурсов и отслеживания состояния кластера использовался Prometheus Operator, который мониторил состояние внутри кластера, а также Zabbix, который мониторил состояние ресурсов вне кластера (ноды кластера, доступность веб-приложений).

Результат проекта

Таким образом, в результате проведенного аудита и оптимизации, клиент получил: готовую prod-среду для своего программного продукта, оптимизированную структуру для разработки и доработки приложения, контролируемую ИТ-инфраструктуру, готовую к масштабированию и отказам.

Заказ демонстрации по продукту

обязательные поля
*
Фамилия, имя, отчество:

Как к Вам обращаться?

 
  
Название организации:

Нужно нашим специалистам

 
  
Ваш E-mail адрес:

Необходим для обратной связи и оповещений

 
*
Ваш номер телефона:

Введите код и номер телефона

 
* Антиробот:
Введите ответ

Есть вопросы?

Закажите звонок специалиста!

Есть вопросы?

Закажите звонок специалиста!
*нажимая на кнопку, Вы даете согласие на обработку персональных данных