Андрей Климентьев
Solutions Engineer @ Флант
Нижний Новгород
Дмитрий Столяров
Технический директор и соучредитель @ Флант
Ульм
Сидоров Андрей
DevOps-инженер @ Флант
Симферополь

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

  • Зал: ФОЙЕ ОПЦ
  • Категории: Разработка
  • Секции: Стачка.DevOps

Описание:

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

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

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

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

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

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

О спикерах

Андрей Климентьев

Solutions Engineer @ Флант
Нижний Новгород

Solutions Engineer RnD команды «Флант». В мир Linux пришёл, когда systemd уже правил бал. 3 года с Kubernetes и Docker в нагруженных проектах. Программирует на bash, Python 3, Go. Предпочитает говядину.

Дмитрий Столяров

Технический директор и соучредитель @ Флант
Ульм

Технический директор и соучредитель компании "Флант". 14 лет с Linux, 10 лет эксплуатации, более 30 highload-проектов. Программирует на C++, PHP, Python и Bash. Любит C и Ruby. Читает на Go. Активно использовал Chef, но потерял в него веру и осваивает Ansible. Понимает Docker и Kubernetes. Архитектор и соавтор: nginx-http-rdns, pam_docker, php_fpm_docker, werf и loghouse.

Сидоров Андрей

DevOps-инженер @ Флант
Симферополь

Увлеченный DevOps-инженер. С самого прихода в компанию «Флант» плотно подсел на Kubernetes и сотоварищей в лице Docker, Prometheus, Helm. Практикую полный цикл CI/CD с GitLab. Участвовал в разработке loghouse.