Kubernetes нужен всем. Какой именно Kubernetes нужен вам?
Этот материал мы подготовили на основе вебинара с соавтором курсов Слёрма по Kubernetes и архитектором Яндекс.Облака Павлом Селивановым. Если вы больше любите смотреть, чем читать, вебинар можно посмотреть на нашем канале.
В статье говорим о том, какие функции выполняет Kubernetes в современной IT-инфраструктуре и объясняем, почему у нас не один курс по k8s, а шесть. А ещё представляем обзор каждого курса, чтобы вы могли легко понять, какой из них вам нужен сейчас.
Как дела с Kubernetes в 2022?
Многие компании в своих инфраструктурах используют k8s «по прямому назначению» — для запуска Docker-контейнеров. Вроде бы всё очень просто: Kubernetes — это платформа для запуска контейнеров. До Kubernetes был Docker Swarm, а ещё раньше — Nomad, они тоже запускали контейнеры. Если бы всё было так просто, вряд ли k8s занял бы то центральное место в карте инструментов DevOps, которое он занимает сейчас.
На текущий момент Kubernetes — давно не платформа для запуска контейнеров. И если вы используете Kubernetes просто для того, чтобы запускать в своей инфраструктуре контейнеры — вы, кажется, делаете что-то не так. Вы не пользуетесь остальными возможностями технологии и не делаете всего того, для чего Kubernetes создавался.
Kubernetes — это платформа для реализации инфраструктуры. Кроме запуска контейнеров, этот инструмент позволяет нам создавать пространства для команд. Он стал платформой, на которой развивается множество других продуктов, выполняющих самые разные инфраструктурные задачи. С помощью k8s все они легко интегрируются.
Например, Crossplane позволяет все объекты облака превратить в манифесты Kubernetes и управлять вашим облаком из k8s, используя нативные кубернетесовские инструменты, такие как Helm, Kustomize и так далее. Или, допустим, Open Policy Agent, в виде его интерфейса для Kubernetes Gatekeeper. Или Kyverno, который существует только для Kubernetes. Эти инструменты помогают проверять на соответствие каким-либо политикам всю инфраструктуру, которую вы деплоите. Подход GitOps тоже изначально развивался в k8s, он позволяет деплоить новые приложения без написания бесконечных однотипных пайплайнов.
Иными словами, Kubernetes — это ядро инфраструктуры, через которое разные сервисы интегрируются и совместно работают.
Managed Kubernetes
Конечно, на базе k8s есть огромное количество готовых managed-решений. Вы можете запустить их и начать пользоваться. Но даже в случае, если вы поступите именно так — не будете разворачивать свой кластер, а выберете managed-сервис — вам всё равно придётся понимать, что такое Pod, ReplicaSet, Deployment, Service, DaemonSet, StatefulSet и так далее. Сейчас в Kubernetes около 50 встроенных объектов. И есть ещё то, что добавляется сверху: Custom Resource Definition, Service Mesh, Crossplane, например.
Какой бы managed-сервис вы ни выбрали, работу с вашими приложениями в кластере он на себя не возьмёт, это придётся делать самостоятельно. Скорее всего, у вас также возникнут задачи по мониторингу и сбору логов.
Именно исходя из того, что Kubernetes — большая платформа, где происходит множество разных процессов, появилось разделения курсов в Слёрме по направлениям. Мы не пытались вместить всё в один огромный курс, а создали курсы по Kubernetes для разных студентов с разными задачами.
Курсы по Kubernetes
Kubernetes База: стартовый курс для администраторов
Для кого: для администраторов и девопсов, которые только начинают работать с кластерами.
Зачем: чтобы въехать в Kubernetes. Разобраться, как устанавливается кластер, какие у него есть компоненты и как они между собой взаимодействуют.
Мониторинг и логирование инфраструктуры в Kubernetes
Для кого: для администраторов и девопсов, которые начинают работать или уже давно работают с кластерами.
Зачем: научиться настраивать мониторинг, собирать логи и извлекать из них информацию с помощью актуальных инструментов.
Kubernetes для разработчиков
Для кого: для разработчиков приложений под Kubernetes.
Зачем: знать, что делать, когда админы говорят: «Вот тебе кластер, работай с ним». Погрузиться в Kubernetes, понять, как с ним взаимодействовать разработчику и какие у него есть возможности кроме запуска контейнера с приложением в кластере.
Курс знакомит с базовыми абстракциями k8s и устройством кластера, объясняет, как запускать приложения в кластере. Учимся конфигурировать своё приложение в Kubernetes, хранить данные и конфиги в нужных местах, выполнять миграции в базе данных для приложения, использовать Helm. Спикеры рассказывают, какие существуют практики и какие из них стоит применять. Рассматриваем особенности языков программирования при запуске в Kubernetes (Java, Python, Go).
Kubernetes Мега
Для кого: для администраторов кластеров и девопсов, которые давно работают с Kubernetes.
Зачем: глубже понять тонкости Kubernetes, научиться реализовывать сложные сценарии.
Этот курс вам подойдёт, если вы хорошо знакомы с базовыми абстракциями Kubernetes, понимаете, что такое Pod, ReplicaSet, Deployment, Ingress и т.д. и хотите посмотреть на более сложные примеры из практики.
Безопасность в Kubernetes
Для кого:
– для администраторов кластеров и девопсов, которые работают с k8s и хотят углубить знания в области безопасности;
– для специалистов по безопасности, которые хотят разобраться, что такое Kubernetes и как с ним работать.
Зачем: чтобы внедрить безопасность в современные DevOps-концепции, понять, как автоматизировать безопасность, внедрить её в пайплайны и как безопаснику с этим жить.
Программа подходит для тех, кто занимается администрированием в Kubernetes, хорошо понимает, что происходит в кластере и хочет углубить свои знания именно в области безопасности. Также курс хорошо подходит для специалистов по безопасности, которые хотят разобраться, что такое Kubernetes и как выполнять свою работу на базе платформы, построенной на k8s.
Service Mesh
Для кого: для практикующих администраторов и девопсов, платформенных и инфраструктурных разработчиков, которые понимают, как работает k8s, имеют опыт работы с kubectl, а также с Prometheus и Grafana.
Зачем: чтобы разобраться c service mesh, понять, как технология архитектурно устроена, за что отвечает каждый компонент. После этого можно без лишних сложностей внедрить service mesh в своей инфраструктуре или понять, что вам это не нужно, и отказаться от внедрения.
Обучение проходит в формате трёхдневного интенсива.
Мы рассказали о месте Kubernetes в современной инфраструктуре и о курсах Слёрма, связанных с k8s. Посмотрите, какие знания у вас уже есть, и выберите курс, чтобы узнать о технологии больше.