День открытых дверей по курсу «Инфраструктурная платформа на основе Kubernetes» 24.06.2019 в 20:00 | OTUS >
Проходил 24 июня 2019 года в 20:00

День открытых дверей
Всё о курсе «Инфраструктурная платформа на основе Kubernetes»

День открытых дверей онлайн

День Открытых Дверей — отличная возможность узнать подробнее о программе курса, особенностях онлайн-формата, навыках, компетенциях и перспективах, которые ждут выпускников после обучения. Также преподаватель расскажет о своём профессиональном опыте и ответит на вопросы участников. Поэтому если есть вопрос, запишитесь на онлайн-трансляцию и задайте его в прямом эфире!
Преподаватель
Юрий Игнатов

Запись

О курсе

Инфраструктурная платформа на основе Kubernetes
134 000 ₽
3 месяца
Начало 25 мая

Для кого этот курс?

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

Для разработчиков. Вы будете понимать, как запущено и работает ваше приложение в различных окружениях, включая production, научитесь использовать экосистему по максимуму, отлаживать приложение и изменять процедуры развертывания и конфигурирования.

Программа курса
Модуль 1
Инфраструктурная платформа. Основные сущности и функционал Kubernetes
Модуль 2
Экосистема Kubernetes
Модуль 3
Kubernetes в деталях
Модуль 4
Проектная работа
Инфраструктурная платформа. Основные сущности и функционал Kubernetes
Инфраструктурная платформа. Основные сущности и функционал Kubernetes
Первый модуль курса знакомит с понятием инфраструктурной платформы, историей их появления, развития и основными видами платформ на сегодняшний день. В рамках модуля рассмотрим архитектуру Kubernetes, его базовые сущности и функционал. Научимся разворачивать приложения в кластере, настраивать взаимодействие между ними и доступ к ним извне кластера. Познакомимся со способами персистентного хранения информации в k8s, а также с базовыми механизмами управления безопасностью, доступами и правами.
Инфраструктурная платформа для разработки и эксплуатации цифровых продуктов
определить концепцию инфраструктурной платформы;
сформулировать необходимость построения платформы;
определить состав сервисов, входящих в инфраструктурную платформу;
оценить свою компанию на соответствие современному состоянию индустрии.
Знакомство с Kubernetes, основные понятия и архитектура // ДЗ
познакомиться с архитектурой кластера Kubernetes, инструментами для взаимодействия и управления кластером;
получить представление о базовых сущностях k8s и научиться их запускать/создавать/конфигурировать.
1 июня, 20:00 — 21:30
Лектор: Михаил Чугунов
Домашние задания: 1
ДЗ
Знакомство с решениями для запуска локального Kubernetes кластера, создание первого pod. 1. Сформировать локальное окружение;
2. Запустить локальную версию kubernetes при помощи Minikube;
3. Научиться использовать CLI утилиту kubectl для управления kubernetes.
4. Научиться создавать манифест и запускать простейший pod с полезной нагрузкой


