План на курса
Модул 1: Проектиране на микросервисите
• Добра граница на микросервис
• Използване на домейн-драйвен дизайна (DDD)
• Алтернативи към граници на бизнес домейни (воля, данни, технология, организация)
• Разделение на монолитите
• Преждевремено разбиване
• Декомпозиция по слоеве
• Използване на декомпозиционни шаблони (Strangler, Parallel Run, Feature Toggle)
• Забота за децентрализацията на данните (производителност, целост, транзакции)
Модул 2: Оптимизация на Docker и рутният мениджър
• Избор на правилния базов образ
• Минимизиране броят слоеве
• Използване на многоетапни сградби
• Оптимизация на образите (сортиране на многоредови аргументи и т.н.)
• Извъждане полза от кеша при сградбата
• Пинване на версии на образите
• Подреждане на ресурсното разпределение
• Сигурни практики за контейнери
• Рутна конфигурация за производителност
Модул 3: Kubernetes и стратегии за разполагане
Общ преглед на разполаганията в Kubernetes
• Създаване и изпълнение на първоначално разполагане
• Опции за разполагане с Kubernetes
Провеждане на рулни апдейти
• Разбиране на рулния апдейт
• Създаване и изпълнение на рулен апдейт
• Отмяна на разполагането
Провеждане на канарни разполагания
• Разбиране на канарните разполагания
• Създаване и изпълнение на канарно разполагане
Провеждане на синьо-зелени разполагания
• Разбиране на синьо-зелените разполагания
• Създаване и изпълнение на синьо-зелено разполагане
Разполагане на задачи и CronJobs
• Създаване на задача и CronJob
Провеждане на мониторинг и улеснено премахване на проблемите
• Техники за улеснено премахване на проблеми с kubectl
Модул 4: Автоматизация и оперативна ефективност
Използване на Python за автоматизиране на общи задачи в Kubernetes
• Използване на Python за административни действия в Kubernetes
• Използване на Python за дефиниране на конфигурационни обекти
• Използване на Python за създаване на разполагания обекти
• Отслежване на събитията в Kubernetes с Python
• Маскиране на разполагането с Python
Разбиране на предизвикателствата при автоматизирането на разполаганията
• Декларативна конфигурация с Kubernetes
• Управление на целостта на конфигурацията
Използване на подхода GitOps за автоматизиране на разполаганията
• Принципи на GitOps
• Представяне на Flux
• Инсталиране на Flux в Kubernetes кластер
Конфигуриране на Flux за автоматизирано разполагане
• Използване на уведомления
• Структура на началния репозиторий
Разработка на приложения с автоматизирани политики за образи
• Актуализация на разполагането на приложение с Flux
• Сканване на репозитории с контейнерни образи за тагове
• Дефиниране на политика за избор на най-новите образи
• Конфигуриране на Flux за автоматизирани актуализации на образите
Модул 5: Наблюдаемост и яснота при причини
Възможности за логване и трейсинг в Kubernetes
• Защо са важни логването и трейсингът
• Достъп до логовете на Kubernetes
• Логове на пода и контейнера
• Логове на контролния план
• Използване ресурси на нодите и подовете
Събиране и анализ на логовете
• Агрегация на логовете
• Визуализация на логовете
Разпределен трейсинг в Kubernetes
• Какво е разпределено трейсване
• Използване на OpenTelemetry
• Инструменти за разпределен трейсинг
• Инструментиране на приложение
• Използване на трейсинг за откриване на проблеми с производителността
Мониторинг с Prometheus и Grafana
• Концепции за наблюдаемост
• Инструменти за мониторинг
• Използване на инструментирането с Prometheus
Продвинати приложения за логване
• Обработка на логовете
• Филтриране и обогатяване на логовете
• Источен поток
Модул 6: Симулиране на кризис в кластера и реакция при инциденти
• Разбиране на различните видове неуспехи в кластерна среда
• Симулиране на провал на нод
• Евакуация от под и сценарии при изчерпване на ресурсите
• Мрежови проблеми
• DNS провали за таймаут при обработката на приложенията
• Симулиране на провал в API сървъра
• Симулиране на висок трафик за стабилността на системата
• Провал на съхранението
• Конфигурационни грешки
• Разбиране на процедури за докладване при инциденти
Модул 7: AI за поддръжка при улеснено премахване на проблемите
• Потенциалите на генеративния AI за Kubernetes
• Архитектура на K8sGPT CLI
• Инсталиране на K8sGPT CLI
• Команди и използване на K8sGPT
• Използване на анализатори на K8sGPT (podAnalyzer, pvcAnalyzer, rsAnalyzer и др.)
• Анализ на кластера с K8sGPT
• Анализ на реални проблеми в реално време с K8sGPT
• Оператор в кластер за K8sGPT
Изисквания
- Основни знания за Linux команден ред
- Заетост с разработка на приложения или системна администриране
- Познаване на контейнери (концепции на Docker)
- Основни знания за концепциите Kubernetes (пода, разполагане, услуги)
- Общи знания за архитектурата на софтуера (например API-та, услуги)
Целева група:
- DevOps инженери
- Инженери за надеждност на сайта (SREs)
- Бекенд / софтуерни разработчици, работещи с микросервиси
- Облачни инженери и платформените инженери
-
Системни администратори, преходящи към Kubernetes среди
Отзиви от потребители (1)
реални примери от живота
Maria - Fundacja PTA
Курс - Mastering Make: Advanced Workflow Automation and Optimization
Машинен превод