Свържете се с нас

Съдържание и теми, включени в курса

Ден 1 – Контейнери и управление на образи

Въведение в контейнерните платформи

  • Традиционно внедряване на приложения в сравнение с внедряване, базирано на контейнери
  • Контейнери и виртуални машини
  • Среди за изпълнение на контейнери и контейнерни двигатели
  • Ролята на Docker, Kubernetes и OpenShift
  • Често срещани архитектури на контейнерни платформи
  • Работни потоци за разработка, тестване и продукция

Работа с контейнери

  • Стартиране и управление на контейнери
  • Жизнен цикъл на контейнера
  • Стартиране, спиране и премахване на контейнери
  • Изпълнение на команди вътре в контейнери
  • Променливи на средата
  • Пренасочване на портове
  • Контейнерни логове
  • Използване на ресурси и инспекция на процеси

Изграждане на контейнерни образи

  • Структура на образа и слоеве
  • Създаване на Dockerfiles и Containerfiles
  • Избор на базови образи
  • Добавяне на зависимости на приложението
  • Конфигуриране на входни точки и команди
  • Кеширане на образи
  • Намаляване на размера на образа
  • Изграждане на възпроизводими образи

Контейнерни регистри

  • Публични и частни регистри
  • Тагване и версиониране на образи
  • Качване и изтегляне на образи
  • Удостоверяване за достъп до образи
  • Запазване и почистване на образи
  • Основни съображения за сигурност на образите

Мрежова свързаност и хранилище на контейнери

  • Концепции за контейнерна мрежа
  • Мостова мрежа (Bridge networking)
  • Експониране на портове
  • Комуникация между контейнери
  • Bind mounts и томове
  • Персистентни данни на контейнера
  • Съображения за архивиране

Практически упражнения

  • Стартиране и инспекция на контейнери
  • Изграждане на образ на приложение
  • Конфигуриране на портове и променливи на средата
  • Публикуване на образ в регистър
  • Съхраняване на персистентни данни извън контейнер

Ден 2 – Архитектура на Kubernetes и работни натоварвания

Основи на Kubernetes

  • Целта на оркестрацията на контейнери
  • Архитектура на Kubernetes
  • Компоненти на управляващата равнина (Control plane)
  • Работни възли (Worker nodes)
  • API сървър
  • Планировчик (Scheduler)
  • Контролери (Controllers)
  • Състояние на клъстера и желано състояние
  • Комуникация с клъстера чрез kubectl

Kubernetes ресурси

  • Pod-ове
  • ReplicaSets
  • Deployments
  • Именни пространства (Namespaces)
  • Етикети и анотации
  • Селектори
  • Декларативни дефиниции на ресурси
  • YAML манифести

Внедряване на приложения

  • Създаване и управление на Deployments
  • Мащабиране на работни натоварвания
  • Актуализиране на контейнерни образи
  • Плавни актуализации (Rolling updates)
  • Връщане към предишна версия (Rollbacks)
  • Хронология на внедряванията
  • Рестартиране на работни натоварвания
  • Управление на реплики на приложението

Конфигурация на приложението

  • ConfigMaps
  • Secrets
  • Променливи на средата
  • Конфигурационни файлове
  • Разделяне на кода на приложението от конфигурацията
  • Управление на настройки, специфични за средата

Управление на ресурси

  • Заявки за CPU и памет
  • Лимити на CPU и памет
  • Квоти за ресурси
  • Диапазони на лимити
  • Последици за планирането
  • Диагностициране на грешки, свързани с ресурси

Практически упражнения

  • Внедряване на контейнеризирано приложение
  • Създаване и актуализиране на Kubernetes манифести
  • Мащабиране на приложение
  • Извършване на плавна актуализация и връщане към предишна версия
  • Конфигуриране на приложението чрез ConfigMaps и Secrets
  • Прилагане на заявки и лимити за ресурси

Ден 3 – Kubernetes мрежова свързаност, хранилище и сигурност

