Нагрузки

В подразделе Нагрузки выбранного неймспейса доступны вкладки:

Deployments

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

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

Создание Deployment

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

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

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

  • установите количество реплик. По умолчанию стоит 1 реплика;
  • установите тип деплоймента. По умолчанию выбран RollingUpdate;
  • установите, приостановлен ли деплоймент. По умолчанию значение не задано.

Для деплоймента с типом RollingUpdate установите максимальное значение недоступных и дополнительных реплик. По умолчанию стоит 25%.

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

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

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

  • назначьте имя контейнера;
  • введите значение образа;
  • назначьте Image Pull Policy. По умолчанию выбрано ifNotPresent;
  • при необходимости добавьте команды и аргументы;
  • пропишите порты. Чтобы добавить новый порт нажмите +.
  • задайте вычислительные ресурсы. Для этого установите значения реквестов и лимитов CPU и Memory.
  • задайте 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 манифест. После изменения манифеста выполните проверку. Результат проверки будет доступен в правой части экрана. Раскройте блок результата проверки, чтобы увидеть полный манифест. Если валидация формата манифеста не пройдена, проверка манифеста не будет доступна.

Сохраните изменения, внесенные в манифест. Несохраненные данные не будут применены.

ReplicaSets

ReplicaSet - это компонент в Kubernetes, который обеспечивает высокую доступность приложения, создавая и управляя множеством идентичных подов в кластере Kubernetes. В случае сбоя в работе одного из подов, ReplicaSet автоматически восстанавливает его и поддерживает необходимое количество здоровых копий приложения в рабочем состоянии. Вы можете использовать ReplicaSet для распределения нагрузки в приложении, обеспечивая высокую доступность и отказоустойчивость, что повышает надежность инфраструктуры и уменьшает время простоя приложения.

Страница ReplicaSets содержит информация о наборе реплик (копий) подов, запущенных в кластере Kubernetes в контексте неймспейса. Т.к. репликасеты являются частью деплоймента, параметры репликасеты недоступны для редактирования на странице репликасеты. Чтобы отредактировать параметры перейдите на страницу Deployments.

Просмотр ReplicaSet

Страница просмотра репликасета представляет собой страницу с вкладками. Под названием Replicaset отображаются дата и время создания, статус, conditions, сведения о родительском объекте.

На странице доступны вкладки:

  • ReplicaSet
  • Pods (имеет индикацию количества)
  • Шаблон пода, Контейнеры (имеет индикацию количества, содержит данные по контейнерам и init контейнерам), Volumes (имеет индикацию количества)
  • Безопасность
  • Лейблы и аннотации
  • События (имеет индикацию количества)

Вкладка “ReplicaSet”

Вкладка “ReplicaSet” содержит сведения:

  • Количество реплик
  • minReadySeconds

Блок “Селектор подов” содержит совпадающие выражения и совпадающие лейблы подов.

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

Вкладка “Шаблон пода” включает Контейнеры, Init контейнеры и Volumes.

Вкладка “События” содержит events репликасета и его объектов.

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

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

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

Pods

Под - это минимальная вычислительная единица, которая объединяет один или несколько контейнеров в кластере. Каждый под имеет набор ресурсов, включая сеть, хранилище и образ контейнера. Каждый под может иметь свое уникальное имя и лейблы, что позволяет легко настраивать его параметры и конфигурацию. Поды также являются обязательными для создания высокодоступных и масштабируемых приложений в кластере.

Страница Pods содержит информацию о созданных подах.

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

При необходимости вы можете скачать лог контейнера пода во время его просмотра. Cкачивание происходит в файл с расширением .log, название которого предзаполнено и сопадает с наименованием контейнера. Просмотр полного лога контейнера доступен в консоли/интерфейсе OpenSearch.

Создание Pod

Чтобы создать под, нажмите на кнопку + Добавить Pod. В блоке Спецификация пода (Pod spec) доступны настройки:

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

Обратите внимание: если под был создан в Deployment, то отредактировать его можно будет только на странице Deployment.

