Эксплуатация и разработка в Kubernetes [Евгений Ахметзянов, Кирилл Демченко, Дарья Меленцова]

Bot

Администратор
Команда форума
23 Янв 2020
172,695
2,991
113

Складчина: Эксплуатация и разработка в Kubernetes [Евгений Ахметзянов, Кирилл Демченко, Дарья Меленцова]​

2025-03-04_12-03-20.png

Kubernetes даёт вам фреймворк для гибкой работы распределённых систем
Контейнеры — отличный способ связать и запустить ваши приложения, но контейнерами необходимо управлять, и с этим как раз поможет Kubernetes. Он занимается масштабированием приложений и обработкой ошибок в них, предоставляет шаблоны развёртывания и многое другое.

Это курс для специалистов с опытом, которые хотят профессионально вырасти
Нужно знать основы программирования, операционную систему Linux и популярные DevOps-инструменты, такие как Git и Docker

Программа:

Знакомство с Kubernetes

  • Знакомство с курсом
  • Узнаете, как организовано обучение: из чего состоит программа курса, как устроен учебник, какие учебные активности вас ждут.
  • Настройка окружения
  • Узнаете, что такое Kubernetes, установите и настроите основные утилиты, которые нужны для работы с кластером и создания контейнеров.
  • Упаковка приложения в контейнер
  • Познакомитесь с Docker, Image, Container Registry и Dockerfile. Напишете инструкцию для создания образа с приложением, поднимете приложение локально в Docker и проверите, корректно ли оно работает.
  • Погружение в Kubernetes
  • Напишете инструкции по развёртыванию приложения на понятном для Kubernetes языке «манифестов» — специальных YAML‑файлов. Убедитесь, что приложение работает корректно.
  • Работа с Ingress и вывод приложения в мир
  • Сделаете приложение доступным для внешнего мира по доменному имени, чтобы к запущенному приложение в K8s было удобно подключаться.
Контейнеризация и основы Kubernetes
  • Приложения в облаке
  • Узнаете о принципах Cloud Native, которые используются для запуска приложений в облачной инфраструктуре. Ключевые из них: контейнеризация, микросервисная архитектура и оркестрация контейнеров.
  • Docker и Kubernetes
  • Разберётесь в работе контейнеров: как они запускаются и какие механизмы используют. Затем запустите своё приложение в Docker‑контейнере.
  • Базовые абстракции в Kubernetes
  • Запустите приложение в Kubernetes.
  • Развернёте приложение в Kubernetes и запустите его с помощью утилиты kubectl, создадите базовые абстракции
Спойлер: Программа далее:
Проектирование, создание приложений и управление ими в Kubernetes
  • Stateful- и stateless-приложения
  • Познакомитесь с понятиями stateless и stateful, узнаете об их особенностях, преимуществах и недостатках. Научитесь классифицировать приложения с точки зрения stateless и stateful.
  • Deployment, запуск stateless-приложений
  • Узнаете, как связаны объекты Kubernetes и YAML‑манифесты, познакомитесь с абстракциями ReplicaSet и Deployment, а также развернёте в кластере stateless-приложение.
  • StatefulSet, запуск stateful‑приложений
  • Поймёте, чем StatefulSet отличается от Deployment и как правильно с ним работать.
  • Абстракция DaemonSet
  • Познакомитесь с «демонами» и узнаете, как с помощью DaemonSet запускать приложение в кластере.
  • Job, CronJob
  • Научитесь управлять процессами, которые завершаются после выполнения работы с помощью абстракции Job, и запускать подобные задачи по расписанию с помощью CronJob.
Механизмы обнаружения сервисов, архитектура и сеть в K8s
  • Архитектура Kubernetes
  • Узнаете, из каких компонентов состоит кластер, как эти компоненты взаимодействуют друг с другом, какая роль отводится каждому из них в процессе запуска контейнеров и управления ими.
  • Сеть в Kubernetes
  • Поймёте, как поды и узлы (англ. nodes) связываются между собой, а также расширите свои знания о типах Service.
  • Service Discovery
  • Разберётесь, как приложения в Kubernetes взаимодействуют друг с другом и с сервисами внутри и вне кластера, а также как реализуется механизм динамического обнаружения нагрузок и как маршрутизируется трафик.
  • Настроите взаимодействие приложений в кластере с помощью механизма Service Discovery, предоставите внешний доступ к приложению и маршрутизируете трафик при помощи Ingress, выполните траблшутинг в Kubernetes
Управление жизненным циклом, структурные паттерны и декларативное развёртывание в Kubernetes
  • Жизненный цикл подов
  • Рассмотрите, какие состояния у контейнеров и подов могут быть в Kubernetes. Узнаете, на какие инструменты опирается платформа, чтобы управлять подом, как смотреть журнал событий, какие события бывают в кластере.
  • Управление жизненным циклом подов
  • Поймёте, какие сигналы Kubernetes может посылать запущенным в нём приложениям и как он это делает.
  • Структурные паттерны
  • Разберёте структурные паттерны в Kubernetes, которые помогают создать более чёткую иерархию компонентов и улучшить взаимодействие между сервисами.
  • Развернёте небольшое самописное приложение в Kubernetes и настроите различные пробы, чтобы сделать его более надёжным