Мрежова свързаност в Kubernetes

  • Модел на клъстерна мрежа
  • Комуникация между pod-ове
  • Откриване на услуги (Service discovery)
  • DNS в клъстера
  • ClusterIP услуги
  • NodePort услуги
  • LoadBalancer услуги
  • Концепции за Ingress
  • Модели за експониране на приложения

Мрежови политики

  • Контролиране на трафика между работни натоварвания
  • Правила за входящ и изходящ трафик
  • Контрол на трафика, базиран на именни пространства
  • Тестване на мрежова свързаност
  • Отстраняване на проблеми с комуникацията на услугите

Персистентно хранилище

  • Ефимерно и персистентно хранилище
  • Томове (Volumes)
  • PersistentVolumes
  • PersistentVolumeClaims
  • StorageClasses
  • Динамично осигуряване
  • Режими на достъп
  • Политики за възстановяване
  • Хранилище за приложения, запазващи състояние

Контрол на достъпа в Kubernetes

  • Концепции за удостоверяване и оторизация
  • Контрол на достъпа, базиран на роли (RBAC)
  • Roles и ClusterRoles
  • RoleBindings и ClusterRoleBindings
  • Сервизни акаунти
  • Достъп с минимални привилегии
  • Инспекция на ефективните права

Сигурност на работните натоварвания

  • Контексти за сигурност
  • Стартиране на контейнери като non-root потребител
  • Linux възможности (Capabilities)
  • Файлови системи само за четене
  • Работа с Secrets
  • Произход на образите
  • Често срещани рискове в конфигурацията

Практически упражнения

  • Експониране на приложение чрез Kubernetes услуги
  • Конфигуриране на ingress
  • Ограничаване на трафика чрез мрежова политика
  • Осигуряване на персистентно хранилище
  • Конфигуриране на RBAC права
  • Стартиране на работно натоварване с подходящ контекст за сигурност

Ден 4 – Работа с OpenShift среди

Въведение в OpenShift

  • OpenShift като платформа за приложения, базирана на Kubernetes
  • Kubernetes ресурси в OpenShift среда
  • Архитектура на OpenShift клъстер
  • Проекти и именни пространства
  • Платформени потребители и сервизни акаунти
  • Работа с уеб конзолата
  • Работа с OpenShift CLI

Управление на проекти и достъп

  • Създаване и управление на проекти
  • Присвояване на потребителски права
  • Роли на ниво проект
  • Административен достъп
  • Квоти за ресурси
  • Диапазони на лимити
  • Сервизни акаунти
  • Преглед на ресурсите на проекта

Внедряване на приложения

  • Внедряване на контейнерни образи
  • Създаване на работни натоварвания на приложения
  • Управление на Deployments
  • Мащабиране на приложения
  • Актуализиране на версиите на приложенията
  • Връщане към предишна версия (Rollbacks)
  • Управление на конфигурацията на приложението
  • Работа със Secrets

Експониране на приложения

  • Услуги в OpenShift
  • Маршрути (Routes)
  • TLS концепции
  • Вътрешен и външен достъп до приложения
  • Имена на хостове и сертификати
  • Диагностициране на проблеми с маршрути и услуги

Хранилище в OpenShift

  • Persistent Volume Claims
  • StorageClasses
  • Свързване на хранилище към работни натоварвания
  • Работни натоварвания, запазващи състояние
  • Права за достъп до хранилище
  • Отстраняване на проблеми с монтирането на томове

Планиране и управление на възли

  • Етикети и селектори
  • Селектори на възли (Node selectors)
  • Taints и tolerations
  • Концепции за афинитет и анти-афинитет
  • Разполагане на работни натоварвания
  • Изолиране (Cordoning) и източване (Draining) на възли
  • Съображения за поддръжка на възли

Практически упражнения

  • Достъп до OpenShift среда
  • Създаване и конфигуриране на проект
  • Внедряване и експониране на приложение
  • Конфигуриране на достъп за потребители и сервизни акаунти
  • Свързване на персистентно хранилище
  • Мащабиране и актуализиране на работещо натоварване

