Съдържание и теми, включени в курса
Модул 1: Проектиране на микросервиси
• Добре дефинирани граници на микросервиза
• Използване на доменно-ориентиран дизайн (DDD)
• Алтернативи на бизнес доменните граници (волатилност, данни, технология, организация)
• Разделяне на монолита
• Преждевременна декомпозиция
• Декомпозиция по слой
• Използване на модели за декомпозиция (Strangler, паралелно стартиране, feature toggle)
• Проблеми при декомпозицията на данни (производителност, целостност, транзакции)
Модул 2: Оптимизиране на Docker и runtime
• Избор на подходящо базово изображение
• Минимизиране на броя слоеве
• Използване на многоетапни построения
• Оптимизация на изображенията (сортиране на многостранните аргументи и др.)
• Разчитане на кеша при построение
• Фиксиране на версиите на изображенията
• Финна настройка на разпределението на ресурсите
• Практики за сигурност на контейнерите
• Конфигурация на runtime за производителност
Модул 3: Kubernetes и стратегии за релийз
Преглед на Deploy-овете в Kubernetes
• Създаване и изпълнение на първоначален деплой
• Опции на Kubernetes за deploy
Извършване на плавно обновление на деплоите
• Разбиране на плавното обновление
• Създаване и изпълнение на плавно обновление
• Откат на deploy-а
Извършване на канаръчния деплой
• Разбиране на канаръчният деплой
• Създаване и изпълнение на канаръчния деплой
Извършване на синьо-зеленият деплой
• Разбиране на синьо-зеленият деплой
• Създаване и изпълнение на синьо-зеленият деплой
Работа с Jobs и CronJobs
• Създаване на Job и CronJob
Извършване на задачи за мониторинг и дебъгване
• Техники за дебъгване с kubectl
Модул 4: Автоматизация и оперативна ефективност
Използване на Python за автоматизиране на често срещани задачи в Kubernetes
• Използване на Python за административни операции в Kubernetes
• Използване на Python за дефиниране на конфигурационни обекти
• Използване на Python за създаване на Deployment обекти
• Наблюдение на събитията в Kubernetes чрез Python
• Мащабиране на Deploy-а чрез Python
Разбиране на предизвикателствата при автоматизирането на деплоите
• Декларативна конфигурация с Kubernetes
• Управление на целостта на конфигурацията
Използване на подхода GitOps за автоматизиране на деплоите
• Принципи на GitOps
• Въвеждане на Flux
• Инсталиране на Flux в Kubernetes кластер
Конфигуриране на Flux за автоматизирани деплои
• Използване на известия
• Структура на repository-то
Обработка на актуализации на приложения с автоматизация на изображенията
• Актуализиране на deploy-а на приложение чрез Flux
• Скенериране на image repositories за тагове
• Дефиниране на политика за избор на най-новото изображение
• Конфигуриране на Flux за автоматично обновяване на изображенията
Модул 5: Наблюдаемост и яснота на коренната причина
Възможности за логване и проследяване в Kubernetes
• Защо са важни логването и проследяването
• Достъп до логовете на Kubernetes
• Логи на Pod и контейнерите
• Логи на контролната планова част
• Използване на ресурси от възлите и pod-овете
Събиране и анализ на логовете
• Агрегация на логове
• Визуализация на логове
Разпределено проследяване в Kubernetes
• Какво е разпределено проследяване
• Използване на OpenTelemetry
• Инструменти за разпределено проследяване
• Инструментализиране на приложение
• Използване на проследяването за откриване на проблеми с производителността
Мониторинг с Prometheus и Grafana
• Концепции за наблюдаемост
• Инструменти за мониторинг
• Използване на инструментите за Prometheus
Разширени случайи за употреба при логване
• Обработка на логове
• Филтриране и обогатяване на логове
• Event Sourcing
Модул 6: Симулация на криза в кластера и реагиране при инциденти
• Разбиране на различните видове откази в среда на кластер
• Симулиране на откази на възел
• Евакуация на Pod и сценарий за изчерпване на ресурсите
• Мрежови проблеми
• Отказ на DNS за обработка на таймаутите при приложенията
• Симулиране на отказ на API сървъра
• Симулиране на високо натоварване за стабилност на системата
• Отказ на съхранението
• Грешки в конфигурацията
• Разбиране на процедурите за докладване при инциденти
Модул 7: AI за подпомагане на дебъгването
• Предимства на генеративния AI за Kubernetes
• Архитектура на CLI на K8sGPT
• Инсталиране на CLI на K8sGPT
• Команди и употреба на K8sGPT
• Използване на анализатори на K8sGPT (podAnalyzer, pvcAnalyzer, rsAnalyzer и др.)
• Анализ на кластера с K8sGPT
• Анализ на реалновременни проблеми с K8sGPT
• Оператор в кластера за K8sGPT
Изисквания
- Базови познания за командния ред на Linux
- Опит с разработка на приложения или системна администрация
- Запознаватост с контейнерите (концепции на Docker)
- Базово разбиране на концепциите на Kubernetes (pod, deployments, services)
- Общо разбиране за софтуерната архитектура (например API-та, услуги)
Целева аудитория:
- DevOps инженери
- Инженери за сигурност на сайтове (SREs)
- Бекенд / Софтуерни разработчици, работещи с микросервиси
- Cloud инженери и Platform инженери
-
Системни администратори, които преминават към Kubernetes среди
Отзиви от участници (2)
Крейг беше изключително ангажиран с обучението, винаги осигурявайки, че объртаме внимание, адаптираше примерите към нашата дневна дейност и винаги даваше отговор, когато му зададем въпрос, дори ако информацията не беше включена в презентацията.
Ecaterina Ioana Nicoale - BOOKING HOLDINGS ROMANIA SRL
Курс - DevOps Foundation®
Машинен превод
Висок ниво на ангажираност и знания на треньора
Jacek - Softsystem
Курс - DevOps Engineering Foundation (DOEF)®
Машинен превод