Проходил 17 июня в 20:00

Открытый вебинар
Непрерывная поставка с Kubernetes

Открытый вебинар онлайн

Изучаем возможности Kubernetes для организации практики непрерывной поставки (CI/CD) и подходы как для небольшой команды с несколькими приложениями, так и для большой организации с большим количеством систем.
Преподаватель
Юрий Игнатов

Запись

О курсе

Инфраструктурная платформа на основе Kubernetes
70 000 ₽ 60 000 ₽
Начало в январе 2020 года
Инфраструктурная платформа – системы и сервисы, обеспечивающие этапы жизненного цикла цифровых продуктов: подготовку релиза, выпуск и эксплуатацию. Наличие инфраструктурной платформы позволяет команде сфокусироваться на разработке продукта, стандартизировать подходы к управлению компонентами продукта и сервисов, обеспечивающих его работу, не тратя время на построение велосипедов и рутинную автоматизацию стандартных операций для каждого компонента. Для кого этот курс: Разработчиков, администраторов, СТО и техлидов: …
Программа курса
Модуль 1
Инфраструктурная платформа
Модуль 2
Основные сущности и функционал Kubernetes
Модуль 3
Kubernetes в деталях
Модуль 4
Экосистема Kubernetes
Модуль 5
Kubernetes для поставки цифровых продуктов
Модуль 6
Проект
Инфраструктурная платформа
Первый модуль нашего курса знакомит участников с понятием инфраструктурной платформы, историей их появления, развития и основными видами платформ на сегодняшний день.

Мы рассмотрим как именно инфраструктурная платформа помогает компаниям выпускать их цифровые продукты, почему именно Kubernetes является одной из самых подходящих систем, которая может стать основой инфраструктурной платформы и проведем обзор сервисов, которые могут входить в состав платформы, помимо самого Kubernetes.
Вводное занятие
Что такое Инфраструктурная платформа и зачем она компаниям? История развития, современное состояние и будущее платформ.
Связь инфраструктурных платформ с инженерными практиками и приложения для платформ
Мы рассмотрим как именно инфраструктурная платформа помогает компаниям выпускать их цифровые продукты.
Какую пользу инфраструктурные платформы приносят командам и организациям
Основные сущности и функционал Kubernetes
Kubernetes достаточно дружелюбен для пользователя, запустить свое приложение с Kubernetes можно не погружаясь в детали реализации кластера и его детальной настройки. В этом модуле мы изучим основные сущности Kubernetes, такие как Deployment, Ingress, Service, Namespace, ConfigMap и многие другие, которые нужны пользователю кластера для развертывания своих приложений и рассмотрим, какие ограничения и требования предъявляет Kubernetes к приложениям.
Разобравшись с запуском и конфигурацией приложений при помощи Kubernetes мы рассмотрим, как функционал кластера помогает в реализации стандартных процессов поставки цифровых продуктов с применением современных инженерных практик и не забывая о требованиях безопасности и начнем формировать базовую экосистему нашего кластера, необходимую для большинства приложений.

Домашние задания второго модуля включает развертывание локальной инсталляции Kubernetes, работу с его основными сущностями и запуск приложения на локальном кластере. В процессе выполнения домашних заданий мы научимся описывать манифесты, управлять состоянием кластера, управлять состоянием и составом приложений, развернутых в кластере, разберемся в модели прав доступа, изучим утилиты, инструменты и сервисы, без которых не обойтись при работе с Kubernetes (например: registry, dns, kubectl, web ui и т.д.).
Знакомство с Kubernetes.
вы узнаете основные концепции Kubernetes, сможете развернуть локальное окружение, сделать первые шаги к использованию Kubernetes
Домашние задания: 1
ДЗ
Установка и настройка minikube, запуск первого контейнера в kubernetes.
Механика запуска и взаимодействия контейнеров в Kubernetes.
Домашнее задание: описание манифестов для нескольких пользовательских и системных сервисов
Что стоит знать о безопасности и управлении доступом Kubernetes.
Домашняя работа: настройка аккаунтов и прав для них, настройка ограничений и политик безопасности для контейнеров
Домашние задания: 1
ДЗ
Настройка сервисных аккаунтов и ограничение прав для них.
Обзор сетевой подсистемы Kubernetes.
Домашние задания: 1
ДЗ
Настройка dns, service и ingress.
Volumes, Storages, Statefull-приложения в Kubernetes.
Домашние задания: 1
ДЗ
Домашняя работа: настройка всего необходимого для запуска базы данных в контейнере.
Развёртывание приложения в Kubernetes.
Цель занятия:
- Объединить все знания для деплоймента приложения.
- Посмотреть, как выглядит процесс кубернетизации приложения.
- Сложить общую картинку в голове о том, зачем всё это необходимо.
Kubernetes в деталях
Здесь нас ждет изучение сервисов, из которых состоит kubernetes: api-server, scheduler, kubelet, etcd. Мы рассмотрим каждый из них в отдельности с точки зрения использования и эксплуатации, разберемся в том, как эти сервисы развертывать, конфигурировать, обновлять и мониторить.

