Блеск и нищета Kubernetes: достоинства и недостатки самой популярной DevOps-технологии для Big Data систем

Автор Категория ,
Блеск и нищета Kubernetes: достоинства и недостатки самой популярной DevOps-технологии для Big Data систем

Сегодня, когда ИТ-компании распиливают монолиты своих Big Data систем на микросервисы, а DevOps-подход совершает свое победное шествие по локальным и облачным кластерам, Kubernetes стал, пожалуй, самой востребованной технологией 2019 года. Однако, K8s нужен далеко не каждому проекту. В этой статье мы поговорим о достоинствах и недостатках кубернетис, в каких случаях он не нужен и какие есть альтернативы этой популярной платформе управления контейнеризованными приложениями.

Плюсы Kubernetes

Кубернетис считается системой или даже платформой оркестрации контейнеров с самыми широкими функциональными возможностями [1]. С точки зрения использования K8s в Big Data системах наиболее значимы следующие преимущества Kubernetes [2]:

  • автоматическая балансировка нагрузки с помощью постоянного мониторинга сведений о производительности и использовании ресурсов и соответствующее распределение работающих приложений по всему виртуальному кластеру;
  • наличие API и интерфейса командной строки для ручного управления распределением контейнеров и нагрузкой между узлами системы;
  • обеспечение информационной безопасности за счет механизма сетевых политик и ролевой авторизации пользователей по ключу;
  • гибкая кастомизация метаданных для своих сервисов, подов и других сущностей, что весьма удобно в многокомпонентных инфраструктурах, какими часто являются Big Data системы;
  • наличие средств логической изоляции приложений, команд и рабочих нагрузок в одном кластере с целью предоставления запущенным приложениям и командам минимально необходимого набора привилегий для использования ресурсов;
  • поддержка распределенных и сетевых файловых систем, таких как, например, HDFS для Apache Hadoop, благодаря изначальной ориентации на кластеры Big Data;
  • наличие дэшбордов – наглядных витрин с важными показателями (dashboard).

 

Минусы Kubernetes

При всех достоинствах K8s эта система управления контейнерными кластерами имеет следующие недостатки, которые значительно усложняют ее использование на практике [2]:

  • большое число специфических понятий и взаимозависимых сущностей (под, сервис, кубелет, контроллер и т.д.);
  • скудная документация, которая недостаточно подробно описывает систему;
  • добавление дополнительного уровня абстракции увеличивает сложность и хрупкость системы;
  • недостаток и высокая стоимость опытных специалистов, в совершенстве владеющих этой DevOps-технологией.

 

Когда использовать K8s

Тем не менее, Kubernetes – отличный вариант для Big Data проектов, когда требуется запускать множество контейнерных кластеров, работать с высоконагруженными сетями, а также с облачными PaaS/IaaS-решениями. Кроме того, ее широкие функциональные возможности и гибкие политики сетевой безопасности делают K8s практически идеальным инструментом для развертывания масштабируемых систем Big Data и построения надежного конвейера непрерывной интеграции и поставки приложений (CI/CD pipeline).

 

Альтернативы кубернетис

Итак, большой и сложный K8s не нужен при следующих условиях:

  • число управляемых контейнеров невелико (до 100);
  • нет желания или возможности разбираться с особенностями внутренней работы Kubernetes;
  • требуется быстрый и недорогой DevOps-инструмент для обеспечения CI/CD pipeline.

Существует множество альтернатив Kubernetes: Docker Swarm, Apache Mesos, Nomad, Fleet, Aurora, Rancher, Amazon EC2 Container Service, Microsoft Azure Container Service [3]. Данные системы оркестрации контейнеров не столь масштабны, как K8s, однако они выполняют наиболее востребованные функции быстрого развертывания приложений и запуска микросервисов на виртуальных кластерах, что существенно облегчает жизнь администраторам Big Data систем и DevOps-инженерам [4]. А для чего вообще нужна оркестрация контейнеров в Big Data, а также каковы преимущества и недостатки виртуальной контейнеризации, читайте в нашей следующей статье.

алтернативы Kubernetes, контейнеры, оркестраторы
Самые популярные системы оркестрации контейнеров

Источники

  1. https://ru.wikipedia.org/wiki/Kubernetes
  2. https://blog.strangeman.info/devops/docker/2016/08/21/docker-orchestration-summary.html
  3. https://www.xelent.ru/blog/chto-takoe-orkestratsiya-konteynerov/
  4. https://dvps.blog/minimalnoie-sravnieniie-swarm-kubernetes-mesos-nomad-rancher/