Какие есть тенденции в Kubernetes? Почему за операторами будущее? Стоит ли разработчикам изучать Куб? Об этом и других интересных вещах поговорили с Павлом Селивановым, соавтором курса «Kubernetes: Мега-поток».
Павел Селиванов
Developer Advocate в VK Cloud Solutions
— Certified Kubernetes Administrator,
— Автор нескольких курсов по Kubernetes и DevOps,
— Регулярный докладчик на Российских и международных IT-конференциях.
Тенденции Kubernetes
— Какие тенденции для Kubernetes ты сейчас видишь?
— Основная тенденция, которая наметилась с момента появления Kubernetes: Куб — не просто инструмент для запуска Docker-контейнеров. Kubernetes — это операционная система, просто кластерная. У него есть все признаки, что и у Linux: стандартизация, стандартные API, он расширяемый, под него можно создавать дополнительные продукты. Скоро эта тенденция станет очевидна всем.
Я думаю, что Kubernetes сам по себе уйдёт на второй план, а вперёд выйдут написанные под него инструменты: планировщики, базы данных, хранилища. Это приведёт к тому, что будут развиваться и подходы к использованию Куба для управления инфраструктурой, и продукты для поддержки Kubernetes.
— Как курс «Kubernetes: Мега-поток» от Слёрма отвечает этой тенденции?
— Изначально «Мега» («Kubernetes: Мега-поток» — прим. редакции) задумывалась, как углублённое погружение под капот Kubernetes. Потом курс наполнился практическими вещами, которые будут необходимы в Кубе, когда инфраструктура вырастет. Например, как организовать разработчикам доступ в кластер, если их много. Рассылать файлики с доступами удобно на 5–10 человек, но не на 100.
Со временем и я, и Сергей Бондарев добавили в «Мегу» множество практических вещей, с которыми мы сами сталкиваемся при работе с более крупными инсталляциями. Кстати, некоторые фишки Сергея по CI/CD я с чистой совестью забрал себе в практику, так что курс полезен даже для спикеров. Например, я использую Job, который собирает лог с кластера в случае, если релиз Helm прошёл неуспешно. Именно практичность «Меги» отвечает современным направлениям.
— А что не отвечает?
— В курсе остались вещи, которые можно назвать рудиментарными. Например, подача материала в теме об операторах и контроллерах. В «Меге» я просто рассказываю, как они работают под капотом. Но у этих тем мало практической пользы: когда Куб уйдёт на второй план, знать, как устроены операторы и контроллеры, будет необязательно.
При этом я думаю, что за операторами будущее. С их помощью можно добавить Кубу функционала и создавать для него новые продукты. В понедельник, у нас прошел открытый вебинар, на котором вместо того, чтобы рассказывать, как работает технология, я показал, как сделать свой оператор. Думаю, со временем мы доработаем эту тему и в «Меге», сделаем её более практической.
История о практичности
— Чем «Мега» отличается от курса «Kubernetes База»?
— Базовый курс направлен на изучение Kubernetes — там мы рассказываем всё, что нужно знать для работы в Кубе. Суть «Меги» передаётся словами «Kubernetes для продвинутых». Это больше история про практическую часть крупной инсталляции. Речь именно о промышленных подходах в рамках Kubernetes. Вот кластер, вот деплоймент. Что делать, если у меня 100 разработчиков в этом кластере? Оказывается, в этом случае в кластере нужна аутентификация пользователей. Оказывается, запустить установку кластера через Kubespray одной командой не всегда оптимально, а помимо Rolling Update при деплое могут понадобиться другие подходы. «Мега» показывает опыт крупных инсталляций в Kubernetes, в ней много практических кейсов.
— Резюмируя — всё дело в практике и промышленных подходах?
— Да. Мне кажется, что именно по таким кейсам мало материала. Точнее, так или иначе его можно собрать по кусочкам из каких-то статей или выступлений на конференциях. Но, на мой взгляд, «Мега» пока единственное место, где этот опыт представлен наиболее полно.
Карьерный шаг для разработчиков
— Кому подойдёт «Мега»?
— В курсе что-то полезное могут для себя найти все, кто так или иначе сталкивается с Kubernetes: специалисты по безопасности, системные инженеры, администраторы баз данных, архитекторы, инфраструктурные разработчики.
— Что из «Меги» будет актуально для разработчиков?
— Разработчики разные бывают. Есть те, кому по душе писать запросы в базу данных и конвертировать их в Json. Им Куб не особо интересен. Как говорится: «Не интересуют меня эти ваши поды, деплои и stateful-сеты, нечего и начинать». Есть разработчики, которым реально нравится заниматься инфраструктурой — они потом могут уйти в SRE. Как раз для вторых «Мега» — отличный вариант.
— Получается, для разработчика знание Kubernetes может стать хорошим карьерным шагом?
— Да, в ближайшие два-три года это будет преимуществом. Но когда Куб уйдёт на второй план, разработчику можно будет не знать, как Kubernetes работает в подробностях, чтобы писать для него расширения и продукты.
— А кому «Мега» не нужна от слова совсем?
— Она не подойдёт разработчикам, которые просто являются пользователями Kubernetes и ничего для него не пишут. Если цель — просто запустить своё приложение в Кубе, то вполне хватит интенсива «Kubernetes для разработчиков». Такие глубокие знания, которые есть в «Меге», в этом случае не нужны.
Поток или интенсив
— «Мега» пережила много форматов. Были офлайн- и онлайн-интенсивы, на которых студенты занимались по 8 часов три дня подряд. Затем — записанный видеокурс. Сейчас появился поток — группа с кураторами и спикерами. Что ты думаешь о форматах?
— Первый поток «Меги» собрал хорошее количество студентов, из чего я делаю вывод, что такой формат привлекает людей. На встречах участники активно задают вопросы, динамика встреч приятная. Что радует — мало вопросов, которые освещались в уроках. Значит, материал в записи изложен хорошо, последовательно и не создаёт кашу в головах студентов. Но мне всё равно больше нравятся офлайн-мероприятия — на них заметно больше и общения, и вопросов.
Я думаю, что тут можно сделать два противоречивых вывода. Возможно, в онлайне меньше спрашивают потому, что формат потока даёт людям больше времени, чтобы разобраться. Это отсекает львиную долю вопросов, которые могут возникнуть, если темп обучения зашкаливает. А может быть, люди в онлайне в принципе не так охотно задают вопросы, как в офлайне.
— Какой совет ты бы дал тому, кто хочет пройти «Мегу»?
— Практика нужна. В «Меге» мы не останавливаемся на базовых понятиях Kubernetes, рассчитывая, что все участники с ними знакомы. Если человек со словарём понимает, что такое ингресс, сервис, деплой, ему будет сложно вникнуть в продвинутые вещи. Тем, у кого уже есть опыт с Кубом, будет достаточно вспомнить базовый курс и освежить в памяти термины.
Курс «Kubernetes: Мега-поток»
Новый поток курса по «Меге» стартует 31 января. Записывайтесь, если хотите:
узнать, как работает Kubernetes внутри;
изучить тонкости установки и конфигурации production-ready кластера (the-not-so-easy-way);
разобраться в механизмах обеспечения безопасности и отказоустойчивости приложений.