Съдържание и теми, включени в курса
Модул 1: Дизайн на микроуслуги
• Добра граница на микроуслуга
• Използване на Domain Driven Design (DDD)
• Алтернативи на границите на бизнес домейна (променливост, данни, технологични, организационни)
• Разделяне на монолита
• Преждевременно разлагане
• Разлагане по слой
• Използване на шаблони за разлагане (Strangler, Parallel Run, Feature Toggle)
• Проблеми при разлагането на данни (производителност, цялостност, транзакции)
Модул 2: Оптимизиране на Docker и работната среда
• Избор на правилния базов образ
• Минимизиране на броя слоеве
• Използване на многоетапни изграждания
• Оптимизация на образа (сортиране на многоредови аргументи и т.н.)
• Използване на кеша за изграждане
• Фиксиране на версиите на образите
• Фина настройка на разпределението на ресурсите
• Практики за сигурни контейнери
• Конфигурация на работната среда за производителност
Модул 3: Kubernetes & стратегии за издаване
Общ преглед на разгръщанията в Kubernetes
• Създаване и изпълнение на първоначално разгръщане
• Опции за разгръщане в Kubernetes
Извършване на разгръщания с Rolling Update
• Разбиране на Rolling Update
• Създаване и изпълнение на Rolling Update
• Връщане на разгръщането
Извършване на Canary разгръщания
• Разбиране на Canary разгръщания
• Създаване и изпълнение на Canary разгръщане
Извършване на Blue-Green разгръщания
• Разбиране на Blue-Green разгръщания
• Създаване и изпълнение на Blue-Green разгръщане
Изпълнение на Jobs и CronJobs
• Създаване на Job и CronJob
Извършване на задачи за мониторинг и отстраняване на проблеми
• Техники за отстраняване на проблеми с kubectl
Модул 4: Автоматизация & оперативна ефективност
Използване на Python за автоматизиране на обичайни задачи в Kubernetes
• Използване на Python за извършване на административни операции в Kubernetes
• Използване на Python за дефиниране на обекти за конфигурация
• Използване на Python за създаване на Deployment обекти
• Наблюдение на събития в Kubernetes с помощта на Python
• Мащабиране на разгръщане с помощта на Python
Разбиране на предизвикателствата при автоматизиране на разгръщанията
• Декларативна конфигурация с Kubernetes
• Управление на целостта на конфигурацията
Използване на подхода GitOps за автоматизиране на разгръщания
• Принципи на GitOps
• Представяне на Flux
• Инсталиране на Flux в Kubernetes клъстер
Конфигуриране на Flux за автоматизирани разгръщания
• Използване на известия
• Структура на изходния хранилище
Обработване на актуализации на приложения с автоматизация на образи
• Актуализиране на разгръщане на приложение с Flux
• Сканиране на хранилища на контейнерни образи за тагове
• Определяне на политика за избор на последен образ
• Конфигуриране на Flux за извършване на автоматични актуализации на образи
Модул 5: Наблюдаемост & яснота на първопричините
Възможности за логване и проследяване в Kubernetes
• Защо логването и проследяването са важни
• Достъп до логовете на Kubernetes
• Логове на Pod и контейнери
• Логове на контролния слой
• Използване на ресурси от възли и Pod
Събиране и анализиране на логовете
• Агрегиране на логове
• Визуализация на логове
Разпределено проследяване в Kubernetes
• Какво е разпределено проследяване
• Използване на OpenTelemetry
• Инструменти за разпределено проследяване
• Инструментиране на приложение
• Използване на проследяване за намиране на проблеми с производителността
Мониторинг с Prometheus и Grafana
• Концепции за наблюдаемост
• Инструменти за мониторинг
• Използване на инструментирането на Prometheus
Напреднали случаи на употреба за логване
• Обработка на логове
• Филтриране и обогатяване на логовете
• Event Sourcing
Модул 6: Симулация на кризи в клъстер & реакция при инциденти
• Разбиране на различните видове откази в среда на клъстер
• Симулиране на откази на възли
• Сценарий с изгонване на Pod и изчерпване на ресурси
• Мрежови проблеми
• DNS откази за обработка на таймаути на приложенията
• Симулиране на недостъпност на API сървъра
• Симулиране на висок трафик за стабилност на системата
• Отказ на хранилище
• Грешки в конфигурацията
• Разбиране на процедурите за докладване на инциденти
Модул 7: AI в подкрепа на отстраняването на проблеми
• Ползи от генеративния AI за Kubernetes
• Архитектура на K8sGPT CLI
• Инсталиране на K8sGPT CLI
• Команди и употреба на K8sGPT
• Използване на анализатори на K8sGPT (podAnalyzer, pvcAnalyzer, rsAnalyzer и др.)
• Анализиране на клъстера с помощта на K8sGPT
• Анализиране на проблеми в реално време с помощта на K8sGPT
• Оператор в клъстера за K8sGPT
Изисквания
- Основни познания по команден ред в Linux
- Опит с разработка на приложения или системна администрация
- Запознатост с контейнери (концепции на Docker)
- Основно разбиране на концепциите на Kubernetes (pods, deployments, services)
- Общо разбиране на софтуерната архитектура (напр. API, услуги)
Целева аудитория:
- DevOps инженери
- Инженери по надеждност на сайтове (SRE)
- Backend / софтуерни разработчици, работещи с микроуслуги
- Облачни инженери и платформени инженери
-
Системни администратори, преминаващи към среди с Kubernetes
Отзиви от участници (2)
Крейг беше изключително ангажиран с обучението, винаги осигурявайки, че объртаме внимание, адаптираше примерите към нашата дневна дейност и винаги даваше отговор, когато му зададем въпрос, дори ако информацията не беше включена в презентацията.
Ecaterina Ioana Nicoale - BOOKING HOLDINGS ROMANIA SRL
Курс - DevOps Foundation®
Машинен превод
Висок ниво на ангажираност и знания на треньора
Jacek - Softsystem
Курс - DevOps Engineering Foundation (DOEF)®
Машинен превод