Все действия описаны в методическом указании [по ссылке](https://docs.google.com/presentation/d/12EFC_psBQGcYUucWPa4qgazdd8a05OD7/edit?usp=sharing&ouid=115091978751816149816&rtpof=true&sd=true).


P.S. Промокоды для Яндекс Облака запрашиваются у комьюнити менеджера (далее — КМ). Количество промокодов ограничено, не забывайте отключать ВМ, когда она не используется.
Управление жизненным циклом и взаимодействием pod в Kubernetes // ДЗ
понимать жизненный цикл pod, механику взаимодействия контейнеров внутри него;
получить понимание о ресурсах k8s, управляющих pod и их группах, научиться использовать их базовый функционал;
понимать предназначение проб и уметь их настраивать.
3 июня, 20:00 — 21:30
Лектор: Алексей Кузнецов
Домашние задания: 1
ДЗ
Настройка Kubernetes controllers; ReplicaSet, Deployment, DaemonSet. 1. Научиться создавать и конфигурировать Replicaset, Deployment для своего приложения;
2. Научиться управлять обновлением своего приложения;
3. Научиться использовать механизм Probes для проверки работоспособности своих приложений.



Все действия описаны в методическом указании [по ссылке](https://docs.google.com/presentation/d/1an4J59A7oHwnSEOfuyZImJqfEwqO9gkF/edit?usp=sharing&ouid=115091978751816149816&rtpof=true&sd=true).
Сетевая подсистема и сущности Kubernetes // ДЗ
познакомиться с объектами k8s, служащими для организации взаимодействия между приложениями внутри кластера и доступа снаружи;
научиться использовать базовый функционал объектов Service, Ingress;
познакомиться с тем, как Service взаимодействует с kube-proxy и DNS.
8 июня, 20:00 — 21:30
Лектор: Константин Сыроватский
Домашние задания: 1
ДЗ
Настройка сетевого взаимодействия Pod, сервисов. 1. Научиться создавать и конфигурировать объекты типа Service
2. Научиться использовать объекты типа Service для взаимодействия между приложениями в кластере



Все действия описаны в методическом указании [по ссылке](https://docs.google.com/presentation/d/1Yla1XCuPNbEgXrWWgs9tY6o_ntXqF1zz/edit?usp=sharing&ouid=115091978751816149816&rtpof=true&sd=true).
Хранение данных в Kubernetes: Volumes, Storages, Stateful-приложения // ДЗ
понимать, когда и зачем требуется персистентное хранение в Kubernetes;
познакомиться с основными типами Volume и StorageClass в k8s;
научиться конфигурировать PV и PVC;
получить понимание специфики stateful-приложений и особенностей реализации в k8s.
10 июня, 20:00 — 21:30
Лектор: Константин Сыроватский
Домашние задания: 1
ДЗ
Настройка PV, PVC и конфигурации. 1. Научиться создавать в кластере объекты, описывающие персистентные хранилища и научиться подключать их к подам.
2. Научиться создавать объект ConfigMap и монтировать его как volume
3. Получить представление об объекте StorageClass и механизме provisioning для PV



Все действия описаны в методическом указании [по ссылке](https://docs.google.com/presentation/d/1vBmvfPya9EGpBlI3UZx_7HfGUfrJlg_0/edit?usp=sharing&ouid=115091978751816149816&rtpof=true&sd=true).
Основы безопасности в Kubernetes // ДЗ
понимать основы управления доступом к кластеру Kubernetes;
познакомиться с разграничением доступа к ресурсам внутри кластера;
понимать специфику хранения чувствительной информации в кластере и вне его;
знать механизмы обеспечения безопасного взаимодействия между приложениями в кластере;
разобрать такие сущности, как: PodSecurityPolicy, PodDisruptionBudget, PodSecurityAdmission, LimitRange, ResourceQuota.
15 июня, 20:00 — 21:30
Лектор: Михаил Чугунов
Домашние задания: 1
ДЗ
Настройка сервисных аккаунтов и ограничение прав для них. 1. Получить представление о объекте ServiceAccount, его роли в ЖЦ подов.
2. Научиться настраивать bindins для ServiceAccount с различными правами, на уровне namespace так и на уровне всего кластера.
3. Понять механизм работы секретов, которые создаются для SA



Все действия описаны в методическом указании [по ссылке](https://docs.google.com/presentation/d/1WSX9Bhs2sWdVJjkKXKD9zt_PjitnD13D/edit?usp=sharing&ouid=115091978751816149816&rtpof=true&sd=true).
Экосистема Kubernetes
В этом модуле мы познакомимся с инструментами, утилитами и сервисами, расширяющими возможности Kubernetes и упрощающими работу с ним.
Мы рассмотримпрактики мониторинга, логирования и управления секретами, а также интеграция популярных решений.
После этого модуля вы будете владеть такими инструментами как Helm, Kustomize, Ksonnet и подходами к работе с Registry и артефактами.

В рамках практики будет развернута экосистема, включающая мониторинг, логирование, управление секретами и хранилище артефактов.
Управление приложениями в k8s. Пакетный менеджер Helm // ДЗ
понимать жизненный цикл приложений в k8s;
научиться устанавливать и использовать community Helm charts;
уметь создавать собственные Helm chart и устанавливать их в кластер;
знать, какие альтернативные решения есть для установки приложений в кластер и управления их жизненным циклом.
23 июня, 20:00 — 21:30
Лектор: Эрик Арайс
Домашние задания: 1
ДЗ
Шаблонизация и деплой Helm. 1. Научиться создавать собственные helm-chart и деплоить их в кластер k8s
2. Научиться устанавливать и конфигурировать community чарты из публичных репозиториев
3. Научиться использовать helmfile для описания релизов



Все действия описаны в методическом указании [по ссылке](https://docs.google.com/presentation/d/1EmTbVEmcwFmTVNRo3HzuKJZCPucvRdl2/edit?usp=sharing&ouid=115091978751816149816&rtpof=true&sd=true).
Custom Resource Definitions. Operators // ДЗ
отличать операторы и контроллеры;
писать контроллеры даже на bash и хорошо понимать логику их работы;
создавать операторы для помощи в рутинных задачах эксплуатации кластеров.
22 июня, 20:00 — 21:30
Лектор: Константин Сыроватский
Домашние задания: 1
ДЗ
Создание CRD и оператора. 1. Научиться создавать и конфигурировать CR и CRD ресурсы.
2. Научиться создавать и устанавливать в кластер собственные Operators



Все действия описаны в методическом указании [по ссылке](https://docs.google.com/presentation/d/1QQyOwke7lo1NI0sJEJ6hUbciFjhBxP35/edit?usp=sharing&ouid=115091978751816149816&rtpof=true&sd=true).
Мониторинг компонентов кластера и приложений, работающих в нем // ДЗ
понять, как устроен мониторинг кластера, его компоненты и приложения в кластере.
24 июня, 20:00 — 21:30
Лектор: Алексей Кузнецов
Домашние задания: 1
ДЗ
Мониторинг приложения в кластере. 1. Установить в кластер и научиться пользоваться prometheus-operator
2. Научиться инструментировать ваше приложение и собирать с него метрики в Prometheus-формате



Все действия описаны в методическом указании [по ссылке](https://docs.google.com/presentation/d/1wIzvEzubae2Iy9sS187yaZ6_Va6UUluJ/edit?usp=sharing&ouid=115091978751816149816&rtpof=true&sd=true).
Сервисы централизованного логирования для компонентов Kubernetes и приложений // ДЗ
познакомиться с различными системами централизованного логирования.
реализовывать централизованное хранилище логов на PLG-стеке.
29 июня, 20:00 — 21:30
Лектор: Михаил Чугунов
Домашние задания: 1
ДЗ
Настройка централизованного логирования. 1. Установить в кластер loki и научиться его конфигурировать
2. Научиться собирать логи с нод кластера с помощью promtail
3. Настроить подключение Grafana к loki


Все действия описаны в методическом указании [по ссылке](https://docs.google.com/presentation/d/1Vl2MzatvDmc0MxORm4VpFzs-ts2-eXAY/edit?usp=sharing&ouid=115091978751816149816&rtpof=true&sd=true).
Инфраструктура для Distributed Tracing: Jaeger и аналоги. Сквозное логирование
разобраться, для чего применяются системы распределенной трассировки и чем они могут быть полезны.
1 июля, 20:00 — 21:30
Лектор: Алексей Кузнецов
Хранилища артефактов поставки, контроль безопасности артефактов
подобрать необходимые компоненты для формирования эффективного хранилища артефактов.
6 июля, 20:00 — 21:30
Лектор: Михаил Чугунов
Chaos Engineering
применять практику Chaos Engineering для повышения надежности инфраструктурной платформы;
ориентироваться в инструментах, реализующих практику.
8 июля, 20:00 — 21:30
Лектор: Михаил Чугунов
GitOps и инструменты поставки // ДЗ
приобрести понимание и практические навыки имплементации концепции GitOps к процессу поставки изменений кодовой базы.
13 июля, 20:00 — 21:30
Лектор: Алексей Кузнецов
Домашние задания: 1
ДЗ
Настройка ArgoCD приложений. 1. Установить в кластер ArgoCD и научиться его конфигурировать
2. Создать приложение, описывающее установку манифестов из git-репозитория
3. Создать приложение, описывающее установку из Helm-чарта, хранящегося в Git-репозитории



Все действия описаны в методическом указании [по ссылке](https://docs.google.com/presentation/d/16aywZ4K36dxHWfzuqx6Nyz-raX4DbKEe/edit?usp=sharing&ouid=115091978751816149816&rtpof=true&sd=true).
Kubernetes для непрерывной поставки (CI/CD). Интеграция с CI-сервисом
строить CI/CD пайплайны для своей выгоды;
корректно интегрировать CI/CD пайплайны с Kubernetes;
использовать один кластер для всех задач;
рассмотреть реализацию канареечного релиза, blue/green деплоя и A/B тестирования с помощью Kubernetes.
15 июля, 20:00 — 21:30
Лектор: Михаил Чугунов
Service mesh. Знакомство с Istio и Envoy
изучить, что такое service mesh;
познакомиться с Istio.
20 июля, 20:00 — 21:30
Лектор: Денис Лавров
Istio
познакомиться с лучшими практиками работы с Istio и service mesh.
22 июля, 20:00 — 21:30
Лектор: Михаил Чугунов
Хранилище секретов для приложений. Vault // ДЗ
знать, как хранить чувствительные данные в рамках кластера;
знать, как устроен HashiCorp Vault, как приложения и кластер могут взаимодействовать с HashiCorp Vault.
27 июля, 20:00 — 21:30
Лектор: Михаил Чугунов
Домашние задания: 1
ДЗ
Настройка Vault и секретов. 1. Установить в кластер hashicorp vault в HA режиме и научиться его конфигурировать.
2. Понять как работает хранилище секретов, как создавать секреты в нем, роли и политики доступа
3. Установить External Secret Operator и настроить его для получения секретов, хранящихся в vault


Все действия описаны в методическом указании [по ссылке](https://docs.google.com/presentation/d/1DQxTSeO28a_4N6LpxjDawZkJWYOjSEWi/edit?usp=sharing&ouid=115091978751816149816&rtpof=true&sd=true).
Проектирование Internal Developer Platform
проектировать Internal Developer Platform для стандартизации разработки и снижения операционной нагрузки.
29 июля, 20:00 — 21:30
Лектор: Алексей Кузнецов
Kubernetes в деталях
В этом модуле изучим ключевые компоненты Kubernetes и их роль в работе кластера, подходы к установке, конфигурации, обновлению и мониторингу, а также типы инсталляций и их особенности. Познакомимся с сетевыми подсистемами, интерфейсами взаимодействия и механизмами безопасности.

Практическая часть направлена на развёртывание отказоустойчивого и безопасного кластера с использованием подхода «инфраструктура как код».
Компоненты Kubernetes: api-server, scheduler, kubelet, etcd
проанализировать архитектуру Kubernetes;
проанализировать принципы взаимодействия управляющих компонентов;
рассмотреть путь от применения манифеста до создания pod в кластере.
10 августа, 20:00 — 21:30
Лектор: Михаил Чугунов
CRI. Обзор контейнерных runtime
сделать выбор в пользу того или иного контейнерного runtime;
интегрировать сборку OCI совместимых образов в CI/CD процесс;
рассмотреть процесс запуска контейнера с использованием runc.
12 августа, 20:00 — 21:30
Лектор: Денис Лавров
CNI. Обзор существующих сетевых подсистем Kubernetes
разобраться в сетевой подсистеме Kubernetes;
рассмотреть сетевые плагины;
разобраться как происходит взаимодействие CNI kubelet runtime.
18 августа, 20:00 — 21:30
Лектор: Эрик Арайс
CSI. Обзор подсистем хранения данных в Kubernetes // ДЗ
повторить Volumes, их виды, уместность применения;
углубиться в реализацию Storage на ноде;
посмотреть на реализацию PersistentVolumes и PersistentVolumeClaim;
разобраться с Dynamic Provisioning;
поговорить про CSI;
посмотреть, как устанавливается CSI-драйвер;
посмотреть на реализацию снапшотов в CSI.
19 августа, 20:00 — 21:30
Лектор: Михаил Чугунов
Домашние задания: 1
ДЗ
Развертывание системы хранения данных. 1. Установить и сконфигурировать CSI driver для Yandex Object Storage
2. Запускать и использовать полезную нагрузку, использующую для хранения бакеты в Yandex Object Storage



Все действия описаны в методическом указании [по ссылке](https://docs.google.com/presentation/d/1AvX3yWHEtdTp1mOhrIza7wXUZ963n0eD/edit?usp=sharing&ouid=115091978751816149816&rtpof=true&sd=true).
eBPF-наблюдаемость Kubernetes
изучить eBPF-инструменты Cilium, Hubble и Pixie для диагностики сетевых и runtime-проблем в кластере Kubernetes.
24 августа, 20:00 — 21:30
Лектор: Дмитрий Золотов
Диагностика и отладка кластера и приложений в нем // ДЗ
разобраться, с чего стоит начать отладку кластера Kubernetes и приложений работающих в нем.
26 августа, 20:00 — 21:30
Лектор: Алексей Кузнецов
Домашние задания: 1
ДЗ
Диагностика и отладка кластера Kubernetes. Научиться отлаживать контейнеры и ноды Kubernetes с помощью эфемерных контейнеров и kubectl debug


Все действия описаны в методическом указании [по ссылке](https://docs.google.com/presentation/d/19HoaYyIcq_QBgyePqXAIvkmw9hqIkfOi/edit?usp=sharing&ouid=115091978751816149816&rtpof=true&sd=true).
Варианты создания кластера Kubernetes: Hard way, kubespray, rancher и аналоги.
познакомиться с вариантами создания кластера kubernetes
31 августа, 20:00 — 21:30
Лектор: Михаил Чугунов
Подходы к развертыванию и обновлению production-grade кластера // ДЗ
объяснить, как с минимальными простоями обновить работающий кластер.
2 сентября, 20:00 — 21:30
Лектор: Михаил Чугунов
Домашние задания: 1
ДЗ
Создание и обновление кластера при помощи kubeadm. 1. Создать кластер с использованием kubeadm
2. Понять как обновить кластер до нужной версии kubernetes с использованием kubeadm
3. Создать кластер с использованием kubespray



Все действия описаны в методическом указании [по ссылке](https://docs.google.com/presentation/d/1smdNbJyaUR6zCObYpH7sGM15n32eK-jP/edit?usp=sharing&ouid=115091978751816149816&rtpof=true&sd=true).
Резервное копирование кластера Kubernetes с помощью Heptio Velero, Ротация сертификатов, Cert-manager
разобраться с резервным копированием кластера Kubernetes, и восстановлением из резервной копии;
рассмотреть ручную ротацию сертификатов через kubeadm и без;
установить и настроить Cert-manager, разобраться в возможностях Cert-manager.
7 сентября, 20:00 — 21:30
Лектор: Константин Сыроватский
Проектная работа
Заключительный месяц курса посвящен проектной работе. Проект – это самая интересная часть обучения. Вы будете разрабатывать его на основе полученных на курсе навыков и компетенций. В процессе работы над проектом можно получить консультацию преподавателей.
Платформенная команда и продуктовые команды. Выбор темы и организация проектной работы
выбрать и обсудить тему проектной работы;
спланировать работу над проектом;
ознакомиться с регламентом работы над проектом.
9 сентября, 20:00 — 21:30
Лектор: Денис Лавров
Домашние задания: 1
ДЗ
Проектная работа. Все требования описаны в методическом указании.
Защита проектных работ
защитить проект и получить рекомендации экспертов.
7 октября, 20:00 — 21:30
Лектор: Денис Лавров

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

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

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

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

F.A.Q.: Наиболее часто задаваемые вопросы:

Нужно ли оплачивать обучение до Дня открытых дверей, если я хочу гарантированно попасть в группу?
Да, мы рекомендуем заранее оплатить обучение, чтобы гарантированно попасть в группу. В период проведения Дня открытых дверей резко возрастает количество желающих обучаться, поэтому может случиться так, что к окончанию Дня открытых дверей мест в группе не останется
Кто будет проводить День открытых дверей?
Проводить День открытых дверей будет преподаватель курса.
Как принять участие в Дне открытых дверей?
Для того, чтобы принять участие в Дне открытых дверей, оставьте свой e-mail в поле регистрации на мероприятие. Перед началом Дня открытых дверей мы пришлем вам ссылку, пройдя по которой, вы сможете присоединиться к вебинару.
Какие вопросы будем обсуждать на Дне открытых дверей?
На дне открытых дверей мы поговорим о проекте OTUS (о программе курса, почему мы не принимаем в группы новичков, почему учиться у нас интересно, но сложно), карьерных перспективах выпускников (почему вероятность карьерного роста у лучших студентов стремится к 100%), учебном процессе (оплатах, оценке знаний, сертификатах и прочих аспектах). Также ведущий мероприятия с радостью ответит на все ваши вопросы.