Знания о компонентах, из которых состоит кластер нам потребуются для проектирования и развертывания собственной инсталляции Kubernetes с учетом отказоустойчивости, безопасности, простоты использования и эксплуатации. Здесь же мы рассмотрим типы инсталляций Kubernetes, их сильные и слабые стороны (minikube, bare-metal, cloud, и т.д.).


Для этого нам предстоит изучить стандартные интерфейсы взаимодействия (CNI/CRI/CSI) и реализации, которые используют эти интерфейсы, например, мы расскажем про множество сетевых подсистем, которые могут быть использованы для организации взаимодействия между приложениями и их связи с внешним миром, для этого познакомимся с такими системами как kube-proxy, ipvs, flannel, calico, istio, envoy и многими другими, и определим, как из всего многообразия выбрать именно то, что больше всего подходит под задачу.

В этом же модуле мы расскажем про механизмы безопасности контейнеров и дополнительные механизмы безопасности, которые предоставляет сам Kubernetes.

И, конечно же, не обойдем вниманием Operators – функционал Kubernetes, который задает новую планку в подходе к автоматизации и управлению системами.

Домашние задания третьего модуля нацелены на подготовку отказоустойчивого и безопасного кластера Kubernetes, который при этом просто обновлять и использовать. Опыт, полученный при выполнении ДЗ этого модуля позволит вам самостоятельно развернуть и настроить кластер с использованием практики Инфраструктура как код, выбрать подсистемы, реализующие сетевую связность и хранение файлов, а также отлаживать сбои в работе подсистем кластера.
Компоненты Kubernetes: api-server, scheduler, kubelet, etcd
вы получите знания об архитектуре Kubernetes, поймете принципы взаимодействия управляющих компонент, увидите путь от применения манифеста до создания pod в кластере, создадите триальную учетную запись в Google Cloud, сможете закрепить знания пройдя гайд "Kubernetes The Hard Way" адаптированный под последнюю версию Kubernetes
Подходы к развертыванию и обновлению production-grade кластера
CRI. Обзор контейнерных runtime.
вы сможете осознанно сделать выбор в пользу того или иного контейнерного runtime, узнаете о концепции CRI и причинах ее появления, сможете интегрировать сборку OCI совместимых образов в CI/CD процесс, увидите процесс запуска контейнера с использованием runc
CNI. Обзор существующих сетевых подсистем Kubernetes.
CSI. Обзор подсистем хранения данных в Kubernetes.
- еще раз огнем и мечом пройтись по Volumes, их видам, уместности применения
- посмотреть чуть больше внутренностей реализации Storage на ноде
- посмотреть на реализацию PersistentVolumes и PersistentVolumeClaim
- разобраться с Dynamic Provisioning
- поговорить про CSI
- глянуть, как устанавливается CSI-драйвер
- посмотреть на реализацию снапшотов в CSI
26 августа, 20:00 — 21:30
Лектор: Лев Николаев
Домашние задания: 1
ДЗ
Развертывание системы хранения данных.
Диагностика и отладка кластера и приложений в нем.
29 августа, 20:00 — 21:30
Лектор: Александр Сулейманов
Домашние задания: 1
ДЗ
Домашняя работа: проведение диагностики состояния кластера, знакомство с инструментами для диагностики.
Custom Resource Definitions. Operators – Новый помощник платформенной и продуктовым командам.
9 сентября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Домашняя работа: описание собственного CRD, использование одного из opensource operators.
Экосистема Kubernetes
В этом модуле мы познакомимся с инструментами, утилитами и сервисами, которые сделают вашу жизнь с Kubernetes проще, позволят использовать современные инженерные практики и будут незаменимо полезны как команде, которая занимается администрированием и развитием Kubernetes кластера, так и продуктовым командам, которые используют Kubernetes для запуска своих систем.
Мы рассмотрим как собирать метрики мониторинга и логи с самого кластера и приложений, работающих поверх него, как предоставить приложениям надежное хранилище для секретных данных и многое другое.
После этого модуля вы будете владеть такими инструментами как helm и kustomize, ksonnet, легко интегрировать Prometheus+Grafana, Elastic stack и Vault как для нужд кластера, так и приложений в нем.
Мы еще раз вернемся к Registry и хранилищам артефактов, ведь в этом модуле нам предстоит познакомится с подписями образов и использованием Notary

