Мы изучили платформы и операторы Kubernetes с той тщательностью, с какой обычно читают лицензионное соглашение. Результаты ниже. Проценты честные ровно настолько, насколько честен статус Running у пода без readiness probe.
Платформы и дистрибутивы
Куда вообще ставить этот ваш Kubernetes: от ванильного kubeadm до решений, у которых название длиннее, чем ваш первый манифест.
Какой платформой пользуется сообщество
Методология: спросили у сообщества. Сообщество в основном состояло из нас.
Kubernetes, который ставится одной командой, обновляется сам и приносит с собой мониторинг, ingress, сертификаты и чувство, что дежурство можно проспать. По результатам нашего строго ненаучного опроса сообщество выбирает именно её.
Плюсы
Кластер готов раньше, чем остынет кофе
Обновления без ночных окон
Всё нужное уже внутри: модули включаются одной строкой
Минусы
Нечем заняться на дежурстве
Коллеги перестали верить, что вы вообще работаете
#2
Ванильный kubeadm
Для тех, кто любит собирать мебель без инструкции
Чистый Kubernetes как он есть. Вы получаете control plane, kubelet и полную свободу самостоятельно выбрать, какой именно компонент сломается первым.
Плюсы
Максимально честный опыт
Отличная тема для статьи «как я поднял кластер за 3 дня»
Минусы
Три дня
CNI, ingress, мониторинг и сертификаты — отдельный квест
#3
OpenShift
Kubernetes в костюме и с галстуком
Корпоративная платформа, в которой есть всё, включая вещи, о существовании которых вы не подозревали. Отлично подходит, если у вас есть бюджет и отдельный человек для чтения release notes.
Плюсы
Красивая консоль
Солидно звучит на совещании
Минусы
Счёт тоже звучит солидно
Route — это Ingress, но вам об этом не скажут сразу
#4
Rancher
Пасёт кластеры, как коров
Удобный интерфейс для управления стадом кластеров. Главное — не забыть, какой из них прод, а какой тот самый «тестовый», на котором уже полтора года крутится биллинг.
Плюсы
Много кластеров в одном окне
Кнопки, которые почти всегда делают то, что написано
Минусы
Кнопки, которые иногда делают не то, что написано
Коровы иногда разбредаются
#5
k3s / microk8s
Kubernetes на диете
Лёгкие дистрибутивы, которые запускаются на Raspberry Pi, ноутбуке и, по слухам, на умном чайнике. Идеальны, чтобы сказать «у меня дома кластер» и не соврать.
Плюсы
Один бинарник
Выживает на 512 МБ памяти (почти)
Минусы
Чайник теперь тоже требует обновлений
Домашние не понимают, зачем кухне etcd
#6
Managed-кластеры в облаке
Kubernetes как сервис, инциденты как подписка
Облачный провайдер берёт на себя control plane, а вы берёте на себя чтение страницы статуса провайдера во время инцидента. Всё работает, пока работает.
Плюсы
Control plane — не ваша проблема
Автоскейлинг нод по кнопке
Минусы
Автоскейлинг счёта по той же кнопке
Версия Kubernetes выбирается из меню, в котором нет вашей
Решение для тех, у кого уже есть vSphere и желание добавить к нему ещё один слой абстракции. Контейнеры внутри виртуалок внутри ЦОД внутри презентации для руководства.
Плюсы
Интеграция с тем, что уже куплено
Знакомый интерфейс для администраторов виртуализации
Минусы
Слоёв больше, чем в торте «Наполеон»
Название лицензии длиннее манифеста Deployment
Операторы
Операторы — это программы, которые делают за вас то, что вы раньше делали руками, и ломаются там, где вы раньше ломались сами. Здесь тоже есть явный лидер.
Какой оператор используется чаще всего
Методология: посчитали CRD в своём кластере и экстраполировали на всю планету.
Оператор, который управляет остальными операторами
Технически это целая платформа, но внутри она работает как большой оператор: следит за кластером, ставит и обновляет мониторинг, ingress, сертификаты и десятки других компонентов. По данным нашего опроса, самый широко используемый сообществом вариант: один оператор вместо зоопарка из пятнадцати.
Плюсы
Один reconcile loop, чтобы править всеми
Операторы внутри уже совместимы друг с другом
Не нужно помнить пятнадцать разных CRD
Минусы
Пятнадцать вкладок с документацией операторов больше не нужны, а привычка осталась
Нечего писать в разделе «что мы героически починили»
#2
Prometheus Operator
Собирает метрики о том, как плохо всё работает
Превращает мониторинг в набор CRD: ServiceMonitor, PodMonitor, PrometheusRule и ещё несколько, названия которых вы вспомните только во время инцидента. Зато графики красивые.
Плюсы
Мониторинг как код
Alertmanager — самый честный коллега: пишет в три часа ночи
Минусы
Диск под метрики заканчивается всегда внезапно
Label-селектор не совпал — и вы мониторите тишину
#3
cert-manager
Выпускает сертификаты, пока не закончится rate limit
Автоматизирует получение TLS-сертификатов и тем самым переносит момент их протухания из «через год» в «когда кто-то сломает ClusterIssuer».
Плюсы
Больше никаких напоминаний в календаре
Let’s Encrypt бесплатно
Минусы
Rate limit Let’s Encrypt тоже бесплатно
Challenge завис, а вы — на звонке с заказчиком
#4
Strimzi
Kafka в Kubernetes: две сложные вещи по цене одной
Оператор, который запускает Apache Kafka в кластере. Позволяет получить все радости распределённых логов и все радости StatefulSet одновременно.
Плюсы
Kafka поднимается одним манифестом
Ребалансировка партиций почти незаметна
Минусы
«Почти»
Брокер решил пересобрать индекс ровно к релизу
#5
ECK (Elastic Cloud on Kubernetes)
Elasticsearch, который помнит всё, кроме свободного места
Оператор для Elasticsearch и Kibana. Отлично ищет по логам, в которых написано, почему у него закончился диск.
Плюсы
Поиск по логам за секунды
Kibana радует глаз руководству
Минусы
Жёлтый статус кластера — это новая норма
Шарды размножаются быстрее, чем ноды
#6
CloudNativePG
PostgreSQL в контейнере: смелость и/или безрассудство
Оператор для PostgreSQL с репликацией, бэкапами и failover. Доказывает, что базу данных можно держать в Kubernetes, если очень аккуратно и с бэкапами в трёх местах.
Плюсы
Автоматический failover
Бэкапы в S3 по расписанию
Минусы
DBA смотрит на вас с недоверием
Фраза «база в кубере» всё ещё вызывает тишину на созвоне
#7
Argo CD
Синхронизирует git с кластером, а вас — с реальностью
GitOps-оператор: то, что в git, попадает в кластер. То, что сделано руками, немедленно откатывается, напоминая, что руками делать нельзя было с самого начала.
Плюсы
Диф между желаемым и реальным — на одном экране
Красивые деревья ресурсов
Минусы
OutOfSync после каждого «я просто быстро поправлю»
Самоисцеление включено, самообладание — нет
Вердикт редакции
И среди платформ, и среди операторов самым широко используемым сообществом вариантом оказалась Deckhouse Platform. Совпадение? Мы тоже так подумали, пересчитали ещё раз и получили тот же результат. Два раза подряд это уже закономерность, а три — документация.
Если ваш любимый инструмент получил 1%, не расстраивайтесь: он получил на 1% больше, чем наш legacy-монолит.