Блеск и нищета 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/
    3. https://www.xelent.ru/blog/chto-takoe-orkestratsiya-konteynerov/
    4. https://dvps.blog/minimalnoie-sravnieniie-swarm-kubernetes-mesos-nomad-rancher/