Deployments

Деплойменты (Deployments) - это механизм для управления и масштабирования подов (pods), которые составляют приложение в Kubernetes. Это означает, что Deployments предоставляют возможность создавать, обновлять и масштабировать приложения Kubernetes. Deployments помогают контролировать развертывание новой версии приложения и управлять его масштабированием. Они также обеспечивают управление жизненным циклом приложения, включая автоматическое восстановление при сбоях и автоматическое масштабирование в зависимости от запросов.

На вкладке Deployments находится перечень созданных деплойментов в контексте неймспейса.

Создание Deployment

Чтобы добавить новый Deployment, нажмите на кнопку + Добавить Deployment.

Скриншот

deploymentcreation2

В открывшемся окне заполните описание деплоймента.

В блоке “Управление развертыванием”:

  • установите количество реплик. По умолчанию стоит 1 реплика;
  • установите тип деплоймента. По умолчанию выбран RollingUpdate;
  • установите, приостановлен ли деплоймент. По умолчанию значение не задано;
  • для деплоймента с типом RollingUpdate установите максимальное значение недоступных и дополнительных реплик. По умолчанию стоит 25%;
  • установите ProgressDeadlineSeconds - время ожидания для развертывания в секундах, прежде чем оно будет признано завершенным с ошибкой. По умолчанию задано 600 сек (10 минут). В этом случае, прежде чем контроллер укажет, что процесс развертывания остановился, должно пройти 10 минут;
  • установите RevisionHistoryLimit - количество ReplicaSets, которые необходимо сохранить для возможности отката. По умолчанию задано 10.
Скриншот

podtemplate

В блоке Шаблон пода (Pod template) доступны настройки:

  • использовать ли hostPID? По умолчанию значение не выбрано.
  • использовать ли сеть хоста? По умолчанию значение не выбрано.
  • выберите секреты образов (Image Pull Secrets) из выпадающего списка. В списке представлены секреты, созданные на вкладке Хранилище раздела Неймспейс.
  • назначьте приоритет. Приоритет отображает важность пода относительно других подов в кластере. Если поду не хватает ресурсов для запуска, планировщик отдает приоритет подам с более высоким значением приоритета.
  • задайте имя хоста контейнера.
  • при необходимости создайте Tolerations. Для создания нажмите на + и заполните поля в появившемся окне.
  • задайте узлы. Для этого нажмите на + в селекторе узлов.
  • выберите ServiceAccountName из выпадающего списка.
  • определите, нужно ли подключить токен учетной записи. По умолчанию значение не задано.
Скриншот

initcontainer

В блоках Контейнеры инициализации (Init контейнеры) и Контейнеры доступны настройки:

  • назначьте имя контейнера;
  • введите значение образа;
  • назначьте Image Pull Policy. По умолчанию выбрано ifNotPresent;
  • при необходимости добавьте команды и аргументы;
  • пропишите порты. Чтобы добавить новый порт нажмите +.
Скриншот

ports

  • задайте вычислительные ресурсы. Для этого установите:
    • значения реквеста и лимита CPU. Можно задать в CPU или m (милли-CPU).
    • значения реквеста и лимита Memory. Можно задать в единицах измерения стандартных для Kubernetes: байт (B), кибибайт (Ki), мебибайт (Mi), гибибайт (Gi).
Скриншот

requestslimits

  • задайте Volume mounts. Для добавление нового Volume mount нажмите +.
Скриншот

volumemount

  • задайте переменные окружения. Для добавления новой переменной нажмите +.
Скриншот

env

Подробнее настройки разделов описаны на странице Pods.

После завершения настроек нажмите Добавить.

Просмотр созданного Deployment

Страница просмотра деплоймента представляет собой страницу с вкладками:

  • Deployment
  • Шаблон пода (включает в себя Контейнеры в т.ч. Init Контейнеры, Volumes)
  • HPA
  • ReplicaSets
  • Pods (имеет индикацию количества)
  • Безопасность
  • Лейблы и аннотации. Содержит список лейблов и аннотаций дейплоймента
  • События (имеет индикацию количества)
  • Манифест

Вкладка Deployment

Скриншот

deployment

Вкладка Deployment содержит сведения о деплойменте, дате и времени создания деплоймента, его статусе и состоянии. В блоке “Спецификация” доступны сведения:

  • Название
  • Тип развертывания
  • Приостановлено/Не приостановлено

