Хабр, привет! Я Саша Краснов, CTO контейнерной платформы «Штурвал». Название статьи — это наша цель: мы с командой хотим сделать Kubernetes удобнее и доступнее для всех, кому это нужно. Для больших компаний — за деньги, а для маленьких команд — бесплатно.
Для этого мы недавно выпустили «Штурвал Community Edition»: просто взяли все технологии enterprise-версии и отдали всем желающим. Без урезаний по функциям и пробных периодов, регистрации и СМС.
Управление контейнерами требует очень глубоких компетенций и много опытных специалистов в штате. Малые и средние компании и отдельные разрабы могут просто бесплатно взять нашу community-версию, не экспериментируя и не перебирая решения из интернета. А когда и если нагрузки вырастут, то им не придется переучиваться и менять платформу.
Скачать «Штурвал CE» можно здесь. Если хотите больше информации — добро пожаловать под кат.
Немного истории
Все началось в 2019 году. Набравшись опыта с коммерческими платформами и «ванильным» Kubernetes, мы с коллегами-инженерами столкнулись с их ограничениями: сложности в закрытых средах (помните обновления зеркал в OpenShift 4.3?), нестабильное управление on-premise-кластерами в Rancher (если их больше 20 штук), отсутствие поддержки российских ОС, местами сложное масштабирование, vendor-lock (привет VMware Tanzu) и прочие.
Так мы стали сами допиливать отдельные кусочки, а позже это превратилось в «Штурвал» — полноценный продукт, написанный инженерами для инженеров. Сейчас «Штурвал» — это 31 модуль, более 100 образов контейнеров, несколько часов на сборку всего релиза, а еще с недавних пор полнофункциональная community-версия, доступная каждому.
Отвечаем на самый популярный вопрос — почему «Штурвал»? Это прямая отсылка к логотипу Kubernetes, чтобы каждому было понятно, для чего создан этот продукт. Ну и конечно, если хочешь, чтобы тебя точно запомнили — сделай название, которое породит много шуток :)
Почему «Штурвал», а не vanilla
Вот что такого есть в «Штурвале», что самому наклепать в кубере сложно и/или долго:
Готовый продукт из коробки.
В «Штурвале» уже собраны, проинтегрированы и протестированы более 30 модулей: сеть, логи, метрики, балансировщики, управление сертификатами, ролевая модель, управление конфигурацией узлов, анализ уязвимостей, провайдеры инфраструктуры, CSI-плагины и куча всего другого. Это работает сразу после установки.

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

Автоматизированная установка на разные платформы.
У нас есть провайдеры, позволяющие в автоматизированном режиме инсталлировать «Штурвал» как на Bare Metal серверах, так и на платформах «Базис.DynamiX», гипервизорах на базе oVirt (в том числе zVirt) и других.

Обновление по кнопке.
Обновление кастомной сборки Kubernetes — адский ад. Обновление «Штурвала», кстати, тоже, но мы это делаем сами, вам остается только кнопку нажать :)
Централизованное управление всей платформой.
«Штурвал» создан как единая точка управления множеством кластеров Kubernetes. Центральный кластер управляет доступами и конфигурациями клиентских кластеров, создает под них инфраструктуру, контролирует состав и конфигурацию всех узлов, собирает логи и метрики, обновляет их и многое другое.

Единая ролевая модель.
В продукте предусмотрено централизованное управление правами доступа не только в K8s, но и в платформенных сервисах. Еще мы можем от обратного построить «дерево» доступов — то есть показывать, куда выдан доступ конкретному сотруднику.

Управление узлами.
У нас есть возможность декларативно управлять конфигурацией узлов кластера — например, добавить корпоративные сертификаты, обновить конкретные пакеты и так далее. Подробнее я рассказывал об этом в прошлой своей статье на Хабре.

Работа с подами.
В платформе есть возможность контролируемой работы с подами без прямого сетевого подключения к кластеру. Можно выдать доступ разработчику, сделать exec и посмотреть логи в определенном неймспейсе в проде, но не давать сетевые доступы (обычно они очень долго согласовываются).

И на самом деле в платформе есть еще очень много чего. Все подробно описано в документации.
Зачем нам все это?
Честно, перед тем, как выпустить версию для сообщества, мы мно-о-ого спорили и сомневались, а стоит ли игра свеч. А что если вред от конкурентов будет больше? Мы же даем возможность посмотреть на весь наш функционал, без ограничений (кстати, один из первых запросов на community-лицензию прилетел именно от конкурентов :D). Или у нас не получится быстро обрабатывать весь поток входящих заявок? А вообще, нужно ли отдавать людям бесплатно то, что стоит несколько миллионов? На сколько это уменьшит наши продажи?
В итоге решили поделиться нашим инструментом, чтобы больше специалистов могли научиться работать с K8s и познакомились с основными возможностями, дали нам обратную связь, сделали платформу лучше. Дальше инженеры решат, продолжать ли использовать community-версию, выбрать коммерческую платформу или разработать что-то свое. В любом случае это будет развивать рынок и увеличивать количество людей в Kubernetes-сообществе (и специалистов, умеющих эксплуатировать «Штурвал», конечно же).
Мы пошли на то, что не делает никто из конкурентов, — начали отдавать «Штурвал» всем желающим вообще без урезания функциональности. Ограничение одно: до десяти рабочих узлов кластера любого размера в одной инсталляции. То есть сейчас каждый может бесплатно установить «Штурвал CE» и собрать на нем приличную инсталляцию даже в продуктиве.
Предупреждая вопрос, community-версия — это не Open Source. Мы отдаем полный функционал и, по разным причинам, сейчас не можем его выложить в виде исходников. Community Edition получает те же обновления, что и коммерческая платформа, причем даже чуть раньше. Но поддержка есть только в чате сообщества в Telegram, SLA доступно уже с коммерческой лицензией.
Смотрите полную «прожарку» нашего продукта, где мы подробно рассказали про все фичи и ответили на каверзные вопросы от Kubernetes-сообщества.
Полезные ссылки:
Пилотный выпуск нашего подкаста Лабораторная, посвященный созданию продукта
Туториал: что умеет платформа «Штурвал»?
Прожарка от Kubernetes-сообщества: сравниваем vanilla K8s и «Штурвал СЕ»
Присоединяйтесь к нашему Kubernetes-сообществу в Telegram ^_^