devops002
Работа с контейнерами Docker и введение в администрирование кластера KubernetesКод образовательной программы: Администрирование операционных систем
#Очно — В учебном центре.
#Дистанционно — Дистанционно с инструктором.
52 000
5 дней
По запросу

Цель курса: научиться уверенно управлять инфраструктурой контейнеров 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.