Блок масштабирования деплоймента позволяет изменять количество реплик.

Блок “Метрики мониторинга” отображает данные CPU Usage и Memory Usage всех объектов деплоймента суммарно за прошедший час.

Доступен “Селектор подов”.

Вкладка Шаблон пода

Скриншот

deploymenttemppod

Содержит сведения о шаблоне пода, контейнерах, Init контейнерах и volumes деплоймента.

Вкладка HPA

Скриншот

hpa

На вкладке HPA есть возможность управлять автоматическим масштабированием подов деплоймента. Укажите целевое среднее количество или среднее относительное значение за последние 5 минут по ресурсам:

  • CPU;
  • Memory.

При превышении значения, количество подов будет увеличено в пределах заданного диапазона количества реплик. При снижении нагрузки, уменьшено.Объект HPA создается с автоматически генерированным названием. Управление объектом доступно только с вкладки созданного деплоймента. Есть возможность просмотреть/отредактировать манифест объекта, а также удалить ранее созданный HPA.

Вкладка ReplicaSets

Скриншот

deploymentrs

Содержит список репликасетов, входящих в деплоймент, и сведения:

  • когда создан репликасет;
  • статус;
  • общее количество подов и количество работающих подов;
  • сведения образа репликасета.

Нажатие на строку репликасета открывает страницу просмотра репликасета.

Вкладка Pods

Скриншот

deploymentpod2

Содержит список подов, подчиненных деплойменту и сведения:

  • Имя пода (доступна фильтрация).
  • Отношение количества работающих контейнеров к общему количеству контейнеров в поде.
  • Количество рестартов пода (доступна сортировка).
  • Дата создания (доступна сортировка).
  • Неймспейс (доступна фильтрация). Нажатие на имя неймспейса открывает дашборд неймспейса. Вы можете ввести значение для фильтрации подов по неймспейсам. Для отмены фильтрации по неймспейсам, в фильтре нажмите Отменить и далее Применить.
  • Статус (доступна фильтрация). Возможные значения для выбора в фильтре: Running, Pending, Terminating, CrashLoopBackOff, Completed, Failed, Unknown.
  • Какому родительскому объекту подчинен под (доступна фильтрация). Когда под подчинен нагрузке, нажатие на имя нагрузки открывает ее страницу просмотра.
  • Узел, на котором размещен под (доступна фильтрация). Нажатие на узел открывает страницу просмотра узла при наличии прав доступа.
  • QoS (Quality of Service) пода (доступна фильтрация по: Guaranteed, Burstable, BestEffort). Подробнее о QoS на странице Pods.
  • Лейблы пода (по умолчанию колонка Лейблы не отображается). Чтобы просмотреть лейблы подов, нажмите на шестеренку в правом углу таблицы и выберите колонку Лейблы для отображения на экране.

Нажатие на строку пода открывает страницу просмотра пода.

Вкладка Безопасность

Скриншот

deploymentsecure

Вкладка “Безопасность” содержит:

  • результаты сканирования образов на уязвимости по объектам, содержащимся в этом деплойменте (Отображается только если в кластере установлен Модуль сканирования образов контейнеров);
  • результаты анализа на соответствие политикам безопасности объектов, содержащихся в этом деплойменте (Отображается только если в кластере установлен Модуль анализа конфигураций приложений).

Вкладка События

Скриншот

deploymentevent1

Содержит events деплоймента и его объектов со сведениями:

  • индикатор типа события;
  • дата и время;
  • источник события;
  • текст сообщения события.

Вкладка Манифест

Скриншот

deploymentmanifest1

На вкладке Манифест страницы просмотра и редактирования ранее созданного Deployment вы можете внести изменения в YAML манифест, скопировать манифест или удалить Deployment. После изменения манифеста выполните проверку. Результат проверки будет доступен в правой части экрана. Раскройте блок результата проверки, чтобы увидеть полный манифест. Если валидация формата манифеста не пройдена, проверка манифеста не будет доступна.

Сохраните изменения, внесенные в манифест. Несохраненные данные не будут применены. Если Deployment имеет хотя бы один привилегированный контейнер, информация об этом будет отображена на вкладке.

×