1 added
1 removed
Original
2026-01-01
Modified
2026-02-19
1
-
<p>Практический симулятор разного рода инцидентов в продакшн-кластере. Благодаря этой практике можно прокачать скиллы дебага и восстановления кластера без риска для реального прода.</p>
1
+
<p>Траблшутинг неисправностей в продакшн-кластере. Прокачайте навык выявления и устранения неисправностей без риска для реального прода.</p>
2
<p>Практические задания с решением от эксперта в конце и возможностью проверить себя</p>
2
<p>Практические задания с решением от эксперта в конце и возможностью проверить себя</p>
3
<p>Предоставляем полную инфраструктуру для выполнения практических задач. На этих стендах смоделированы реальные инциденты - протухшие сертификаты, сбои etcd, ошибки kubelet, неравномерное распределение подов и другие сбои кластеров</p>
3
<p>Предоставляем полную инфраструктуру для выполнения практических задач. На этих стендах смоделированы реальные инциденты - протухшие сертификаты, сбои etcd, ошибки kubelet, неравномерное распределение подов и другие сбои кластеров</p>
4
<p>Отрабатываете именно те сценарии, которые могут случиться в реальных проектах. Вы уже будете готовы к любому сбою в боевом кластере, поскольку научились с ним справляться заранее</p>
4
<p>Отрабатываете именно те сценарии, которые могут случиться в реальных проектах. Вы уже будете готовы к любому сбою в боевом кластере, поскольку научились с ним справляться заранее</p>
5
<p>Безопасность обучения: вы тренируетесь на копиях продакшена, без риска вызвать простой сервисов или потерю данных</p>
5
<p>Безопасность обучения: вы тренируетесь на копиях продакшена, без риска вызвать простой сервисов или потерю данных</p>
6
<p>Диагностике и устранении инцидентов</p>
6
<p>Диагностике и устранении инцидентов</p>
7
<p>Поиске причин проблем в сертификатах, сетевых политиках, kubelet, etcd и пр.</p>
7
<p>Поиске причин проблем в сертификатах, сетевых политиках, kubelet, etcd и пр.</p>
8
<p>Настройке надежного кластера (обновления, ротация сертификатов, Service Mesh и др.</p>
8
<p>Настройке надежного кластера (обновления, ротация сертификатов, Service Mesh и др.</p>
9
<p>SRE в крупном нидерландском тревелтехе, Ex-Avito Senior Software Engineer</p>
9
<p>SRE в крупном нидерландском тревелтехе, Ex-Avito Senior Software Engineer</p>
10
<ul><li>Пишет сложные проекты с нетривиальной бизнес-логикой на php, python, golang и немного на java и nodejs</li>
10
<ul><li>Пишет сложные проекты с нетривиальной бизнес-логикой на php, python, golang и немного на java и nodejs</li>
11
</ul><ul><li>Реализовывал динамические интерфейсы на React и Vue. js</li>
11
</ul><ul><li>Реализовывал динамические интерфейсы на React и Vue. js</li>
12
</ul><ul><li>Строит инфраструктуру под проекты в публичных облаках</li>
12
</ul><ul><li>Строит инфраструктуру под проекты в публичных облаках</li>
13
</ul><ul><li>9+ лет в коммерческой разработке</li>
13
</ul><ul><li>9+ лет в коммерческой разработке</li>
14
</ul><ul><li>Работал в стартапах, на аутсорс и в продуктовых командах</li>
14
</ul><ul><li>Работал в стартапах, на аутсорс и в продуктовых командах</li>
15
</ul><ul><li>Разрабатывал фронтенд, настраивал CI/CD и AWS, оптимизировал бэкенд и проводил технические собеседования</li>
15
</ul><ul><li>Разрабатывал фронтенд, настраивал CI/CD и AWS, оптимизировал бэкенд и проводил технические собеседования</li>
16
</ul><p>"Траблшутеры заставляют копать внутрь k8s, это помогает быстро понять "как всё устроено под капотом“. Лучший способ научиться: сломать кластер и починить кластер, поэтому чините всё, что можно починить! В задачах вы будете разбирать реальные поломки k8s"</p>
16
</ul><p>"Траблшутеры заставляют копать внутрь k8s, это помогает быстро понять "как всё устроено под капотом“. Лучший способ научиться: сломать кластер и починить кластер, поэтому чините всё, что можно починить! В задачах вы будете разбирать реальные поломки k8s"</p>
17
<ul><li>Опыт работы в Kubernetes - можно получить на курсе Kubernetes База</li>
17
<ul><li>Опыт работы в Kubernetes - можно получить на курсе Kubernetes База</li>
18
<li>Базовые знания по Linux, сетям и Docker (или другой системе контейнеризации)</li>
18
<li>Базовые знания по Linux, сетям и Docker (или другой системе контейнеризации)</li>
19
</ul><p>DevOps-инженеры и системные администраторы</p>
19
</ul><p>DevOps-инженеры и системные администраторы</p>
20
<p>Научиться дебажить проблемы с упавшим кластером</p>
20
<p>Научиться дебажить проблемы с упавшим кластером</p>
21
<p>Кластер работает нестабильно. Kubectl может выдавать ошибки либо отваливаться по таймауту</p>
21
<p>Кластер работает нестабильно. Kubectl может выдавать ошибки либо отваливаться по таймауту</p>
22
<ul><li>Работать с упавшим control-plane, когда kubectl недоступен</li>
22
<ul><li>Работать с упавшим control-plane, когда kubectl недоступен</li>
23
</ul><ul><li>Использовать crictl для просмотра контейнеров и диагностики</li>
23
</ul><ul><li>Использовать crictl для просмотра контейнеров и диагностики</li>
24
</ul><ul><li>Восстанавливать работоспособность кластера без пересоздания</li>
24
</ul><ul><li>Восстанавливать работоспособность кластера без пересоздания</li>
25
</ul><ul><li>Анализировать логи компонентов (APIi-server, etcd, controller-manager)</li>
25
</ul><ul><li>Анализировать логи компонентов (APIi-server, etcd, controller-manager)</li>
26
</ul><p>Почему это важная задача при работе с Kubernetes?</p>
26
</ul><p>Почему это важная задача при работе с Kubernetes?</p>
27
<p><strong>Какую профессиональную задачу решает troubleshooter:</strong></p>
27
<p><strong>Какую профессиональную задачу решает troubleshooter:</strong></p>
28
<p>Восстановление кластера в Kubernetes. По данным<a>dsn2024uq.github.io</a>33% инцидентов в K8s связаны с misconfigurations.</p>
28
<p>Восстановление кластера в Kubernetes. По данным<a>dsn2024uq.github.io</a>33% инцидентов в K8s связаны с misconfigurations.</p>
29
<p><strong>Падение control-plane </strong>- это полная остановка продукта и потеря управления сервисами. Control-plane Kubernetes - это "мозг" кластера. Если он работает нестабильно (например, падает API-server), инженеры теряют управление всеми приложениями. Продукт полностью останавливается нельзя обслуживать заказы, принимать платежи, выпускать новые версии.</p>
29
<p><strong>Падение control-plane </strong>- это полная остановка продукта и потеря управления сервисами. Control-plane Kubernetes - это "мозг" кластера. Если он работает нестабильно (например, падает API-server), инженеры теряют управление всеми приложениями. Продукт полностью останавливается нельзя обслуживать заказы, принимать платежи, выпускать новые версии.</p>
30
<p>Научиться дебажить проблемы с kubelet</p>
30
<p>Научиться дебажить проблемы с kubelet</p>
31
<p>На какой-то ноде не создаются поды</p>
31
<p>На какой-то ноде не создаются поды</p>
32
<ul><li>Понимать работу kubelet и его влияние на запуск подов</li>
32
<ul><li>Понимать работу kubelet и его влияние на запуск подов</li>
33
</ul><ul><li>Диагностировать проблемы на уровне ноды</li>
33
</ul><ul><li>Диагностировать проблемы на уровне ноды</li>
34
</ul><ul><li>Настраивать kubelet и применять новые конфигурации</li>
34
</ul><ul><li>Настраивать kubelet и применять новые конфигурации</li>
35
</ul><ul><li>Проверять распределение подов по узлам и восстанавливать баланс</li>
35
</ul><ul><li>Проверять распределение подов по узлам и восстанавливать баланс</li>
36
</ul><p>Почему это важная задача при работе с Kubernetes?</p>
36
</ul><p>Почему это важная задача при работе с Kubernetes?</p>
37
<p><strong>Какую профессиональную задачу решает troubleshooter:</strong></p>
37
<p><strong>Какую профессиональную задачу решает troubleshooter:</strong></p>
38
<p>Регулярная диагностика узлов. По данным cloudraft. io, Node-NotReady вызывает сбои в проде.</p>
38
<p>Регулярная диагностика узлов. По данным cloudraft. io, Node-NotReady вызывает сбои в проде.</p>
39
<p>Нода с "мёртвым" kubelet приводит к невыполненным запросам и падению доступности. Каждая нода кластера обрабатывает часть бизнес-нагрузки: хранит поды платежных сервисов, каталогов товаров, систем уведомлений. Если kubelet на ноде работает неправильно, новые поды не запускаются, часть пользователей теряет доступ к сервису. Это прямые убытки и потеря доверия клиентов.</p>
39
<p>Нода с "мёртвым" kubelet приводит к невыполненным запросам и падению доступности. Каждая нода кластера обрабатывает часть бизнес-нагрузки: хранит поды платежных сервисов, каталогов товаров, систем уведомлений. Если kubelet на ноде работает неправильно, новые поды не запускаются, часть пользователей теряет доступ к сервису. Это прямые убытки и потеря доверия клиентов.</p>
40
<p>Научиться настраивать K8s scheduler для специальных случаев, когда стандартные настройки scheduler будут распределять поды не самым подходящим образом</p>
40
<p>Научиться настраивать K8s scheduler для специальных случаев, когда стандартные настройки scheduler будут распределять поды не самым подходящим образом</p>
41
<p>Поды распределяются по нодам не самым подходящим образом</p>
41
<p>Поды распределяются по нодам не самым подходящим образом</p>
42
<ul><li>Работать с kube-scheduler и его конфигурацией</li>
42
<ul><li>Работать с kube-scheduler и его конфигурацией</li>
43
</ul><ul><li>Настраивать affinity/anti-affinity, taints и tolerations</li>
43
</ul><ul><li>Настраивать affinity/anti-affinity, taints и tolerations</li>
44
</ul><ul><li>Управлять распределением подов в кластере</li>
44
</ul><ul><li>Управлять распределением подов в кластере</li>
45
</ul><ul><li>Оптимизировать использование ресурсов и повышать отказоустойчивость</li>
45
</ul><ul><li>Оптимизировать использование ресурсов и повышать отказоустойчивость</li>
46
</ul><p>Почему это важная задача при работе с Kubernetes?</p>
46
</ul><p>Почему это важная задача при работе с Kubernetes?</p>
47
<p><strong>Какую профессиональную задачу решает troubleshooter:</strong></p>
47
<p><strong>Какую профессиональную задачу решает troubleshooter:</strong></p>
48
<p>Scheduler - мощный инструмент, но им мало кто качественно управляет. В этом задании вы можете с ним поработать.</p>
48
<p>Scheduler - мощный инструмент, но им мало кто качественно управляет. В этом задании вы можете с ним поработать.</p>
49
<p>Неправильный scheduling - это значит, что одни узлы перегружены, другие простаивают. А это всегда история про деньги. При высокой нагрузке (например, в "чёрную пятницу" для e-commerce) поды должны равномерно распределяться по нодам. Если scheduler этого не делает, часть узлов перегружается, сервис замедляется или падает. Бизнес теряет заказы именно в пиковый момент, когда доход должен быть максимальным.</p>
49
<p>Неправильный scheduling - это значит, что одни узлы перегружены, другие простаивают. А это всегда история про деньги. При высокой нагрузке (например, в "чёрную пятницу" для e-commerce) поды должны равномерно распределяться по нодам. Если scheduler этого не делает, часть узлов перегружается, сервис замедляется или падает. Бизнес теряет заказы именно в пиковый момент, когда доход должен быть максимальным.</p>
50
<p>Проверить понимание работы PriorityClass и ResourceQuota, а так же использование SecurityContext</p>
50
<p>Проверить понимание работы PriorityClass и ResourceQuota, а так же использование SecurityContext</p>
51
<p>Не работает scheduling подов с critical-priority, не стартуют поды set-time</p>
51
<p>Не работает scheduling подов с critical-priority, не стартуют поды set-time</p>
52
<ul><li>Работать с PriorityClass и механизмом preemption</li>
52
<ul><li>Работать с PriorityClass и механизмом preemption</li>
53
</ul><ul><li>Настраивать ResourceQuota для ограничения ресурсов</li>
53
</ul><ul><li>Настраивать ResourceQuota для ограничения ресурсов</li>
54
</ul><ul><li>Применять SecurityContext без избыточных привилегий</li>
54
</ul><ul><li>Применять SecurityContext без избыточных привилегий</li>
55
</ul><ul><li>Гарантировать запуск критичных сервисов даже в условиях дефицита ресурсов</li>
55
</ul><ul><li>Гарантировать запуск критичных сервисов даже в условиях дефицита ресурсов</li>
56
</ul><p>Почему это важная задача при работе с Kubernetes?</p>
56
</ul><p>Почему это важная задача при работе с Kubernetes?</p>
57
<p><strong>Какую профессиональную задачу решает troubleshooter:</strong></p>
57
<p><strong>Какую профессиональную задачу решает troubleshooter:</strong></p>
58
<p>Помогает реализовать security, выстроить SLA и бизнес-приоритеты. По<a>данным Squadcast</a>, SRE-метрики показывают рост MTTR и burnout без правильного приоритета по данным платформы.</p>
58
<p>Помогает реализовать security, выстроить SLA и бизнес-приоритеты. По<a>данным Squadcast</a>, SRE-метрики показывают рост MTTR и burnout без правильного приоритета по данным платформы.</p>
59
<p>Если критичные поды не запускаются, то падают ключевые бизнес-функции:</p>
59
<p>Если критичные поды не запускаются, то падают ключевые бизнес-функции:</p>
60
<ul><li>платёжный сервис - без него теряется прибыль;</li>
60
<ul><li>платёжный сервис - без него теряется прибыль;</li>
61
<li>аутентификация - пользователи не могут войти в продукт;</li>
61
<li>аутентификация - пользователи не могут войти в продукт;</li>
62
<li>API Gateway - без него недоступны все остальные сервисы.</li>
62
<li>API Gateway - без него недоступны все остальные сервисы.</li>
63
</ul><p>Если такие поды не стартуют из-за лимитов ресурсов или неправильных настроек, бизнес теряет ключевые функции.</p>
63
</ul><p>Если такие поды не стартуют из-за лимитов ресурсов или неправильных настроек, бизнес теряет ключевые функции.</p>
64
<p>Научиться работать с сетевыми политиками (NetworkPolicy)</p>
64
<p>Научиться работать с сетевыми политиками (NetworkPolicy)</p>
65
<p>Вам предоставлен кластер с четырьмя воркер-нодами, распределёнными по разным зонам доступности. Для этого на всех нодах есть label region с конкретным значением (west, east, south, north). В качестве CNI используется Calico, а для управления конфигурацией на masternode вам доступен calicoctl. Но вот незадача: не всё работает, не все поды запускаются…</p>
65
<p>Вам предоставлен кластер с четырьмя воркер-нодами, распределёнными по разным зонам доступности. Для этого на всех нодах есть label region с конкретным значением (west, east, south, north). В качестве CNI используется Calico, а для управления конфигурацией на masternode вам доступен calicoctl. Но вот незадача: не всё работает, не все поды запускаются…</p>
66
<ul><li>Настраивать сетевые политики (NetworkPolicy)</li>
66
<ul><li>Настраивать сетевые политики (NetworkPolicy)</li>
67
</ul><ul><li>Работать с Calico для управления CNI-конфигурацией</li>
67
</ul><ul><li>Работать с Calico для управления CNI-конфигурацией</li>
68
</ul><ul><li>Диагностировать и устранять неисправности в сетевом взаимодействии между зонами доступности (multi-AZ) в кластере Kubernetes</li>
68
</ul><ul><li>Диагностировать и устранять неисправности в сетевом взаимодействии между зонами доступности (multi-AZ) в кластере Kubernetes</li>
69
</ul><p>Почему это важная задача при работе с Kubernetes?</p>
69
</ul><p>Почему это важная задача при работе с Kubernetes?</p>
70
<p><strong>Какую профессиональную задачу решает troubleshooter:</strong></p>
70
<p><strong>Какую профессиональную задачу решает troubleshooter:</strong></p>
71
<p>Настраивать и восстанавливать сетевое взаимодействие между сервисами и зонами доступности в распределённом кластере, обеспечивая связность, отказоустойчивость и безопасность сетевых коммуникаций.</p>
71
<p>Настраивать и восстанавливать сетевое взаимодействие между сервисами и зонами доступности в распределённом кластере, обеспечивая связность, отказоустойчивость и безопасность сетевых коммуникаций.</p>
72
<p>Сетевое взаимодействие - одна из самых сложных и критически важных частей Kubernetes. Ошибки в CNI или NetworkPolicy приводят к изоляции сервисов и полной недоступности части инфраструктуры. Управление сетевыми зависимостями и безопасное устранение проблем гарантируют высокую доступность (HA) и выполнение SLA. По данным Cloud Native Survey, 28% критичных инцидентов в Kubernetes связаны именно с сетевыми ошибками.</p>
72
<p>Сетевое взаимодействие - одна из самых сложных и критически важных частей Kubernetes. Ошибки в CNI или NetworkPolicy приводят к изоляции сервисов и полной недоступности части инфраструктуры. Управление сетевыми зависимостями и безопасное устранение проблем гарантируют высокую доступность (HA) и выполнение SLA. По данным Cloud Native Survey, 28% критичных инцидентов в Kubernetes связаны именно с сетевыми ошибками.</p>
73
<p>Научиться диагностировать ошибки в манифестах, устранять проблемы с доступом к секретам и обеспечивать запуск приложений без нарушения политик безопасности Kyverno и принципов non-root работы.</p>
73
<p>Научиться диагностировать ошибки в манифестах, устранять проблемы с доступом к секретам и обеспечивать запуск приложений без нарушения политик безопасности Kyverno и принципов non-root работы.</p>
74
<ul><li>Возникла проблема, поды не запускаются</li>
74
<ul><li>Возникла проблема, поды не запускаются</li>
75
<li>Что-то настроили некорректно и nginx не стартует</li>
75
<li>Что-то настроили некорректно и nginx не стартует</li>
76
</ul><ul><li>Проверять корректность манифестов с помощью Kyverno</li>
76
</ul><ul><li>Проверять корректность манифестов с помощью Kyverno</li>
77
</ul><ul><li>Работать с Vault и Vault Agent Injector для безопасной передачи секретов</li>
77
</ul><ul><li>Работать с Vault и Vault Agent Injector для безопасной передачи секретов</li>
78
</ul><ul><li>Настраивать доступ приложений к секретам без нарушения принципа наименьших привилегий</li>
78
</ul><ul><li>Настраивать доступ приложений к секретам без нарушения принципа наименьших привилегий</li>
79
</ul><ul><li>Исправлять ошибки в деплойментах, сохраняя их соответствие политике безопасности</li>
79
</ul><ul><li>Исправлять ошибки в деплойментах, сохраняя их соответствие политике безопасности</li>
80
</ul><p>Почему это важная задача при работе с Kubernetes?</p>
80
</ul><p>Почему это важная задача при работе с Kubernetes?</p>
81
<p><strong>Какую профессиональную задачу решает troubleshooter:</strong></p>
81
<p><strong>Какую профессиональную задачу решает troubleshooter:</strong></p>
82
<p>Проверять и исправить ошибки конфигурации манифестов, интегрировать Vault для безопасной работы с секретами и обеспечивать выполнение политик безопасности при деплое приложений.</p>
82
<p>Проверять и исправить ошибки конфигурации манифестов, интегрировать Vault для безопасной работы с секретами и обеспечивать выполнение политик безопасности при деплое приложений.</p>
83
<p>Ошибки в конфигурации манифестов и управлении секретами - основная причина утечек данных и падений сервисов. Правильная валидация YAML-файлов и безопасное использование Vault гарантируют устойчивость кластера и соблюдение DevSecOps-стандартов. По<a>данным Red Hat State of Kubernetes Security Report 2024</a>, значительная часть инцидентов безопасности в Kubernetes связана с некорректным хранением секретов.</p>
83
<p>Ошибки в конфигурации манифестов и управлении секретами - основная причина утечек данных и падений сервисов. Правильная валидация YAML-файлов и безопасное использование Vault гарантируют устойчивость кластера и соблюдение DevSecOps-стандартов. По<a>данным Red Hat State of Kubernetes Security Report 2024</a>, значительная часть инцидентов безопасности в Kubernetes связана с некорректным хранением секретов.</p>
84
<ul><li>№4 Не работает scheduling подов с critical-priority, не стартуют поды set-time - проверка понимания работы PriorityClass и ResourceQuota, использование SecurityContext.</li>
84
<ul><li>№4 Не работает scheduling подов с critical-priority, не стартуют поды set-time - проверка понимания работы PriorityClass и ResourceQuota, использование SecurityContext.</li>
85
</ul><ul><li>№5 Сломанные сетевые политики и конфликты</li>
85
</ul><ul><li>№5 Сломанные сетевые политики и конфликты</li>
86
</ul><ul><li>№6 Валидация манифестов и хранение секретов</li>
86
</ul><ul><li>№6 Валидация манифестов и хранение секретов</li>
87
</ul><ul><li>№ 1 Нестабильный кластер - дебаг упавшего кластера</li>
87
</ul><ul><li>№ 1 Нестабильный кластер - дебаг упавшего кластера</li>
88
</ul><ul><li>№2 Нестабильный kubelet - дебаг проблем с kubelet</li>
88
</ul><ul><li>№2 Нестабильный kubelet - дебаг проблем с kubelet</li>
89
</ul><ul><li>№3 Неравномерное распределение подов - тонкая настройка k8s scheduler, когда стандартные настройки scheduler будут распределять поды не самым подходящим образом</li>
89
</ul><ul><li>№3 Неравномерное распределение подов - тонкая настройка k8s scheduler, когда стандартные настройки scheduler будут распределять поды не самым подходящим образом</li>
90
</ul><p>Именное свидетельство о прохождении курса получает студент, если:</p>
90
</ul><p>Именное свидетельство о прохождении курса получает студент, если:</p>
91
<ul><li>изучил 80% курса</li>
91
<ul><li>изучил 80% курса</li>
92
</ul><ul><li>принимал участие в решении практик, которые входят в курс</li>
92
</ul><ul><li>принимал участие в решении практик, которые входят в курс</li>
93
</ul><ul><li>успешно сдал итоговый проект</li>
93
</ul><ul><li>успешно сдал итоговый проект</li>
94
</ul><p>Если вы считаете, что знания, полученные на курсе, могут быть полезными на вашем текущем месте работы, оставляйте заявку с контактами компании в форме ниже или обсудите покупку курса с вашим руководителем. Как это организовать, что говорить и куда идти -<a>написали здесь.</a></p>
94
</ul><p>Если вы считаете, что знания, полученные на курсе, могут быть полезными на вашем текущем месте работы, оставляйте заявку с контактами компании в форме ниже или обсудите покупку курса с вашим руководителем. Как это организовать, что говорить и куда идти -<a>написали здесь.</a></p>
95
<p>Если ваша задача - обучить больше 30 сотрудников, мы готовы предложить вашей компании корпоративный формат обучения или адаптировать обучение под вас</p>
95
<p>Если ваша задача - обучить больше 30 сотрудников, мы готовы предложить вашей компании корпоративный формат обучения или адаптировать обучение под вас</p>
96
<p>Пример корпоративного обучения по Kubernetes для сотрудников Тинькофф банка →</p>
96
<p>Пример корпоративного обучения по Kubernetes для сотрудников Тинькофф банка →</p>
97
97