Домашние задания в этом модуле нацелены на изучение инструментов и утилит, используемых сообществом Kubernetes, а также на построение экосистемы, необходимой для поддержания процессов поставки цифровых продуктов.
Мы развернем и настроим для нашего кластера систему мониторинга, систему сбора логов, систему управления секретами и подписи образов, хранилище артефактов и прочие системы, входящие в состав платформы.
Мониторинг компонентов Kubernetes и приложений, работающих в нем
12 сентября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Домашняя работа: развертывание мониторинга для кластера, Prometheus operator.
Сервисы централизованного логирования для компонентов Kubernetes и приложений.
16 сентября, 20:00 — 21:30
Лектор: Александр Сулейманов
Домашние задания: 1
ДЗ
Домашняя работа: развертывание системы централизованного логирования для кластера.
Хранилища контейнеров и артефактов поставки, инфраструктура для контроля безопасности артефактов
19 сентября, 20:00 — 21:30
Шаблонизация манифестов Kubernetes, Helm – пакетный менеджер для Kubernetes и его аналоги (Kustomize, Jsonnet)
23 сентября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Домашняя работа: подготовка helm charts для нашего приложения..
Kubernetes для непрерывной поставки (CI/CD). Интеграция с CI-сервисом.
26 сентября, 20:00 — 21:30
Лектор: Никита Вельгин
Service mesh. Знакомство с Istio и Envoy
10 октября, 20:00 — 21:30
Инфраструктура для трейсинга: Jaeger и аналоги
31 октября, 20:00 — 21:30
Хранилище секретов для приложений. Vault.
17 октября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Дополнительное домашнее задание: ставим и настраиваем Vault для нужд платформенной команды и команд разработки.
OpenShift как готовая платформа
14 октября, 20:00 — 21:30
Knative
21 октября, 20:00 — 21:30
Kubernetes для поставки цифровых продуктов
Kubernetes позволил множеству компаний построить надежные, автоматизированные и простые в использовании процессы поставки цифровых продуктов.
В этом модуле мы объединим полученные ранее знания и интегрируем рассмотренные в предыдущих модулях инструменты для того, чтобы наша инфраструктурная платформа помогала командам разработки на каждом этапе подготовки, выпуска и эксплуатации продуктов. Владея Kubernetes и необходимой экосистемой мы можем сконцентрироваться на инженерных практиках и подходах, наработанных сообществом и бесценном опыте, которым уже успели поделиться инженеры со всего мира.

Домашние задания этого модуля нацелены на построение конвейера поставки для приложения с применением полученных знаний из прошлых модулей, использованием функционала экосистемы и с учетом инженерных практик, о которых мы будем говорить в этом модуле
Обзор полезных инструментов и сервисов
24 октября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Домашняя работа: реализация конвейера непрерывной поставки с использованием всего пройденного материала.
Продвинутые подходы к CI/CD: GitOps, Spinnaker
30 сентября, 20:00 — 21:30
Лектор: Евгений Целиков
Строим достаточно хороший конвейер поставки
7 ноября, 20:00 — 21:30
Обновление без простоев с Kubernetes, стратегии развертывания и возможности для получения ранней обратной связи
14 ноября, 20:00 — 21:30
Проект
Проектная работа

Примеры тем:
-Развертывание отказоустойчивой инфраструктурной платформы
-Миграция существующего продукта на инфраструктурную
платформу
-Формирование стандартов разработки приложений под
инфраструктурную платформу
Подводим итоги и смотрим в будущее. Выдаем финальный проект.
Домашние задания: 1
ДЗ
Проектная работа.
Промежуточная приемка проектов - 14 ноября
Финальное занятие. Подведение итогов обучения.
12 декабря, 20:00 — 21:30

Преподаватель

Юрий Игнатов
Ведущий инженер Express42
Ведущий инженер Экспресс 42.

Разрабатывает и внедряет решения для непрерывной поставки продуктов enterprise-организаций, помогает с адаптацией DevOps-практик

Реализовал множество проектов по построению автоматических конвейеров поставки ПО и автоматизации управления инфраструктурой с использованием подхода Инфраструктура как код, имеет опыт проведения технических аудитов, организации и проведения обучения по DevOps-практикам в формате мастер-классов и вебинаров, а также проведении консультаций по вопросам построения конвейеров поставки ПО, проектированию отказоустойчивой инфраструктуры, внедрению гибких методологий разработки.