Курс: Основы работы с Docker и Kubernetes
Продолжительность курса: 40 ак. ч.
Описание курса:
Если вы хотите повысить квалификацию и поднять свой профессиональный уровень на ступень выше, то вы пришли по адресу. IT-курс «Основы работы с Docker и Kubernetes» в короткий срок поможет вам применять теорию на практике с тем, чтобы в дальнейшем получать удовольствие от того, чем вы занимаетесь ежедневно. После прохождения курса вы сможете уверенно управлять инфраструктурой контейнеров Docker, разворачивать и управлять микросервисными приложениями в кластере Kubernetes.
Аудитория:
• DevOps-инженеры и системные администраторы
• Разработчики ПО
• Технические руководители и архитекторы
Необходимая подготовка:
• опыт работы администратором в системе Linux не менее года, базовые знания стека сетевых протоколов TCP/IP, базовые навыки программирования в shell.
Программа курса:
Модуль 1. Введение
• Микросервисная архитектура – обзор, основные компоненты и их назначение.
• Существующие контейнерные решения (podman, docker, rkt, cri-o,...).
• Оркестрация кластера контейнеров (mesos, kubernetes, swarm).
Модуль 2. Docker
• Проект, документация, ресурсы.
• Принцип работы, основные компоненты, установка в Ubuntu.
• Образы и репозитории. Реестры. Работа с DockerHub.
• Базовые команды в контексте docker (ps, top, start/stop, login/logout, create/rm, exec, cp, pull/push, update, volume, network,…).Установка простого контейнера (httpd, mysqld, …) из репозитория DockerHub, его настройка.
• Базовая настройка портов, переменных и файловой системы.
• Работа с томами, публикацией каталогов и дисками.
• Настройка сетевой инфраструктуры.
• Ведение и сбор журналов.
• Настройка ресурсов cpu и ram, резервирование и лимиты.
• Работа с образами. Сборка образа, файл Dockerfile. Коммиты контейнеров, tar архивы. Export/Import, Save/Load. Сборка образа из бинарных файлов.
• Выгрузка образов в реестр DockerHub. Создание и сопровождение собственного реестра с безопасным доступом по локальной сети и регистрацией
• Работа с docker compose. YAML конфигурация. Сервисы. Примеры развёртывания связанных контейнеров, healthcheck.
• Управление контейнерами через приложение Portainer.
• Кластер Swarm. Развёртывание контейнеров и реплики, сопровождение, изменение конфигурации, откат, режим multi-manager, тестирование отказа узлов. Существующие проблемы и ограничения.
• Вопросы безопасности и производительности.
Модуль 3. Kubernetes: Теоретические основы.
• История проекта, основные ресурсы в сети.
• Базовые принципы, логическая и физическая архитектура кластера (Nodes, Pods, Replicas, Services, Volumes,...).
• Сетевая инфраструктура. Сети кластера и подов. Разрешение имён.
• Хранилище etcd.
• API-сервер, планировщик, развёртывание и реплики. Назначение узлов. Контроллеры.
Модуль 4. Установка и конфигурация узлов кластера: Workers и Master.
• Развёртывание и конфигурирования мастер узла.
• Служба kubelet.
• Основные системные ресурсы кластера на мастер узле (etcd, kube-apiserver,…), просмотр их состояния и проверка.
• Развёртывание рабочих узлов.
• Основные системные ресурсы кластера на рабочем узле (kube-proxy,…).
• Общая проверка функциональности кластера, инструменты kubeadm, kubectl.
Модуль 5. Работа с кластером: ресурсы, приложения и сервисы.
• Обзор api ресурсов кластера.
• Формат манифестов: YAML и JSON. Обзор и примеры использования.
• Основные команды клиента k8s kubectl - введение и примеры использования.
• Контейнеры и поды (pods, модули).
• Чтение конфигурации ресурса. Применение измененной json или yaml конфигурации.
• Поды – метки, спецификации и назначение узлов. Примеры манифестов.
• Использование заданий. Jobs и CronJobs.
• Управление развертыванием приложения, стратегии Rolling Update. Ресурсы Deployment и ReplicaSet.
• Настройка и развёртывание DaemonSet.
• Обзор StatefullSet.
• Методы публикации сервисов (Service) и приложений. Метки и селекторы. Настройка сети - clusterIP и nodePort.
• Проксирование внутренних приложений кластера.
• Работа с Volume и Storage. Тома Persistent Volume (pv) и заявки Persistent Volume Claim (pvc). emptyDir, gitRepo, pvc (hostPath и nfs), обзор configMap, secret, dawnwardAPI
• Безопасность: регистрация и авторизация пользователей в кластере. Сервисные учётные записи. RBAC – роли и привязки ролей.
• Масштабирование кластера. Вертикальное и горизонтальное масштабирование (hpa).
• Обслуживание, откат и очистка узлов.
Модуль 6. Просмотр событий и мониторинг. Дополнительные ресурсы.
• kubectl CLI – подробно, настройки безопасности.
• Web dashboard - подробно.
• Управление сертификатами и секретами в k8s.
• Настройка кластера на использование локального сетевого реестра (docker registry:2).
• Репозитории приложений k8s. Работа с менеджером пакетов Helm.
• Мониторинг кластера, стек Prometheus-Grafana.
Окончательная цена указывается в договоре на обучение.