Автомасштабирование и управление ресурсами в Kubernetes

  • Auditorium: PUBLIC CENTRE LOBBY
  • Category: Development
  • Section: Stachka.DevOps

Description:

На данный момент (февраль 2019) у нас, компании Флант, в production-окружениях Kubernetes функционируют 55 проектов, в состав которых входят более 1000 различных приложений в 70+ кластерах.

За время эксплуатации этих приложений, мы поняли, что каждому приложению необходимо рассчитать и спрогнозировать требуемые ресурсы для обеспечения их стабильной и корректной работы, однако на практике это невозможно, так как регулярно меняется профиль нагрузки, происходят постоянные изменения в кодовой базе и архитектуре приложения. А это значит, что нам необходимо непрерывно менять конфигурацию кластера, чтобы соответствовать запросам приложений.

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

  • Какие метрики нам важны для оценки ресурсов, требуемых приложениям?
  • Как соблюсти требования к SLA и SLO приложения?
  • Как, используя полученные метрики, обеспечить работу сервиса, применив механизмы автомасштабирования Kubernetes?

Ответив на эти вопросы и обеспечив их реализацию в production, мы поделимся практическими рекомендациями, как, используя Kubernetes в качестве фундамента, обеспечить высокую доступность приложений (PDB, QoS, PriorityClass...) и гарантировать их максимальную производительность (VPA, HPA, cluster-autoscaler).

Данный доклад будет вам полезен, даже если у вас одно приложение в кластере из трех нод.

About speakers