Блог Слёрм

Как выбрать курс по Kubernetes в Слёрме

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: Pod, ReplicaSet, Deployment, Service, Ingress, PV, PVC, ConfigMap, Secret. Также изучаем более сложные моменты, например, автоматическое выписывание сертификатов, создание базовых CI/CD-пайплайнов. Курс помогает разобраться с задачами администратора кластера: как установить кластер на свои сервера, как управлять доступами для разработчиков (в том числе в managed-кластере) и др. 

Перейти к курсу: https://slurm.io/kubernetes-baza

Мониторинг и логирование инфраструктуры в Kubernetes

Для кого: для администраторов и девопсов, которые начинают работать или уже давно работают с кластерами.

Зачем: научиться настраивать мониторинг, собирать логи и извлекать из них информацию с помощью актуальных инструментов.

Этот курс про всё, что касается observability. Учимся собирать весь инструментарий для мониторинга и логирования в k8s (Prometheus, Grafana, ElasticSearch, Kibana и др.) и работать с этими инструментами. Разбираемся, как мониторить приложения в k8s, какие метрики собирать, как собирать логи, как и какие алерты настраивать в кластере. Вы получите возможность максимально точно видеть, что происходит в вашей инфраструктуре, научитесь не только хранить логи, но и извлекать из них информацию.

Перейти к курсу: https://slurm.io/monitoring

Kubernetes для разработчиков

Для кого: для разработчиков приложений под Kubernetes.

Зачем: знать, что делать, когда админы говорят: «Вот тебе кластер, работай с ним». Погрузиться в Kubernetes, понять, как с ним взаимодействовать разработчику и какие у него есть возможности кроме запуска контейнера с приложением в кластере. 

Программа составлена специально под задачи разработчиков: мы убрали все «админские» темы и добавили то, что нужно для задач разработки.
Курс знакомит с базовыми абстракциями k8s и устройством кластера, объясняет, как запускать приложения в кластере. Учимся конфигурировать своё приложение в Kubernetes, хранить данные и конфиги в нужных местах, выполнять миграции в базе данных для приложения, использовать Helm. Спикеры рассказывают, какие существуют практики и какие из них стоит  применять. Рассматриваем особенности языков программирования при запуске в Kubernetes (Java, Python, Go). 

Перейти к курсу: https://slurm.io/kubernetes-for-developers

Kubernetes Мега 

Для кого: для администраторов кластеров и девопсов, которые давно работают с Kubernetes.
Зачем: глубже понять тонкости Kubernetes, научиться реализовывать сложные сценарии.

«Kubernetes Мега» изначально создали как практический курс, основанный на примерах реальной работы и кейсов из практики спикеров. Это продвинутые сценарии из разряда «а что мы ещё делали с k8s?». Программа включает установку кластера в ручном режиме без автоматизации (для того, чтобы понять, как автоматизировать эти ручные операции под вашу инфраструктуру). Изучаем авторизацию в кластере, автоскейлинг, резервное копирование и другие вещи, касающиеся продвинутой эксплуатации кластера.
Этот курс вам подойдёт, если вы хорошо знакомы с базовыми абстракциями Kubernetes, понимаете, что такое Pod, ReplicaSet, Deployment, Ingress и т.д. и хотите посмотреть на более сложные примеры из практики.

Перейти к курсу: https://slurm.io/kubernetes-megapotok

Безопасность в Kubernetes

Для кого: 
– для администраторов кластеров и девопсов, которые работают с k8s и  хотят углубить знания в области безопасности;
– для специалистов по безопасности, которые хотят разобраться, что такое Kubernetes и как с ним работать.

Зачем: чтобы внедрить безопасность в современные DevOps-концепции, понять, как автоматизировать безопасность, внедрить её в пайплайны и как безопаснику с этим жить.

Курс о том, как внедрить безопасность в современные Devops-процессы, как не пренебрегать требованиями безопасности ради скорости и не замедляться из-за требований безопасности. Курс знакомит администраторов кластеров и специалистов по безопасности с тем, что происходит в Kubernetes с точки зрения безопасности, какие есть инструменты для её обеспечения. Говорим о том, почему установка антивируса на ноды k8s — не самая хорошая практика, и какие хорошие практики существуют.
Программа подходит для тех, кто занимается администрированием в Kubernetes, хорошо понимает, что происходит в кластере и хочет углубить свои знания именно в области безопасности. Также курс хорошо подходит для специалистов по безопасности, которые хотят разобраться, что такое Kubernetes и как выполнять свою работу на базе платформы, построенной на k8s. 

Перейти к курсу: https://slurm.io/kubernetes-security

Service Mesh

Для кого: для практикующих администраторов и девопсов, платформенных и инфраструктурных разработчиков, которые понимают, как работает k8s, имеют опыт работы с kubectl, а также с Prometheus и Grafana.

Зачем: чтобы разобраться c service mesh, понять, как технология архитектурно устроена, за что отвечает каждый компонент. После этого можно без лишних сложностей внедрить service mesh в своей инфраструктуре или понять, что вам это не нужно, и отказаться от внедрения.

Что делать, если нужно выкатить новую фичу, но нет уверенности, что всё пойдёт как надо, и нет времени на тестирование? Или если приложение разрослось, и клиенты жалуются на долгое время ответа, при этом на серверной стороне всё хорошо? Изучаем структуру и возможности service mesh. Решаем бизнес-кейсы на базе учебного приложения – онлайн-кинотеатра, состоящего из нескольких микросервисов. Практикуемся в Istio, но фокусируемся не на интерфейсе, а на концепции работы: так можно будет применить полученный опыт на любом service mesh решении, реализованном на основе Envoy Proxy. 
Обучение проходит в формате трёхдневного интенсива. 

Перейти к курсу: https://slurm.io/intensive-service-mesh

Мы рассказали о месте Kubernetes в современной инфраструктуре и о курсах Слёрма, связанных с k8s. Посмотрите, какие знания у вас уже есть, и выберите курс, чтобы узнать о технологии больше.


Kubernetes DevOps