Просмотр Pod

Страница просмотра пода представляет собой страницу с вкладками. Под заголовком с названием пода расположены дата и время создания пода, статус, conditions, сведения о родительском объекте.

На странице доступны вкладки:

  • Pod
  • Контейнеры (имеет индикацию количества, содержит данные по контейнерам и Init контейнерам)
  • Volumes (имеет индикацию количества)
  • Лейблы и аннотации
  • События (имеет индикацию количества)

Вкладка Pod содержит сведения о спецификации пода и сведения об узле, на котором расположен под.

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

Вкладка События содержит events пода и его объектов.

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

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

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

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

Вкладка содержит манифест Pod, в который вы не можете внести изменения, если Pod подчинен любому другому объекту Kubernetes.

В случае, если Pod был создан отдельностоящим вы можете изменить в манифесте только следующие поля:

  • spec.containers[*].image
  • spec.initContainers[*].image
  • spec.activeDeadlineSeconds
  • spec.tolerations
  • spec.terminationGracePeriodSeconds

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

Для изменения существующих отдельностоящих подов при необходимости редактирования, рекомендуется удалить Pod в старой конфигурации и создать новый. Используйте ресурсы kubernetes (Deployments, StatefulSets DaemonSets), управляющие перезапуском подов самостоятельно.

StatefulSets

StatefulSet - это объект, который обеспечивает развертывание и управление набором подов, работающих в состоянии, то есть имеющих уникальные идентификаторы и сохраняющих свои данные при перезапуске. StatefulSet также гарантирует уникальность имён и IP-адресов для каждого пода, что облегчает работу с базами данных и другими приложениями, которые зависят от уникальных идентификаторов.

Создание StatefulSet

Для создания StatefulSet нажмите на кнопку + Cоздать StatefulSet. В открывшемся окне в блоке Описание задайте имя StatefulSet. При необходимости определите лейблы и определите совпадающие лейблы подов в блоке Селектор подов.

Задайте спецификацию StatefulSet:

  • количество реплик;
  • количество партиций;
  • минимальное время готовности в секундах (minReadySeconds);
  • revisionHistoryLimit - показатель, который ограничивает количество старых хранящихся реплик (по умолчанию выбрано 10);
  • политика управления подами (podManagementPolicy):
    • OrderedReady (выбрано по умолчанию)
    • Parallel
  • serviceName;
  • Политика хранения PersistentVolumeClaim, в том числе:
  • whenDeleted:
    • Retain (выбрано по умолчанию)
    • Delete
  • whenScaled:
    • Retain (выбрано по умолчанию)
    • Delete

Определите шаблоны PersistentVolumeClaim. Для выбора нового шаблона нажмите +.

В открывшемся окне задайте имя шаблона. Определите Access Modes (по умолчанию выбрано ReadWriteOnce). Задайте Storage Class Name, размер и нажмите Сохранить.

Access Modes (режимы доступа): В Kubernetes есть 4 режима доступа к PersistentVolumeClaim:

  • ReadWriteOnce (RWO): разрешает чтение и запись, но только и одному узлу (подключение к одному узлу).
  • ReadOnlyMany (ROX): разрешает только чтение, но может быть использовано множеством узлов (подключение к нескольким узлам).
  • ReadWriteMany (RWX): разрешает чтение и запись, а также может быть использовано множеством узлов одновременно (подключение к нескольким узлам).
  • ReadWriteOncePod (RWOP): разрешает чтение и запись, но только к одному поду узла.

Примеры Storage Class Name:

  • “standard” — обычный класс хранилища с общими параметрами.
  • “fast” — класс хранилища с более быстрыми параметрами, например, SSD.
  • “slow” — класс хранилища с более медленными параметрами, например, HDD.

Размер — это объем хранилища, который запрашивается для PVC. Например, 10Gi.

Определите init контейнеры или контейнеры, шаблон пода. При необходимости назначьте Volumes.

Редактирование StatefulSet

