Deployments
Деплойменты (Deployments) - это механизм для управления и масштабирования подов (pods), которые составляют приложение в Kubernetes. Это означает, что Deployments предоставляют возможность создавать, обновлять и масштабировать приложения Kubernetes. Deployments помогают контролировать развертывание новой версии приложения и управлять его масштабированием. Они также обеспечивают управление жизненным циклом приложения, включая автоматическое восстановление при сбоях и автоматическое масштабирование в зависимости от запросов.
На вкладке Deployments находится перечень созданных деплойментов в контексте неймспейса.
Создание Deployment
Чтобы добавить новый Deployment, нажмите на кнопку + Добавить Deployment.
Скриншот
В открывшемся окне заполните описание деплоймента.
В блоке “Управление развертыванием”:
- установите количество реплик. По умолчанию стоит 1 реплика;
- установите тип деплоймента. По умолчанию выбран RollingUpdate;
- установите, приостановлен ли деплоймент. По умолчанию значение не задано;
- для деплоймента с типом RollingUpdate установите максимальное значение недоступных и дополнительных реплик. По умолчанию стоит 25%;
- установите ProgressDeadlineSeconds - время ожидания для развертывания в секундах, прежде чем оно будет признано завершенным с ошибкой. По умолчанию задано 600 сек (10 минут). В этом случае, прежде чем контроллер укажет, что процесс развертывания остановился, должно пройти 10 минут;
- установите RevisionHistoryLimit - количество ReplicaSets, которые необходимо сохранить для возможности отката. По умолчанию задано 10.
Скриншот
В блоке Шаблон пода (Pod template) доступны настройки:
- использовать ли hostPID? По умолчанию значение не выбрано.
- использовать ли сеть хоста? По умолчанию значение не выбрано.
- выберите секреты образов (Image Pull Secrets) из выпадающего списка. В списке представлены секреты, созданные на вкладке Хранилище раздела Неймспейс.
- назначьте приоритет. Приоритет отображает важность пода относительно других подов в кластере. Если поду не хватает ресурсов для запуска, планировщик отдает приоритет подам с более высоким значением приоритета.
- задайте имя хоста контейнера.
- при необходимости создайте Tolerations. Для создания нажмите на + и заполните поля в появившемся окне.
- задайте узлы. Для этого нажмите на + в селекторе узлов.
- выберите ServiceAccountName из выпадающего списка.
- определите, нужно ли подключить токен учетной записи. По умолчанию значение не задано.
Скриншот
В блоках Контейнеры инициализации (Init контейнеры) и Контейнеры доступны настройки:
- назначьте имя контейнера;
- введите значение образа;
- назначьте Image Pull Policy. По умолчанию выбрано ifNotPresent;
- при необходимости добавьте команды и аргументы;
- пропишите порты. Чтобы добавить новый порт нажмите +.
Скриншот
- задайте вычислительные ресурсы. Для этого установите:
- значения реквеста и лимита CPU. Можно задать в CPU или m (милли-CPU).
- значения реквеста и лимита Memory. Можно задать в единицах измерения стандартных для Kubernetes: байт (B), кибибайт (Ki), мебибайт (Mi), гибибайт (Gi).
Скриншот
- задайте Volume mounts. Для добавление нового Volume mount нажмите +.
Скриншот
- задайте переменные окружения. Для добавления новой переменной нажмите +.
Скриншот
После завершения настроек нажмите Добавить.
Просмотр созданного Deployment
Страница просмотра деплоймента представляет собой страницу с вкладками. Под заголовком отображаются дата и время создания деплоймента, его статус и conditions.
На странице доступны вкладки:
- Deployment
- Шаблон пода (включает в себя Контейнеры в т.ч. Init Контейнеры, Volumes)
- HPA
- ReplicaSets
- Pods (имеет индикацию количества)
- Безопасность
- Лейблы и аннотации. Содержит список лейблов и аннотаций дейплоймента
- События (имеет индикацию количества)
- Манифест
Вкладка Deployment
Скриншот
Вкладка Deployment содержит сведения о деплойменте. В блоке “Спецификация” доступны сведения:
- Название
- Тип развертывания
- Приостановлено/Не приостановлено
Блок масштабирования деплоймента позволяет изменять количество реплик.
Блок “Метрики мониторинга” отображает данные CPU Usage и Memory Usage всех объектов деплоймента суммарно за прошедший час.
Доступен “Селектор подов”.
Вкладка Шаблон пода
Скриншот
Содержит сведения о шаблоне пода, контейнерах, Init контейнерах и volumes деплоймента.
Вкладка HPA
Скриншот
На вкладке HPA есть возможность управлять автоматическим масштабированием подов деплоймента. Укажите целевое среднее количество или среднее относительное значение за последние 5 минут по ресурсам:
- CPU;
- Memory.
При превышении значения, количество подов будет увеличено в пределах заданного диапазона количества реплик. При снижении нагрузки, уменьшено.Объект HPA создается с автоматически генерированным названием. Управление объектом доступно только с вкладки созданного деплоймента. Есть возможность просмотреть/отредактировать манифест объекта, а также удалить ранее созданный HPA.
Вкладка ReplicaSets
Скриншот
Содержит список репликасетов, входящих в деплоймент, и сведения:
- когда создан репликасет;
- статус;
- общее количество подов и количество работающих подов;
- сведения образа репликасета.
Нажатие на строку репликасета открывает страницу просмотра репликасета.
Вкладка Pods
Скриншот
Содержит список подов, подчиненных деплойменту и сведения о дате создания, статусе (цветовая индикация), лейблах пода. Чтобы просмотреть лейблы подов, добавьте колонку Лейблы для отображения на экране. Нажатие на строку пода открывает страницу просмотра пода.
Вкладка Безопасность
Скриншот
Вкладка “Безопасность” содержит:
- результаты сканирования образов на уязвимости по объектам, содержащимся в этом деплойменте (Отображается только если в кластере установлен Модуль сканирования образов контейнеров);
- результаты анализа на соответствие политикам безопасности объектов, содержащихся в этом деплойменте (Отображается только если в кластере установлен Модуль анализа конфигураций приложений).
Вкладка События
Скриншот
Содержит events деплоймента и его объектов со сведениями:
- индикатор типа события;
- дата и время;
- источник события;
- текст сообщения события.
Вкладка Манифест
Скриншот
На вкладке Манифест страницы просмотра и редактирования ранее созданного Deployment вы можете внести изменения в YAML манифест. После изменения манифеста выполните проверку. Результат проверки будет доступен в правой части экрана. Раскройте блок результата проверки, чтобы увидеть полный манифест. Если валидация формата манифеста не пройдена, проверка манифеста не будет доступна.
Сохраните изменения, внесенные в манифест. Несохраненные данные не будут применены.