Helm: пакетный менеджер для Kubernetes
  • Введение в Helm и управление пакетами в Kubernetes
  • Разберёте, что такое пакетные менеджеры и какой из них подходит для приложений в Kubernetes. Узнаете, что из себя представляет Helm и какие проблемы может решать, из чего состоит Helm-чарт, как пользоваться шаблонами и как можно сформировать свой Helm-пакет.
  • Разработка Helm-чартов
  • Погрузитесь в процесс создания собственного чарта: подробно рассмотрите структуру чарта, возможности шаблонизации, а также инструменты для диагностики и устранения ошибок при разработке чарта.
  • Управление Helm-релизами
  • Узнаете, как можно управлять Helm-релизами, задавать параметры, устанавливать релизы, откатывать их или удалять при необходимости.
  • Продвинутые возможности Helm и управление зависимостями
  • Поймёте, как управлять зависимостями чартов, выполнять операции на разных этапах их жизненного цикла и использовать плагины для расширения возможностей Helm.
Управление ресурсами и масштабирование в K8s
  • Управление ресурсами: введение
  • Поймёте, какие ресурсы кластера Kubernetes нам доступны, какое количество ресурсов на самом деле можно использовать. Научитесь заранее оценивать, насколько кластер Kubernetes готов для развёртывания нашего приложения.
  • Что такое Scheduler и зачем это нужно
  • Узнаете, как Kubernetes выбирает узел, на котором стоит разместить под, что такое запрашиваемые ресурсы и каким образом можно ограничить их потребление, познакомитесь с механизмами распределения ресурсов узлов между подами.
  • Умное размещение приложения в кластере
  • Разберётесь в отказоустойчивости и доступности приложений — насколько Kubernetes заботится об этих факторах «из коробки», какие инструменты предоставляет и что мы можем получить при их использовании.
  • Виды масштабирования в Kubernetes
  • Погрузитесь в масштабирование в Kubernetes: узнаете, какие бывают виды масштабирования и чем они различаются, какой вид использовать в том или ином случае и как это делать.
  • Практическое применение автомасштабирования в Kubernetes
  • Поймёте, как ведёт себя автомасштабирование в реальных условиях и как можно дорабатывать его в зависимости от специфики приложения.
Непрерывная доставка приложений в K8s
  • Понятие CI/CD-конвейера и его назначение
  • Познакомитесь с практиками и методиками CI/CD, инструментами для их реализации, поймёте связь между CI/CD и Kubernetes, научитесь решать проблемы при помощи CI/CD‑конвейера и рассмотрите лучшие практики в этом.
  • CI/CD-конвейер на примере GitLab CI
  • Подготовите окружение и познакомитесь с пайплайном, настроите раннер/воркер для CI/CD‑инструмента, развернёте приложение.
  • Настройка версионирования в GitLab
  • Рассмотрите подходы к версионированию, их преимущества и недостатки. Разберёте пример настройки версионирования в GitLab. Узнаете, как работают helm lint и kubectl --dry-run.
  • Организуете процесс Continuous Delivery при помощи GitLab CI
Мониторинг приложений в Kubernetes
  • Введение в мониторинг приложений
  • Разберётесь, что такое мониторинг, какие перед ним стоят цели и задачи, какие есть виды классификации мониторинга.
  • Мониторинг приложений Kubernetes с помощью Prometheus
  • Познакомитесь с Prometheus: узнаете, как использовать его инструменты для мониторинга приложений, как собирать разные метрики с его помощью и какую функциональность он предлагает.
  • Продвинутые стратегии масштабирования с использованием Prometheus
  • Научитесь масштабировать приложения в соответствии с реальными условиями нагрузки, избегать избыточного или недостаточного использования ресурсов, создавать более стабильную и предсказуемую инфраструктуру.
  • Настроите мониторинг приложения в K8s
Умные стратегии развёртывания K8s
  • Обзор продвинутых стратегий развёртывания в Kubernetes
  • Познакомитесь с базовыми концепциями продвинутых стратегий развёртывания: Blue/Green, Canary, Rolling Updates. Поймёте их различия, преимущества и недостатки, а также как эти подходы помогают минимизировать простои и риски при вводе новых версий приложений.
  • Практическая реализация Blue/Green-развёртывания
  • Настроите Blue/Green-развёртывание, научитесь использовать Service и Ingress для переключения трафика.
  • Развёртывание Canary и прогрессивный выпуск изменений
  • Узнаете, как Canary-развёртывание позволяет постепенно вводить новую версию для части трафика, анализировать её работу по метрикам и принимать решение о полном переключении или откате.
  • Выберете и реализуете одну стратегию развёртывания приложения

Цена 96000 руб.
Скрытая ссылка