Курс DevOps для профессионалов: Kubernetes и CI/CD на основе Gitlab предназначим для специалистов желающих структурировать и расширить свои знания в области DevOps.
Продолжительность: 40 академических часов
Тема 1: Kubernetes, основные понятия и архитектура
- Преимущества Kubernetes для разработки и развёртывания приложений
- Особенности проектирования приложений для Kubernetes
- Основные принципы контейнеризации
- Архитектура и концепты Kubernetes: Nodes, Pods, Containers, ReplicaSets, Deployments.
Тема 2: Установка и настройка Kubernetes-кластера. Подготовка приложений к работе
- Установка Kubectl, Minikube, Docker
- запуск Minikube для валидации инсталляции
- Подготовка kubespray
- Разворачивание и работа с кластером
- Упаковка приложений для запуска в Kubernetes
ПР АКТИКА: Работа с Minikube на локальной Linux-машине, либо на облачном хостинге. Cбор учебного контейнера и push образа в реестр контейнеров.
Тема 3: Работа c Kubernetes
- Развертывание приложений на Kubernetes: манифесты, ресурсы, жизненный цикл
- Механика запуска и взаимодействия контейнеров в Kubernetes. Основы Services, Labels и Selectors
- Изучение namespace, pod, deployment, service & ingress
- Масштабирование, обновление и мониторинг приложений в Kubernetes
- Безопасность и управление доступом
- Управление конфигурацией и секретами в Kubernetes: изучение config map, secret, persistent volume claim
ПР АКТИКА: Создание namespace. Подготовка конфигов Kubernetes для БД.
Подготовка ConfigMaps, Annotations и Secrets для проекта.
Подготовка YAML-файлов Работа с метками, сервисами и селекторами
Разворачивание простого приложения в кластере и обеспечение его доступности и корректной работы
Знакомство c liveness и readiness пробами
Тема 4: Сетевая подсистема и хранение данных в Kubernetes. Background Processing в Kubernetes.
- Разбор дополнительных сущностей Kubernetes: Stateful set, Replica set, Storage class, Volume, Service accounts, Cert manager
- Разбор функционала и особенностей сущностей Job и CronJob
ПР АКТИКА: Настройка Job и CronJob. Создание Persistent Volume и Stateful Sets.
Тема 5 (опционально): Основы командной разработки и Git.
- Основные подходы к современной командной разработке
- Системы контроля версий, основные функции, интеграция в процесс разработки
- Популярные хостинги разработки ПО: Gitlab, Github.
- Что такое репозитории и как ими пользоваться.
- Коммиты. Сохранение изменений в репозитории.
- Ветвление в Git. Обмен изменениями с удалёнными репозиториями.
- Сложные кейсы слияния веток. Управление историей изменений в Git
- Удачные модели ветвления в Git
- Сode-review и как Gitlab помогает его организовать
- Что такое CI / CD? Как с ними интегрируется Git? ПР АКТИКА:
- Регистрация на Gitlab, Создание личной конфигурации Git для удобной работы
Тема 6: Внедрение CI/CD с использованием Gitlab
- Основы непрерывной интеграции и непрерывной доставки
- Установка и настройка Gitlab для CI/CD
- Создание пайплайнов CI/CD в Gitlab: настройка стадий, задач и триггеров
- Примеры сложных пайплайнов
- Полезные технологии для CI/CD (kaliko и т. д.)
- Интеграция Gitlab и Kubernetes для автоматического развертывания и обновления приложений
- Разбор готовой конфигурации-примера
ПР АКТИКА: Настройка CI/CD-пайплайна в Gitlab CI
Развёртывание простого веб-приложения из репозитория и подключение к нему
Тема 7: Оптимизация и мониторинг Kubernetes
- Пакетный менеджер Helm. Конфигурация и развертывание пакетов
- Методы оптимизации и мониторинга производительности Kubernetes
- Использование инструментов мониторинга и трассировки, таких как Prometheus, Grafana, Jaeger
- Получение и отображение метрик Kubernetes и запущенных приложениях на дашборде
- Логирование и трейсы. ElasticSearch, FluentD, Kibana.
- Распределенное логирование с Jaeger.
- Разработка и внедрение политик автомасштабирования и балансировки нагрузки
ПР АКТИКА: Создание и настройка Prometheus с помощью Helm 3 Получение и работа с метриками в Grafana
Сборка EFK, настройка Jaeger и open tracing для проекта Настройка автоскейлинга для проекта
Тема 8. Автоматизация инфраструктуры с помощью кода
- Использование инструментов автоматизации инфраструктуры, таких как Terraform, Ansible
- Разработка и развертывание инфраструктуры Kubernetes с помощью кода
- Оптимизация и автоматизация процесса управления инфраструктурой с использованием IaC
Тема 9. Безопасность в Kubernetes и CI/CD
- Основы безопасности в Kubernetes: авторизация, аутентификация, RBAC
- Защита контейнеров и приложений от угроз безопасности
- Интеграция проверок безопасности в пайплайн CI/CD
- Обеспечение безопасности настройки Kubernetes и Gitlab
ПР АКТИКА: Настройка безопасного хранения приватной информации приложений в Vault Внедрение service mesh Istio и настройка mTLS для безопасного взаимодействия контейнеров.
Тема 10. Практика DevOps в реальных проектах
- Изучение реальных DevOps-практик и инструментов в реальных проектах
- Подходы к развертыванию и обновлению production-grade кластера
- Анализ и решение реальных проблем в процессе разработки и развертывания ПО
- Диагностика и отладка кластера и приложений в нем.
- Лекции 0
- Тесты 0
- Учебное время 10 недель
- Навык Все уровни
- Язык Английский
- Студенты 0
- Оценки Да