Назад

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

Дата публикации: 6 августа 2020
Реализован проект аудита 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-среду для своего программного продукта, оптимизированную структуру для разработки и доработки приложения, контролируемую ИТ-инфраструктуру, готовую к масштабированию и отказам.

Нужна помощь консультанта?

Заказать звонок

Оставьте свои данные для того, чтобы специалист с вами связался.

*нажимая на кнопку, Вы даете согласие на обработку персональных данных
Быстрое внедрение включает:
На сервере установлено следующее ПО (доступно при подключении по протоколу RDP):
Также настроено:
Перед внедрением клиент предоставляет информацию о пользователях (логины и пароли). После завершения работ, клиенту высылается инструкция и ярлык для подключения.
Индивидуальное внедрение по ТЗ клиента обсуждается отдельно.