Для редактирования доступны настройки:

  • Спецификация StatefulSet, в том числе:
    • количество реплик;
    • количество партиций;
    • минимальное время готовности в секундах (minReadySeconds). Минимальное время в секундах, в течение которого созданный POD должен стать доступным, без сбоя любого из его контейнеров. По умолчанию 0 (под будет считаться доступным, как только он будет готов);
  • Политика хранения PersistentVolumeClaim, в том числе:
    • whenDeleted
    • whenScaled
  • Шаблон пода;
  • Контейнеры инициализации (Init контейнеры);
  • Контейнеры;
  • Volumes;

Для удаления нажмите в строке с названием Statefulset.

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

Сохраните изменения, внесенные в манифест. Несохраненные данные не будут применены.

Просмотр StatefulSet

Страница просмотра StatefulSet представляет собой страницу с вкладками. Под заголовком отображаются дата и время создания, статус, conditions.

На странице доступны вкладки:

  • StatefulSet
  • Шаблон пода (в т.ч. Контейнеры, Init Контейнеры, Volumes)
  • Шаблоны PVC (имеет индикацию количества)
  • Лейблы и аннотации
  • События (имеет индикацию количества)

Вкладка “StatefulSet” содержит сведения о StatefulSet. В блоке “Спецификация StatefulSet” доступны сведения:

  • Partition
  • minReadySeconds
  • revisionHistoryLimit
  • podManagementPolicy
  • serviceName

Политика хранения PersistentVolumeClaim:

  • whenDeleted
  • whenScaled

Блок для скейлинга StatefulSet содержит параметр количества реплик.

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

Блок Селектор подов содержит сведения, заполненные на этапе создания StatefulSet.

Вкладка “События” содержит events StatefulSet и его объектов.

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

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

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

DaemonSets

DaemonSet - это объект, который управляет набором подов на каждом узле кластера. В отличие от ReplicaSet или Deployment он не управляет количеством реплик, а обеспечивает наличие конкретного контейнера на каждом узле. Это позволяет запускать службы на каждом узле, на котором развернуто приложение Kubernetes, и обеспечивать доступность служб для других приложений в кластере. В частности, DaemonSet может использоваться для управления запуском Daemon, таких как мониторинг или логирование, на каждом узле кластера.

Создание DaemonSet

Для создания DaemonSet нажмите на кнопку + Создать DaemonSet.

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

При необходимости определите лейблы и определите совпадающие лейблы подов в блоке Селектор подов.

Задайте спецификацию DaemonSet:

  • минимальное время готовности в секундах (minReadySeconds). Минимальное время в секундах, в течение которого созданный POD должен стать доступным, без сбоя любого из его контейнеров. По умолчанию 0 (под будет считаться доступным, как только он будет готов);
  • revisionHistoryLimit - показатель, который ограничивает количество старых хранящихся репликасетов (по умолчанию выбрано 10);
  • максимальное количество недоступных;
  • максимальное количество дополнительных;

Определите init контейнеры или контейнеры, шаблон пода. При необходимости назначьте Volumes.

Редактирование DaemonSet

Для редактирования доступны настройки:

  • Спецификация DaemonSet, в том числе:
    • revisionHistoryLimit;
    • минимальное время готовности в секундах (minReadySeconds);
    • максимальное значение недоступных и дополнительных реплик.
  • Шаблон пода;
  • Контейнеры инициализации (Init контейнеры);
  • Контейнеры;
  • Volumes;

Для удаления нажмите в строке с названием Daemonset.

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

Сохраните изменения, внесенные в манифест. Несохраненные данные не будут применены.

Просмотр DaemonSet

Страница просмотра представляет собой страницу с вкладками. Под заголовком отображаются дата и время создания, статус, conditions.

На странице доступны вкладки:

  • DaemonSet
  • Шаблон пода (в т.ч. Контейнеры, Init Контейнеры, Volumes)
  • Лейблы и аннотации
  • События (имеет индикацию количества)