Ден 5 – Операции, наблюдение и отстраняване на проблеми

Наблюдение на платформата

  • Наблюдение на здравето на клъстера и приложенията
  • Метрики на ресурсите
  • Здраве на възлите
  • Състояние на работните натоварвания
  • Капацитет и използване на ресурси
  • Идентифициране на ограничения в производителността

Логове и събития

  • Контейнерни логове
  • Логове на pod-ове
  • Предишни контейнерни логове
  • Kubernetes събития
  • Съобщения от приложения и платформа
  • Филтриране и интерпретиране на оперативни данни

Проверки на здравето

  • Сонди за стартиране (Startup probes)
  • Сонди за готовност (Readiness probes)
  • Сонди за жизнеспособност (Liveness probes)
  • Проектиране на полезни здравни крайни точки
  • Диагностициране на неуспешни сонди
  • Предотвратяване на ненужни рестарти на приложения

Отстраняване на проблеми с работни натоварвания

  • Чакащи pod-ове
  • Неуспешно изтегляне на образ (Image pull failures)
  • Цикли на срив (Crash loops)
  • Неправилно конфигурирани променливи на средата
  • Неуспешни монтирания
  • Недостатъчни ресурси
  • Грешки в правата за достъп
  • Проблеми със свързаността на услуги и маршрути
  • DNS проблеми
  • Неуспешно стартиране на приложения

Оперативна сигурност

  • Преглед на правата за достъп
  • Използване на сервизни акаунти
  • Сигурно боравене с удостоверения
  • Практики за сигурност на образите
  • Мрежова изолация
  • Одит на достъпа до платформата
  • Прилагане на принципа на минималните привилегии

Поддръжка и управление на жизнения цикъл

  • Рутинни проверки на платформата
  • Поддръжка на възли
  • Съображения за архивиране на приложения
  • Архивиране на конфигурация
  • Планиране на актуализации
  • Управление на промените
  • Тестване на актуализации
  • Планиране на връщане към предишна версия
  • Концепции за възстановяване при бедствия

Финален практически семинар

Участниците изпълняват цялостен оперативен сценарий:

  • Изграждане и тагване на контейнерен образ.
  • Публикуване на образа в регистър.
  • Внедряване на приложението в Kubernetes или OpenShift.
  • Конфигуриране на настройки и удостоверения на приложението.
  • Експониране на приложението.
  • Свързване на персистентно хранилище.
  • Конфигуриране на права за достъп.
  • Добавяне на проверки за здравето.
  • Мащабиране и актуализиране на приложението.
  • Диагностициране и отстраняване на въведена неизправност.

Формат на курса

  • Интерактивни лекции и технически дискусии.
  • Демонстрации от инструктора.
  • Обширни практически упражнения.
  • Семинари за администриране и отстраняване на проблеми, базирани на сценарии.
  • Практическа работа в среди с контейнери, Kubernetes и OpenShift.

Опции за персонализиране на курса

  • Курсът може да бъде адаптиран към съществуващата инфраструктура, облачен доставчик и контейнерни инструменти на участниците.
  • Балансът между темите за Docker, Kubernetes и OpenShift може да бъде коригиран според опита на екипа.
  • Практическите упражнения могат да бъдат съобразени с приложенията, процесите на внедряване и оперативните изисквания на организацията.

Бележка за търговски марки

OpenShift е търговска марка на Red Hat, Inc. Това независимо разработено обучение не е свързано с, одобрено от или упълномощено от Red Hat.

Изисквания

Участниците трябва да имат:

  • Опит в използването на командния ред на Linux.
  • Основни познания по системно администриране или DevOps.
  • Общо разбиране на мрежовите концепции.
  • Запознатост с процесите по внедряване на софтуер.

Предишен опит с Docker, Kubernetes или OpenShift е от полза, но не е задължителен.

 35 Часа

Брой участници


Цена за участник

Отзиви от участници (7)

Предстоящи Курсове

Свързани Kатегории