Работа с контейнерами Docker и введение в администрирование кластера Kubernetes

Настоящая программа предназначена для системных администраторов Linux, системных и сервисных инженеров и инженеров профилей DevOps и BigData.

В процессе освоения образовательной программы слушатели научатся уверенно управлять инфраструктурой контейнеров Docker, разворачивать и управлять микросервисными приложениями в кластере Kubernetes

Целевая аудитория

  • инженеры DevOps
  • системные администраторы
  • разработчики

Предварительные требования

опыт работы администратором в системе Linux не менее года, базовые знания стека сетевых протоколов TCP/IP, базовые навыки программирования в shell.

Приобретаемые знания и навыки

По окончании курса слушатели будут:

уметь:

  • устанавливать и производить настройку docker на архитектуре Linux
  • работать с реестром, разворачивать и изменять образы docker, работать с контейнерами docker, с файлами конфигурации, настраивать сеть и хранилище
  • конфигурировать безопасность приложений
  • разворачивать и выполнять настройку кластера Swarm
  • развёртывать кластер kubernetes
  • управлять кластером kubernetes - настраивать приложения, узлы, поды, сервисы
  • управлять масштабированием приложений в kubernetes
  • поддерживать работоспособность кластера kubernetes, выполнять монитортинг, журналирование и выявлять проблемы

знать:

  • архитектуру docker;
  • стек команд docker и docker-compose;
  • механизмы развёртывания, настройки и управления приложениями в docker
  • реестры docker;
  • архитектуру kubernetes и основные ресурсы кластера;
  • процедуру развёртывания кластера kubernetes;
  • стек команд kubectl;
  • формат манифеста yaml для основных ресурсов;
  • базовые средства для мониторинга и выявления проблем;
  • принципы и технологии функционирования выбранной интеграционной платформы
  • технические условия соглашения об уровне обслуживания сопровождаемого интеграционного решения.

Программа курса

Модуль 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.

Документы об окончании курса

  • Сертификат Учебного центра Noventiq
  • Cертификат об обучении установленного образца

Certificate Noventiq Education Belarus сертификат об обучении установленного образца

Оставить отзыв

Информация о курсе

16-20 декабря
10:00 - 17:00

2160 BYN

с учетом НДС 20%

Вендор: DevOps
Код курса: SLIT-1116
Продолжительность: 5 дней / 40 ак. часов
Направление: Практика DevOps
Форма обучения:

под руководством инструктора

Записаться на курс

Название курса и комментарии*

Имя*

Фамилия*

Отчество*

Компания

Телефон*

Email*

Настоящим, в соответствии с ч.2.ст.18 Закона Республики Беларусь от 10.11.2008 N 455-З(ред. от 11.05.2016) "Об информации, информатизации и защите информации" и Законом Республики Беларусь от 7 мая 2021 г. № 99-З «О защите персональных данных», отправляя данную форму, вы подтверждаете свое согласие на сбор, обработку и хранение ООО «СофтЛайнБел» Ваших персональных данных. ООО «СофтЛайнБел» гарантирует конфиденциальность получаемой от Вас информации. Сбор, обработка и хранение персональных данных осуществляется в целях эффективного оказания услуг и исполнения договоров.

Отправляя данную форму я даю согласие на обработку моих персональных данных, а также подтверждаю, что я ознакомлен и согласен с условиями политики обработки персональных данных.