Вкладка DaemonSet содержит сведения о DaemonSet. В блоке Спецификация DaemonSet доступны сведения:

  • minReadySeconds
  • revisionHistoryLimit
  • Максимальное недоступных (подов)
  • Максимальное дополнительных (подов)

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

Блок Селектор подов содержит совпадающие лейблы подов.

Вкладка События содержит events DaemonSet и его объектов.

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

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

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

CronJobs

Cronjob - это объект, который позволяет запускать периодические задачи внутри кластера Kubernetes. Как правило, cronjob выполняется в формате cron-расписания, где задается периодичность выполнения задачи (например, каждый день в 5 утра) и команда, которую необходимо выполнить.

На вкладке CronJobs доступно создание, удаление и просмотр периодических задач.

Создание CronJob

Для создания периодической задачи (CronJob) нажмите на конпку + Добавить CronJob.

Заполните:

  • Описание;
  • Спецификацию CronJob;
  • Шаблон задачи (Template Job);
  • Сведения о контейнере.

Нажмите кнопку Сохранить.

Для удаления нажмите в строке с названием задачи. При удалении есть выбор:

  • Удалить полностью
  • Удалить с пересозданием

При выборе Удалить с пересозданием CronJob будет удалена, на экран будет выведено окно создания CronJob с предзаполненными данными из удаленной CronJob.

Просмотр CronJob

На странице доступны вкладки:

  • CronJob
  • Pods (имеет индикацию количества)
  • Jobs (имеет индикацию количества)
  • Шаблон Job (включает в себя шаблон пода)
  • Лейблы и аннотации
  • События (имеет индикацию количества)
  • Безопасность

Вкладка “CronJob”

Вкладка “CronJob” содержит сведения о CronJob. В блоке “Спецификация CronJob” доступны сведения:

  • Расписание*
  • concurrencyPolicy
  • startingDeadlineSeconds
  • successfulJobsHistoryLimit
  • failedJobsHistoryLimit
  • Кнопка переключатель “Приостановлено”/“Не приостановлено”

Блок Селектор подов содержит совпадающие лейблы подов.

Блок Метрики мониторинга отображает данные CPU Usage и Memory Usage CronJob за прошедший час.

Вкладка “События” содержит events CronJob и его объектов.

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

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

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

Вкладка Манифест содержит манифест CronJob, который вы можете посмотреть и скопировать.

Jobs

Job - специальный объект, который используется для управления выполнением параллельных задач или задач, которые должны выполняться только один раз. Job позволяет запускать и контролировать задачи, а также осуществлять их повторное выполнение в случае ошибок или сбоев.

На вкладке Jobs доступно создание, удаление и просмотр задач.

Создание Job

Для создания разовой задачи (Job) нажмите на конпку + Добавить Job. Заполните:

  • Описание;
  • Шаблон задачи (Template Job);
  • Сведения о контейнере

Нажмите кнопку Сохранить.

Для удаления нажмите в строке с названием задачи.

Просмотр Job

Страница просмотра Job представляет собой страницу с вкладками. Под названием Job отображаются дата и время создания Job, статус, conditions, lastScheduleTime lastSuccessfulTime.

На странице доступны вкладки:

  • Job
  • Pods (имеет индикацию количества)
  • Шаблон пода
  • Лейблы и аннотации
  • События (имеет индикацию количества)
  • Безопасность

Вкладка Job содержит сведения о Job.

В блоке Спецификация Job доступны сведения:

  • completions
  • completionMode
  • ttlSecondsAfterFinished
  • parallelism
  • backoffLimit
  • activeDeadlineSeconds

Блок Селектор подов содержит совпадающие лейблы подов.

Блок Метрики мониторинга отображает данные CPU Usage и Memory Usage Job за прошедший час.

Вкладка Шаблон пода включает в себя контейнеры, Init контейнеры, Volumes.

Вкладка События содержит events Job и его объектов.

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

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

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

Вкладка Манифест содержит манифест Job, который вы можете посмотреть и скопировать.