Графический интерфейс

Начальная страница веб-интерфейса

В веб-интерфейсе РОСА Кубис на стартовой странице доступны следующие разделы:

  • Кластер – работа с кластером управления и клиентскими кластерами;
  • Платформа ‒ работа с правами доступа и инфраструктурой кластеров;
  • О системе ‒ сведения о заимствованных компонентах Комплекса.

О системе

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

Следует обратить внимание, что в случае превышения лимита по количеству Worker-узлов или vCPU на всех экранах графического интерфейса отобразится уведомление с просьбой обратиться к вендору для изменения пакета лицензии.

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

Swagger

Администратор Комплекса может включить Swagger, нажав на кнопку Включить Swagger. На странице для всех пользователей будет доступен переход в Swagger, если ранее Swagger был включен.

Используемые компоненты с открытым исходным кодом

Платформа

На странице "Платформа" размещена основная информация:

  • Блок "Доступ к платформе" содержит сведения о том, сколько в Комплексе системных и кастомных наборов доступа, подключен ли внешний каталог пользователей, а также сколько в графическом интерфейсе активных сессий. Назначение прав доступа можно произвести на страницах управления доступом в кластерах.
  • Блок "Провайдеры инфраструктуры" содержит сведения о количестве подключенных экземпляров провайдеров.
  • Блок "Пулы IP-адресов" содержит сведения о количестве подключенных пулов IP-адресов, а также о количестве свободных IP-адресов в пулах.
  • Счетчики количества кластеров управления и узлов кластера управления.
  • Счетчики количества клиентских кластеров и узлов клиентских кластеров.
  • Переход на отчеты:
  • о ресурсах клиентских кластеров;
  • по анализу образов кластеров Комплекса;
  • по политикам безопасности Комплекса.

В случае если сервисы логирования и мониторинга подключены и работают, на странице будут доступны кнопки перехода в интерфейс Grafana:

  • Кнопка Статистика доступна, если установлены и включены сервисы в кластере управления "Модуль графического отображения метрик (Grafana)" (shturval-dashboards), "Модуль мониторинга. Централизованный сбор метрик (Victoria Metrics)" (shturval-monitoring).

Настройки пользовательского интерфейса

Графический интерфейс

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

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

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

  • Выбор цветовой схемы. Выбрать "Светлую" или "Темную" схему. По умолчанию интерфейс Комплекса отображается в светлой цветовой схеме.
  • Выбор способа отображения бокового меню навигации:
  • Компактное меню навигации. Включение настройки позволит отображать боковое меню навигации в свернутом виде и раскрывать список страниц раздела при наведении на значок раздела. Можно отключить опцию, чтобы меню навигации было в развернутом виде и отображался перечень наименований разделов в меню (рисунок 33).
  • Аккордеонное раскрытие меню навигации (рисунок 34). Можно включить аккордеонное раскрытие меню, когда необходимо, чтобы отображался раскрытым только один список страниц раздела меню навигации.

Рисунок 33 ‒ Пример компактного отображения меню

Рисунок 34 ‒ Пример отключенного аккордеонного раскрытия

  • Изменение языка текста элементов пользовательского интерфейса. Можно выбрать русский, английский или казахский язык для графического интерфейса Комплекса (рисунок 35).

Рисунок 35 ‒ Изменение языка текста

Таблицы

На страницах Комплекса в таблицах со списками объектов можно управлять отображением колонок на экране. Для этого нажать на пиктограмму "шестеренка" в правом верхнем углу таблицы и выбрать, какие колонки требуется скрыть, вывести на экран (рисунок 36). Отображение колонки с названиями объектов недоступно скрыть. По умолчанию в таблицах неймспейсных ресурсов колонка "Лейблы" скрыта для отображения.

Рисунок 36 ‒ Отображение колонок таблицы

Модальное окно

На страницах Комплекса в модальных окнах доступна настройка области отображения модального окна в двух режимах:

  • в свернутом виде ‒ модальное окно занимает 30% от всей области экрана (установлено по умолчанию);
  • в развернутом виде ‒ модальное окно занимает 80% от всей области экрана.

При необходимости смены режима отображения модального окна, нажать на переключатель в верхнем углу (рисунок 37).

Рисунок 37 ‒ Пример модального окна

Редактор манифеста

На страницах манифестов объектов возможно настроить удобное для вас отображение и поведение редактора манифеста. Для этого в правой верхней части окна для ввода манифеста нажать на пиктограмму "шестеренка" и задать необходимую конфигурацию. Доступны настройки редактора манифеста (рисунок 38):

Рисунок 38 ‒ Настройки редактора манифеста

  • Выбрать тему. По умолчанию для "Светлой" схемы интерфейса задана тема ‒ Cloud Editor, для "Темной" схемы ‒ Nord Dark.
  • Управлять размером шрифта. По умолчанию установлен размер 14.
  • Выделять (снять выделение) отображение активной строки. По умолчанию активная строка подсвечивается.
  • Показать скрытые символы. По умолчанию скрытые символы отображаются.
  • Выбрать сочетание (комбинация) клавиш. Доступные варианты: Ace, VIM, Emacs, Sublime, VSCode. По умолчанию установлен VSCode.

При необходимости можно скрывать/раскрывать блоки параметров манифеста. Для этого в левой части рядом с цифрой нажать на стрелочку.

Важно ‒ Изменение цветовой схемы интерфейса в настройках пользователя сбрасывает кастомные настройки редактора манифеста до конфигурации по умолчанию.

Доступ

Аутентификация в Комплексе

Для входа в графический интерфейс РОСА Кубис необходимо выполнить следующие действия:

  1. перейти по URL-ссылке, созданной на этапе развертывания Комплекса, в браузере;
  2. после открытия формы аутентификации ввести данные системной учетной записи (рисунок 39);
  3. нажать кнопку Войти.

Рисунок 39 ‒ Окно для аутентификации

В результате появится главное окно графического интерфейса Комплекса (рисунок 40).

Рисунок 40 ‒ Основное окно интерфейса

Чтобы увеличить время для прохождения аутентификации, нужно выполнить шаги инструкции "Как увеличить тайм-аут аутентификации".

Сервисы аутентификации

По умолчанию в Комплексе установлен сервис аутентификации собственной разработки. При необходимости можно перенастроить аутентификацию на внешний доступный сервис: Blitz, Keycloak. Подключение внешнего сервиса аутентификации описано в инструкции "Как подключить внешний сервис аутентификации".

Важно ‒ Если аутентификация переключена на внешний сервис, интеграция с LDAP не будет использована. Пользователи и группы будут определены в соответствии с каталогом, подключенным к внешнему сервису.

Менеджер доступов

В РОСА Кубис управление правами доступа осуществляется с помощью ресурса "permissions" (набор доступов), который позволяет гибко настроить доступы к разным частям Комплекса. Набор доступов можно создать в разделе "Управление доступом" Комплекса (рисунок 41). Наборы доступов, созданные в менеджере доступов, доступны для назначения на пользователей и группы во всех клиентских кластерах и пространствах имен в соответствии с уровнем, для которого создан набор доступа.

Возможно создание наборов доступов, которые назначат права:

  • к платформенным ресурсам (инфраструктура и права доступа);
  • к кластерным ресурсам (в т.ч. неймспейсам);
  • к ArgoCD.

Возможна компоновка прав доступа так, как требуется для реализации задач. Набор доступов позволяет выдавать права доступа в том числе сегментировано, например, только к ArgoCD. Для создания такого набора доступов нужно оставить незаполненными кластерные и платформенные разрешения.

Важно:

  • Изменение набора доступов в менеджере доступов приведет к изменению прав доступа всех пользователей и групп, на которых назначен этот набор доступов.
  • Если набор доступов назначен хотя бы одному пользователю или группе, то полное его удаление возможно только после снятия назначений с пользователей и групп.
  • Преднастроенные наборы доступов недоступны для внесения изменений или удаления. Разрешения в них строго зашиты. При необходимости можно создать новые наборы доступов.

Уровни, для которых может быть создан набор доступов, приведены в таблице 40.

Рисунок 41 ‒ Управление доступом

На каждом уровне доступа страница набора доступов содержит (рисунок 42):

  • имя набора доступов ‒ задается при создании набора (обязательное и неизменяемое);
  • описание набора доступов ‒ (необязательное поле) позволяет внести короткое описание для удобства дальнейшего назначения. Рекомендуется поддерживать в актуальном состоянии для удобства использования наборов доступа;
  • роль в Argo CD ‒ (необязательное поле) позволяет назначить роль в интерфейсе ArgoCD;
  • кластерные разрешения ‒ (необязательные) позволяют задать набор правил в формате YAML. Каждое правило должно содержать API-группу, глаголы и ресурсы, к которым назначаются права;
  • платформенные разрешения ‒ (необязательные) позволяют задать права к тем ресурсам, которыми управляет кластер управления. Для уровней "Кластер" и "Неймспейс" ‒ это управление объектами инфраструктуры (узлы, машины), неймспейсами и правами доступа. Для уровня "Платформа" ‒ это управление ресурсами кластера управления.

Рисунок 42 ‒ Создание набора доступов

Кластерные разрешения

Эти разрешения относятся только к клиентским кластерам. Так, например, кластерные разрешения, прописанные в набор доступов уровня "Платформа", откроют доступ до указанных ресурсов клиентских кластеров. Ожидается валидный YAML. Первой строкой должна быть API-группа.

Пример:

- apiGroups:
‒ '*'
resources:
‒ '*'
verbs:
‒ '*'
- nonResourceURLs:
‒ '*'
verbs:
‒ '*'

Платформенные разрешения

Так как созданием кластеров, объектов инфраструктуры и доступа управляет кластер управления, разрешения называются платформенными. В зависимости от уровня создаваемого набора доступны платформенные разрешения, указанные в таблице 41.

Роли в ArgoCD

Все роли (таблица 42) доступны на любом из уровней набора разрешений. При создании на уровне "Платформа" роль будет назначена в каждом клиентском кластере. В кластере управления роль не создается.

Наборы доступов по умолчанию

Уровень "Платформа"

Набор доступов по умолчанию для уровня "Платформа" приведен в таблице 43.

Уровень "Кластер"

Набор доступов по умолчанию для уровня "Платформа" приведен в таблице 44.

Уровень "Неймспейс"

Набор доступов по умолчанию для уровня "Неймспейс" приведен в таблице 45.

Менеджер сессий

На странице "Менеджер сессий" можно просмотреть все активные сессии всех пользователей Комплекса вне зависимости от точки аутентификации. Есть возможность прервать сессию пользователя.

Отображается следующая информация о сессии пользователя (рисунок 43):

  • Имя пользователя;
  • Платформа;
  • Операционная система;
  • Браузер.

Рисунок 43 ‒ Страница "Менеджер сессий"

Дерево доступов

На странице "Дерево доступов" размещена полная структура доступов каждого заведенного пользователя и группы. Доступ к странице имеют только администратор Комплекса и администратор безопасности Комплекса. На этой странице можно только просмотреть доступы в разрезе пользователя/группы, но не управлять ими.

Доступы отображаются только по тем объектам, к которым есть назначения и имеют вид (рисунок 44):

  • Платформа ‒ перечень прав доступа, если у пользователя есть назначения уровня "Платформа";
  • Кластеры ‒ перечень кластеров, если у пользователя есть назначения уровня "Кластер";
  • Неймспейсы ‒ перечень пространств имен с указанием на кластер, в котором он находится.

Рисунок 44 ‒ Дерево доступов

Назначение прав

Назначение прав доступа ко всему Комплексу и тенантам доступно только из интерфейса Комплекса. Также доступно назначение прав для уровня кластера управления или клиентского кластера, неймспейса. Записи, доступные только для просмотра, некликабельны.

Назначение прав доступа из интерфейса осуществляется на странице "Доступ к платформе" (рисунок 45).

Рисунок 45 ‒ Доступ к платформе

При нажатии на кнопку Назначить доступ происходит переход на страницу "Управление ролями" интерфейса Комплекса, в которой доступны четыре вкладки:

  • Платформа (рисунок 46);
  • Тенант (рисунок 47);
  • Кластер (рисунок 48);
  • Неймспейс (рисунок 49).

Со страницы "Управление ролями" Комплекса можно:

  • Назначать пользователям/группам права доступа к:

Рисунок 46 ‒ Вкладка "Платформа"

Рисунок 47 ‒ Вкладка "Тенант"

Рисунок 48 ‒ Вкладка "Кластер"

Рисунок 49 ‒ Вкладка "Неймспейс"

  • платформе в целом (доступ к кластеру управления, клиентским кластерам);
  • кластеру (доступ к кластеру управления или клиентскому кластеру);
  • неймспейсу (доступ к неймспейсу кластера управления или клиентского кластера).
  • Изменять и удалять платформенные, кластерные и неймспейсные назначения прав всех доступных пользователю кластеров и пространств имен.

Статусная модель назначения прав доступа в Комплексе отражает статусы применения назначений пользователей/групп пользователей:

  • В блоке "Статус применения в кластере управления" сгруппированы результаты применения назначений в самом кластере управления.
  • Блок "Статус применения в клиентских кластерах" отражает успешность применения прав доступа в кластере и применение ролей в ArgoCD. Для уровня "Платформа" приведен количественный показатель, отражающий отношение кластеров, в которых назначение было успешно применено, к общему количеству кластеров. Для остальных уровней приведена цветовая индикация успешности применения назначений.

Согласно цветовой индикации:

  • зеленый ‒ успешно применено;
  • красный ‒ в результате применения прав доступа есть ошибки;
  • серый ‒ применение не требуется. Это может быть в случае, если в наборе доступов не было запрошено выделение прав доступа, например, в ArgoCD.

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

Права доступа, назначенные в тенант, будут применены ко всем существующем в тенанте объектам. В интерфейсе пользователи, имеющие доступ к тенанту, смогут получить доступ к вложенным объектам тенанта. Доступ к самим тенантам будет только у платформенных пользователей.

Если тенант объединяет кластеры целиком (в пространствах имен указана "*"), то для назначения прав доступа будут доступны наборы доступов кластерного уровня (рисунок 50).

Рисунок 50 ‒ Права доступа в тенантах

Если тенант объединяет пространства имен, то для назначения прав доступа будут доступны наборы доступов неймспейсного уровня (рисунок 51).

Рисунок 51 ‒ Права доступа неймспейсного уровня в тетанте

Список наборов доступа будет доступен на экране после выбора имени тенанта, в который необходимо назначить права доступа.

Назначение прав группе пользователей

Для назначения прав доступа группе пользователей нужно перейти на вкладку абстракции, к которой требуется предоставить доступ (вкладка "Платформа", "Тенант", "Кластер" или "Неймспейс"), нажать + рядом с названием таблицы "Группы". В открывшемся экране отобразится форма "Назначение прав доступа" группе (рисунок 52).

Имя группы можно задать одним из способов:

  • Выбрать из каталога, подключенного при интеграции с LDAP (например, AD или openLDAP). Выбор из каталога доступен только в случае настроенной в Комплексе интеграции с LDAP:
    • в поле "Имя группы" начать вводить имя группы; со второго введенного символа будет выполнен поиск группы по каталогу;
    • в результате поиска будет получен список имен групп;
    • выбрать необходимую группу из списка (поиск по каталогу ‒ регистронезависимый).

Примечание — Если каталог не подключен, можно указать название группы вручную.

  • Ввести имя группы вручную. Для этого нужно выбрать "Ручной ввод" и в поле "Имя группы" указать имя группы пользователей. Данный способ может быть необходим, когда в Комплексе подключен внешний провайдер аутентификации (например, Keycloak или Blitz). Если имя группы указано вручную, поиск группы по каталогу LDAP не будет выполнен.

Все пользователи, входящие в группу, получат выделенные полномочия.

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

Рисунок 52 ‒ Назначение прав доступа группе

Назначение прав пользователю

Для назначения прав доступа пользователю нужно перейти на вкладку абстракции, к которой требуется предоставить доступ (вкладка "Платформа", "Тенант", "Кластер" или "Неймспейс"). В открывшемся экране отобразится форма "Назначение прав доступа" (рисунок 53).

Задать имя пользователя можно одним из способов:

  • В соответствии с каталогом, подключенным при интеграции с LDAP (например, AD или openLDAP). Выбор из каталога доступен только в случае настроенной в Комплексе интеграции с LDAP:
    • в поле "Уникальное имя пользователя" начать вводить имя пользователя. Со второго введенного символа будет выполнен поиск пользователей по каталогу. В результате поиска отобразится список пользователей, имена которых содержат указанные символы;
    • выбрать имя пользователя из списка (поиск по каталогу ‒ регистронезависимый).

Примечание — Если каталог не подключен, можно указать имя пользователя вручную.

  • Ввести имя пользователя вручную. Для этого нужно выбрать "Ручной ввод" и в поле "Уникальное имя пользователя" указать имя пользователя. Данный способ может быть необходим, когда в комплексе подключен внешний провайдер аутентификации (например, Keycloak или Blitz). Если имя пользователя указано вручную, поиск пользователя по каталогу LDAP не будет выполнен.

После того как "Уникальное имя пользователя" будет заполнено, нужно выбрать наборы доступов, которые требуется присвоить пользователю, затем нажать кнопку Сохранить. Имя пользователя после создания записи не будет доступно для редактирования. При необходимости можно изменить имя пользователя, удалив запись и создав новую.

Следует обратить внимание, что, если набор доступов включает роль в ArgoCD, то:

  • при назначении набора доступов на уровне Комплекса группе/пользователю будет открыт доступ к проектам ArgoCD всех клиентских кластеров Комплекса;
  • при назначении набора доступов на уровне кластера группе/пользователю будет открыт доступ ко всем проектам ArgoCD этого кластера;
  • при назначении набора доступов на уровне неймспейса группе/пользователю будет открыт доступ к проекту ArgoCD только одного неймспейса.

Рисунок 53 ‒ Назначение прав доступа пользователю

Интеграция с LDAP

Об интеграции в Комплексе

Настройка интеграции с LDAP-каталогом в Комплексе доступна администратору Комплекса. За получением сведений для подключения к LDAP-каталогу рекомендуется обратиться к администратору каталога.

РОСА Кубис совместима с каталогами:

  • Active Directory;
  • OpenLDAP;
  • FreeIPA;
  • ALD Pro;
  • Samba DC.

Для настройки интеграции с каталогом пользователей нужно:

  1. получить параметры подключения к LDAP-каталогу (п. Получение параметров для подключения к LDAP-каталогу);
  2. получить атрибуты записей в LDAP-каталоге для корректной настройки поиска пользователей и групп в Комплексе (п. Получение атрибутов записей в LDAP-каталоге);
  3. настроить интеграцию с LDAP-каталогом (п. Настройка интеграции с LDAP-каталогом).

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

Получение параметров для подключения к LDAP-каталогу

Для настройки интеграции с LDAP-каталогом понадобятся следующие параметры:

  • адрес LDAP-сервера (FQDN или IP-адрес). Также может потребоваться порт для подключения к LDAP-серверу: уточнить информацию у администратора LDAP-каталога;
  • пароль учетной записи для подключения к LDAP-каталогу;
  • DN (Distinguished Name) учетной записи пользователя для подключения к LDAP-каталогу;
  • DN (Distinguished Name) контейнеров, в которых будет выполняться поиск записей пользователей и групп пользователей.

После получения параметров для подключения к LDAP-каталогу, слдеует перейти к получению атрибутов записей в LDAP-каталоге.

Получение атрибутов записей в LDAP-каталоге

Для получения атрибутов записей в LDAP-каталоге понадобятся, кроме параметров, атрибуты записей, для получения которых нужно:

  1. в интерфейсе командной строки с помощью утилиты ldapsearch (клиент OpenLDAP) выполнить команду ldapsearch, в которую необходимо подставить свои значения параметров, например:
ldapsearch -H Ваш-адрес-LDAP-сервера -b "Ваш-DN-контейнера" -D "Ваш-DN-учетной-записи-пользователя" -w "Ваш-пароль"

Используемые параметры команды указаны в таблице 46.

  1. в полученном ответе запроса записей пользователей найти атрибуты, содержащие:
  • полное имя пользователя;
  • уникальное имя пользователя;
  • email-адрес пользователя с UPN-суффиксом и "@";
  • UPN-суффикс к email-адресу пользователя (можно указать email-суффикс вместо полного email-адреса);
  1. в полученном ответе запроса записей групп пользователей определить атрибут записи, в котором содержится общее (краткое) название группы.

Далее следует использовать наименования полученных атрибутов для настройки поиска в LDAP-каталоге в Комплексе.

Следует обратить внимание, при настройке поиска необходимо учитывать регистр символов атрибутов.

После получения атрибутов записей в LDAP-каталоге следует перейти к настройке интеграции с LDAP-каталогом.

Настройка интеграции с LDAP-каталогом

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

  1. получить параметры подключения к LDAP-каталогу;
  2. получить атрибуты записей в LDAP-каталоге для корректной настройки поиска пользователей и групп.

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

Далее описаны общие шаги для всех LDAP-каталогов по настройке интеграции в графическом интерфейсе или в интерфейсе командной строки.

Примеры настройки интеграции в LDAP-каталогами:

В графическом интерфейсе

В разделе "Управление доступом" на странице "Интеграция с LDAP" внести данные для проверки подключения к LDAP-каталогу (рисунок 54):

  • в поле "DN для подключения" указать "Distinguished Name" учетной записи пользователя для аутентификации к LDAP-каталогу. DN должна совпадать с данными, введенными в параметре "-D" при выполнении ldapsearch;
  • в поле "Пароль для подключения" указать пароль пользователя для аутентификации к LDAP-каталогу. Пароль должен совпадать с данными, введенными в параметре "-w" при выполнении ldapsearch;
  • в поле "Адрес LDAP-сервера" указать в формате FQDN или IP-адреса (например, ldap.example.ru или 10.11.112.33). Адрес должен совпадать с введенными данными адреса в параметре "-H" при выполнении ldapsearch. При необходимости задания порта перейти в режим расширенных настроек и установить "Да" для "Использовать TLS соединение", указать порт в поле "Порт".

Рисунок 54 ‒ Данные для проверки подключения к LDAP-каталогу

С помощью переключателя "Показать расширенные настройки" в режиме расширенных настроек интеграции при необходимости можно выполнить подключение с TLS-соединением.

При выборе "Использовать TLS" дополнительно доступны поля (рисунок 55):

  • Подключение по startTLS (по умолчанию отключено);
  • Включить верификацию CA (по умолчанию отключена);
  • Клиентский сертификат (файл для загрузки);
  • Доверенный корневой сертификат (файл для загрузки), если включена верификация CA;
  • Клиентский приватный ключ (файл для загрузки).
  • Порт ‒ если не задан, и подключение к серверу LDAP осуществляется по startTLS, по умолчанию будет использован порт 389.

Загруженные файлы будут переведены в формат base64. По завершении интеграции файлы будут доступны для скачивания из интерфейса.

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

Далее следует нажать кнопку Проверить подключение.

После того как будет выполнено успешное подключение заполнить поля в зависимости от выбранного режима подключения:

  • Если выбран ручной режим подключения.

Рисунок 55 ‒ Настройка TLS-соединения

В блоке "Поиск групп" указать (рисунок 56):

  • в поле "Базовый DN поиска групп" ‒ Distinguished Name контейнера (база поиска), в котором будет выполняться поиск записей. Значение должно совпадать с данными, введенными в параметре "-b" при выполнении ldapsearch;
  • в поле "Атрибут имени группы" ‒ атрибут записи, отвечающий за общее (краткое) название группы, определенный на шаге получения атрибутов записей.

Рисунок 56 ‒ Блок "Поиск групп"

В блоке "Поиск пользователей" указать (рисунок 57):

  • в поле "Базовый DN поиска пользователей" ‒ Distinguished Name контейнера (база поиска), в котором будет выполняться поиск записей пользователей. Значение должно совпадать с данными, введенными в параметре "-b" при выполнении ldapsearch;
  • в полях "Email атрибут", "Name атрибут", "UserName атрибут", "Email суффикс" ‒ атрибуты, определенные при выполнении ldapsearch (таблица 47). Для еmail-адреса сотрудника должно быть заполнено хотя бы одно из полей: "Email атрибут" или "Email суффикс".

Рисунок 57 ‒ Блок "Поиск пользователей"

  • Если выбран автоматический режим подключения:
    • Нажать на Выполнить анализ (рисунок 58).
    • Проверить атрибуты в заполненных полях поиска групп (рисунок 59) и поиска пользователей (рисунок 60).
  • В режиме расширенных настроек для поиска групп и пользователей дополнительно доступны (рисунок 61):

Рисунок 58 ‒ Выполнение анализа

Рисунок 59 ‒ Поиск групп

Рисунок 60 ‒ Поиск пользователей

  • Фильтр ‒ дополнительное поле, применяемое для фильтрации при поиске в каталоге. В фильтре указывается атрибут записи и присваиваемое значение, по которому необходимо осуществить поиск.

Следует обратить внимание, что необходимо вводить данные для фильтрации в скобках, как при формировании запроса ldapsearch, например (objectClass=group).

Примеры фильтров:

Фильтр поиска по значению, заданному в sAMAccountName без оператора
(sAMAccountName=i.ivanov)
Фильтр поиска по совпадению со значением имени или заданным значением в sAMAccountName. Используется оператор ИЛИ - |
(|(name=Ivan Ivanov)(sAMAccountName=ll.romashka))
Фильтр поиска по совпадению имени и значения в sAMAccountName. Используется оператор И - &
(&(name=Ivan Ivanov)(sAMAccountName=i.ivanov))
Фильтр поиска, исключающий значение sAMAccountName. Используется оператор отрицания - !
(!(sAMAccountName=i.ivanov))
  • Scope (область поиска, например "sub" ‒ поиск по всему дереву объектов, "one" ‒ поиск на один уровень) ‒ можно вести значение или выбрать область поиска из выпадающего списка.
  • PreferredUserName атрибут (поле уровня "пользователь" в LDAP, содержащее предпочтительное имя сотрудника).

Рисунок 61 ‒ Режим расширенных настроек

В блоке "Сопоставление пользователей" нужно задать шаблон связи атрибута пользователя и атрибута группы (рисунок 62).

Рисунок 62 ‒ Блок "Сопоставление пользователей"

Когда будут заполнены обязательные поля, станет доступна кнопка Протестировать. Нажатие на эту кнопку инициирует попытку подключения к каталогу. В случае успешного подключения станет доступна кнопка Сохранить.

По завершении успешного тестирования настройки необходимо сохранить данные.

При необходимости внесения изменения в сохраненную настройку нужно ввести пароль. После этого следует протестировать интеграцию с измененными настройками и сохранить их.

В интерфейсе командной строки

В интерфейсе командной строки нужно выполнить следующие действия:

  1. подготовить конфигурационный файл config.json с данными для интеграции с LDAP-каталогом.

Пример config.json (описание параметров ‒ в таблице 48):

  {
  "host": "10.11.11.7",
  "insecureNoSSL": true,
  "insecureSkipVerify": true,
  "startTLS": false,
  "rootCA": "",
  "clientCert": "",
  "clientKey": "",
  "bindDN": "cn=Administrator,cn=Users,dc=shturval,dc=lab",
  "bindPW": "dkjhdfss",
  "usernamePrompt": "",
  "userSearch": {
  "baseDN": "cn=Users,dc=shturval,dc=lab",
  "filter": "",
  "username": "sAMAccountName",
  "scope": "",
  "idAttr": "DN",
  "emailAttr": "userPrincipalName",
  "nameAttr": "displayName",
  "preferredUsernameAttr": "sAMAccountName",
  "emailSuffix": ""
  },
  "groupSearch": {
  "baseDN": "OU=Groups,DC=shturval,DC=lab",
  "filter": "",
  "scope": "",
  "userAttr": "",
  "groupAttr": "",
  "userMatchers": [
  {
  "UserAttr":  "DN",
  "GroupAttr": "member"
  }
  ],
  "nameAttr": "cn"
  }
  }
  1. закодировать подготовленный конфигурационный файл в формате base64.

Команда:

  cat ~/date/config.json | base64 --wrap=0

где вместо ~/date/config.json указать путь до конфигурационного файла. Пример ответа:

ew0KICAiaG9zdCI6ICIxMC4zMS4xNDUuNyIsDQogICJpbnNlY3VyZU5vU1NMIjogdHJ1ZSwNCiAgImluc2VjdXJlU2tpcFZlcmlmeSI6IHRydWUsDQogICJzdGFydFRMUyI6IGZhbHNlLA0KICAicm9vdENBIjogIiIsDQogICJjbGllbnRDZXJ0IjogIiIsDQogICJjbGllbnRLZXkiOiAiIiwNCiAgInJvb3RDQURhdGEiOiBudWxsLA0KICAiYmluZEROIjogImNuPUFkbWluaXN0cmF0b3IsY249VXNlcnMsZGM9c2h0dXJ2YWwsZGM9bGFiIiwNCiAgImJpbmRQVyI6ICJQQHNzdzByZCIsDQogICJ1c2VybmFtZVByb21wdCI6ICIiLA0KICAidXNlclNlYXJjaCI6IHsNCiAgICAiYmFzZUROIjogImNuPVVzZXJzLGRjPXNodHVydmFsLGRjPWxhYiIsDQogICAgImZpbHRlciI6ICIiL
  1. в неймспейсе shturval-backend кластера управления создать secret с именем ldap-config и типом Opaque, содержащий в data закодированные данные config.json.

Команда:

  kubectl apply -f - <<EOF
  apiVersion: v1
  data:
  config.json: ew0KICAiaG9zdCI6ICIxMC4zMS4xNDUuNyIsDQogICJpbnNlY3VyZU5vU1NMIjogdHJ1ZSwNCiAgImluc2VjdXJlU2tpcFZlcmlmeSI6IHRydWUsDQogICJzdGFydFRMUyI6IGZhbHNlLA0KICAicm9vdENBIjogIiIsDQogICJjbGllbnRDZXJ0IjogIiIsDQogICJjbGllbnRLZXkiOiAiIiwNCiAgInJvb3RDQURhdGEiOiBudWxsLA0KICAiYmluZEROIjogImNuPUFkbWluaXN0cmF0b3IsY249VXNlcnMsZGM9c2h0dXJ2YWwsZGM9bGFiIiwNCiAgImJpbmRQVyI6ICJQQHNzdzByZCIsDQogICJ1c2VybmFtZVByb21wdCI6ICIiLA0KICAidXNlclNlYXJjaCI6IHsNCiAgICAiYmFzZUROIjogImNuPVVzZXJzLGRjPXNodHVydmFsLGRjPWxhYiIsDQogICAgImZpbHRlciI6ICIiL
  kind: Secret
  metadata:
  name: ldap-config
  namespace: shturval-backend
  type: Opaque
  EOF

Поиск пользователя в LDAP-каталоге

Чтобы найти пользователя в LDAP-каталоге, в графическом интерфейсе Комплекса нужно перейти в раздел "Управление доступом" на страницу "Управление ролями" и нажать + рядом с названием "Пользователи".

Если в поле "Уникальное имя пользователя" начать ввод имени пользователя, то со второго введенного символа будет выполнен поиск пользователей по каталогу. В результате поиска отобразится список пользователей, имена которых содержат указанные символы.

Затем нужно выбрать имя пользователя из списка (поиск по каталогу регистронезависимый) (рисунок 63).

Рисунок 63 ‒ Ввод и поиск имени пользователя

Примеры

Пример заполнения полей для настройки интеграции с типовым каталогом Active Directory

В интерфейсе командной строки с помощью утилиты ldapsearch (клиент OpenLDAP) нужно получить атрибуты записей в LDAP-каталоге.

Команда получения записей пользователей:

ldapsearch -H ldap://10.11.12.7 -b "cn=Users,dc=shturval,dc=lab" -D "cn=Administrator,cn=Users,dc=shturval,dc=lab" -w "password123"

Пример ответа:

## Users, shturval.lab
dn: CN=Users,DC=shturval,DC=lab
objectClass: top
objectClass: container
cn: Users
description: Default container for upgraded user accounts
distinguishedName: CN=Users,DC=shturval,DC=lab
instanceType: 4
whenCreated: 20220926131156.0Z
whenChanged: 20220926131156.0Z
uSNCreated: 5660
uSNChanged: 5660
showInAdvancedViewOnly: FALSE
name: Users
objectGUID:: UPW8kPVYR0K/vWQM8yxQMA==
systemFlags: -1946157056
objectCategory: CN=Container,CN=Schema,CN=Configuration,DC=shturval,DC=lab
isCriticalSystemObject: TRUE
dSCorePropagationData: 20220928141115.0Z
dSCorePropagationData: 20220926131239.0Z
dSCorePropagationData: 16010101000416.0Z
Maksim Maksimov, Users, shturval.lab
dn: CN=Maksim Maksimov,CN=Users,DC=shturval,DC=lab
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: Maksim Maksimov
sn: Maksimov
givenName: Maksim
distinguishedName: CN=Maksim Maksimov,CN=Users,DC=shturval,DC=lab
instanceType: 4
whenCreated: 20240306093015.0Z
whenChanged: 20241031085511.0Z
displayName: Maksim Maksimov
uSNCreated: 732
memberOf: CN=cluster-admin-restricted,OU=Groups,DC=shturval,DC=lab
uSNChanged: 986
name: Maksim Maksimov
objectGUID:: 1SzqRfN6b0GKCPYA==
userAccountControl: 660
badPwdCount: 1
codePage: 0
countryCode: 0
badPasswordTime: 1336256934
lastLogoff: 0
lastLogon: 13356799236
pwdLastSet: 1335077
primaryGroupID: 513
objectSid:: AQUAAAAAAA//PXEFSXmgQAAA==
accountExpires: 92275807
logonCount: 0
sAMAccountName: m.maksimov
sAMAccountType: 800668
userPrincipalName: m.maksimov@shturval.lab
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=shturval,DC=lab
dSCorePropagationData: 16010101000000.0Z
lastLogonTimestamp: 133748385110655368

В полученном ответе присутствуют атрибуты, содержащие:

  • displayName ‒ полное имя пользователя;
  • sAMAccountName ‒ уникальное имя пользователя;
  • userPrincipalName ‒ email-адрес пользователя с UPN-суффиксом и @;
  • UPN-суффикс к email адресу пользователя. Можно указать email-суффикс вместо полного email-адреса. В примере суффикс ‒ shturval.lab.

Команда получения записей групп:

ldapsearch -H ldap://10.11.11.7 -b "OU=Groups,dc=shturval,dc=lab" -D "cn=Administrator,cn=Users,dc=shturval,dc=lab" -w "password123"

Пример ответа:

extended LDIF
#
LDAPv3
base <OU=Groups,dc=shturval,dc=lab> with scope subtree
filter: (objectclass=*)
requesting: ALL
#
Groups, shturval.lab
dn: OU=Groups,DC=shturval,DC=lab
objectClass: top
objectClass: organizationalUnit
ou: Groups
distinguishedName: OU=Groups,DC=shturval,DC=lab
instanceType: 4
whenCreated: 20220928141115.0Z
whenChanged: 20220928141115.0Z
uSNCreated: 13006
uSNChanged: 13007
name: Groups
objectGUID:: uxe0CpQ7EBw==
objectCategory: CN=Organizational-Unit,CN=Schema,CN=Configuration,DC=shturval,
DC=lab
dSCorePropagationData: 20220928141115.0Z
dSCorePropagationData: 20220928141115.0Z
dSCorePropagationData: 16010101000000.0Z
cluster-admin, Groups, shturval.lab
dn: CN=cluster-admin,OU=Groups,DC=shturval,DC=lab
objectClass: top
objectClass: group
cn: cluster-admin
member: CN=Maksim Maksimov,CN=Users,DC=shturval,DC=lab
distinguishedName: CN=cluster-admin,OU=Groups,DC=shturval,DC=lab
instanceType: 4
whenCreated: 20240306092755.0Z
whenChanged: 20240306093217.0Z
uSNCreated: 73240
uSNChanged: 73251
name: cluster-admin
objectGUID:: G2n1dg==
objectSid:: AQUAAAAAA//PXEFSXUlmQQAAA==
sAMAccountName: cluster-admin
sAMAccountType: 268456
groupType: -2147646
objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=shturval,DC=lab
dSCorePropagationData: 16010101000000.0Z

В полученном ответе можно определить атрибут записи, в котором содержится общее (краткое) название группы. В примере ‒ это атрибут cn.

Наименования полученных атрибутов можно использовать для настройки поиска в LDAP-каталоге (таблица 49):

  • Настройки подключения
  • DN для подключения ‒ cn=Administrator, cn=Users, dc=shturval, dc=lab (пример DN для технологической учетной записи пользователя);
  • Пароль для подключения ‒ password123;
  • Адрес LDAP-сервера ‒ 10.11.11.7 (пример IP-адреса сервера LDAP);
  • Поиск групп:
  • Базовый DN поиска групп ‒ OU=Groups,dc=shturval,dc=lab (пример базового полного названия группы);
  • Атрибут имени группы ‒ cn (пример атрибута, указывающего на краткое название группы в каталоге);
  • Поиск пользователей:
  • Базовый DN поиска пользователей ‒ cn=Users,dc=shturval,dc=lab (пример базового полного названия организационной единицы "пользователь").

Пример заполнения полей для настройки интеграции с типовым каталогом OpenLDAP

Настройки подключения:

  • DN для подключения ‒ cn=admin,dc=example,dc=com (пример DN для технологической учетной записи пользователя);
  • Пароль для подключения ‒ password123;
  • Адрес LDAP-сервера ‒ ldap.example.ru (пример FQDN сервера LDAP).

Поиск групп:

  • Базовый DN поиска групп ‒ ou=Groups,dc=example,dc=com (пример базового полного названия группы);
  • Атрибут имени группы ‒ cn (пример атрибута, указывающего на краткое название группы в каталоге).

Поиск пользователей:

  • Базовый DN поиска пользователей ‒ ou=Users,dc=example,dc=com (пример базового полного названия организационной единицы "пользователь");
  • Email атрибут ‒ mail (пример поля уровня пользователя в LDAP, содержащего email сотрудника)
  • Email суффикс ‒ @example.com (пример общего суффикса, который будет добавляться к userName пользователя) "Email суффикс" указывается, если в LDAP не указан Email-атрибут в явном виде.

При использовании TLS:

  • Создавать TLS-сессию при подключении к LDAP ‒ да/нет (выбор опции для создания TLS-сессии при подключении к серверу LDAP);
  • Выключить верификацию CA ‒ да/нет (выбор опции для отключения проверки сертификата удостоверяющего центра);
  • Клиентский сертификат ‒ file.pem (файл с клиентским сертификатом);
  • Доверенный корневой сертификат ‒ ca.pem (файл с доверенным корневым сертификатом)$
  • Клиентский приватный ключ ‒ key.pem (файл с клиентским приватным ключом).

В блоке "Сопоставление пользователей" можно задать шаблон связи атрибута пользователя и атрибута группы. Например, можно сопоставить атрибут uid пользователя с атрибутом memberOf группы, чтобы определить принадлежность пользователя к определенной группе.

Пример:

  dn: uid=user1,ou=users,dc=example,dc=com
  uid: user1
  cn: User One
  memberOf: cn=group1,ou=groups,dc=example,dc=com
  memberOf: cn=group2,ou=groups,dc=example,dc=com

Пример заполнения полей для настройки интеграции с типовым каталогом Samba DC

Настройки подключения:

  • DN для подключения ‒ cn=admin,dc=example,dc=com (где "example" ‒ это имя домена, а "com" ‒ имя верхнего уровня домена);
  • Пароль для подключения ‒ password1234;
  • Адрес LDAP-сервера ‒ ldap.example.ru или 10.11.112.33 (ldap.example.ru ‒ полное доменное имя сервера LDAP, 10.11.112.33 ‒ IP-адрес сервера LDAP).

Поиск групп:

  • Базовый DN поиска групп ‒ ou=groups,dc=example,dc=com (где "example" ‒ это имя домена, а "com" ‒ имя верхнего уровня домена);
  • Атрибут имени группы ‒ cn (в типовом каталоге SambaDC группы имеют атрибут "cn" для указания их имени).

Поиск пользователей:

  • Базовый DN поиска пользователей ‒ ou=users, dc=example, dc=com (где "example" ‒ это имя домена, а "com" ‒ имя верхнего уровня домена);
  • Email атрибут ‒ mail (в типовом каталоге SambaDC пользователи имеют атрибут "mail", содержащий их адрес электронной почты);
  • Email суффикс ‒ @example.com (в типовом каталоге SambaDC доменное имя "example.com" используется как суффикс для email-адресов пользователей);
  • Name атрибут ‒ displayName (атрибут "displayName" содержит полное имя пользователя);
  • UserName атрибут ‒ sAMAccountName (атрибут "sAMAccountName" содержит уникальное имя пользователя).

В блоке "Сопоставление пользователей" можно указать шаблон связи атрибута пользователя и атрибута группы. Например, если в каталоге пользователей использован атрибут "uid", а в каталоге групп ‒ атрибут "cn", то шаблон связи может быть "uid=", где "" будет заменено на имя пользователя при поиске его групп.

Пример заполнения полей для настройки интеграции с типовым каталогом FreeIPA или ALD Pro

Cтруктура каталога FreeIPA или ALD Pro:

{
"host": "freeipa.xxx.xx.msk.ru",
"insecureNoSSL": true,
"insecureSkipVerify": false,
"startTLS": false,
"clientCertData": "",
"clientKeyData": "",
"bindDN": "uid=admin,cn=users,cn=accounts,dc=freeipa,dc=tech",
"bindPW": "dkjhdfss",
"usernamePrompt": "",
"userSearch": {
"baseDN": "cn=users,cn=accounts,dc=freeipa,dc=tech",
"filter": "",
"username": "uid",
"scope": "",
"idAttr": "uid",
"emailAttr": "mail",
"nameAttr": "uid",
"preferredUsernameAttr": "uid",
"emailSuffix": "freeipa.tech"
},
"groupSearch": {
"baseDN": "cn=groups,cn=accounts,dc=freeipa,dc=tech",
"filter": "",
"scope": "",
"userAttr": "",
"groupAttr": "",
"userMatchers": [
{
"userAttr": "DN",
"groupAttr": "member"
}
],
"nameAttr": "cn"
}
}
  • DN для подключения ‒ uid=admin,cn=users,cn=accounts,dc=freeipa,dc=tech;
  • Пароль для подключения ‒ pass1234;
  • Адрес LDAP-сервера ‒ freeipa.xxx.xx.msk.ru.

Поиск групп:

  • Базовый DN поиска групп ‒ cn=groups,cn=accounts,dc=freeipa,dc=tech;
  • Атрибут имени группы ‒ cn.

Поиск пользователей:

  • Базовый DN поиска пользователей ‒ cn=users,cn=accounts,dc=freeipa,dc=tech;
  • Email атрибут ‒ mail;
  • Email суффикс ‒ freeipa.tech;
  • Name атрибут ‒ uid;
  • UserName атрибут ‒ uid;
  • Атрибут пользователя ‒ DN;
  • Атрибут группы ‒ member.

Отчеты

Отчет о ресурсах клиентских кластеров

Сводный отчет позволяет получить детальную информацию обо всех клиентских кластерах, развернутых в РОСА Кубис. Информация предоставлена в разрезе:

  • Имя клиентского кластера;
  • Тип провайдера инфраструктуры;
  • Имя шаблона провайдера инфраструктуры;
  • Количество узлов в кластере;
  • Имя группы узлов (доступна фильтрация);
  • Роли группы (доступна фильтрация);
  • Список узлов по группам (доступна фильтрация);
  • Количество подов;
  • CPU;
  • Memory;
  • Disk.

В отчете отображаются только созданные работающие узлы (рисунок 64).

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

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

Рисунок 64 ‒ Сводный отчет

Если метрики недоступны, будет показан только запрошенный для узлов объем (рисунок 65).

Рисунок 65 ‒ Отчет по узлам

На странице доступна фильтрация по кластерам. Чтобы выполнить поиск, нужно ввести имя кластера в поле в верхнем правом углу страницы. Поиск осуществляется по совпадению, начиная с первого введенного символа (рисунок 66).

Рисунок 66 ‒ Отчет с фильтрацией по кластерам

Сводный отчет по анализу образов кластеров

На странице "Анализ образов кластеров" в Комплексе представлены результаты сканирования образов контейнеров всех кластеров Комплекса на предмет уязвимости с помощью Trivy.

На странице (рисунок 67) есть возможность:

  • фильтрации по кластерам Комплекса;
  • скачивания отчета в формате CSV в соответствии с настроенными фильтрами.

В графическом интерфейсе отображается сводный отчет по всем кластерам только одного сканирования. Каждый новый сводный отчет заменяет предыдущий.

Уязвимости представлены по степени критичности.

Классификация уязвимостей по степени критичности в Trivy

  • 0-2.9 ‒ Низкая критичность (Low). Уязвимости с таким рейтингом могут быть отложены на неопределенный срок или защищены другими методами, такими как файрволы, контроллеры целостности и т.д.
  • 3.0-6.9 ‒ Средняя критичность (Medium). Уязвимости с таким рейтингом могут привести к потенциальному нарушению безопасности системы и дополнительной защите.
  • 7.0-8.9 ‒ Высокая критичность (High). Уязвимости с этим рейтингом могут привести к деградации системной производительности и/или безусловного нарушения безопасности системы.
  • 9.0-10.0 ‒ Критическая (Critical). Уязвимости с этим рейтингом могут привести к полному контролю злоумышленника над системой.

В отчетах по уязвимости могут отображаться уязвимости с критичностью High и Critical, которые не применимы для образов контейнеров компонентов в Комплекса. Чтобы исключить такие уязвимости из отчета, нужно выполнить шаги инструкции "Как исключить размеченные уязвимости из отчетов (VulnerabilityReports)".

Рисунок 67 ‒ Сводный отчет по анализу образов кластеров

Нажатие на строку уязвимости открывает боковое окно с дополнительной информацией. Нажатие на имя кластера/неймспейса открывает страницу дашборда кластера/неймспейса (рисунок 68).

Рисунок 68 ‒ Дашборд кластера/неймспейса

Отчет в формате CSV

Чтобы добавить отчет в формате CSV в MS Excel, нужно:

  1. при необходимости настроить фильтры в таблице для формирования отчета и скачать отчет со страницы, нажав на кнопку Скачать отчет;
  2. создать новый файл MS Excel, перейти в раздел "Данные";
  3. в левой части панели управления выбрать "Получение внешних данных", далее выбрать "Из текста", затем выбрать файл отчета, который был скачан, нажать Импорт;
  4. в диалоговом окне "Мастер текстов (импорт)" выбрать формат данных "С разделителями", нажать Далее;
  5. выбрать вариант разделителя "Запятая", нажать Далее;
  6. выбрать формат данных столбцов "Общий", нажать Готово.

Сводный отчет по политикам безопасности

В разделе "Сводные отчеты" на странице "Отчет по политикам безопасности" представлен сводный отчет по политикам безопасности Kyverno.

На странице сводного отчета собраны результаты анализа политик безопасности Kyverno по всем кластерам Комплекса. Доступен просмотр количества идентифицированных несоответствий:

  • в разрезе политик безопасности. Если в кластерах платформы есть политики с одинаковыми наименованиями, на диаграмме количество несоответствий для каждого кластера отображается отдельно (рисунок 69).
  • кластеров Комплекса (рисунок 70).

Нажатие на имя кластера/неймспейса открывает страницу дашборда кластера/неймспейса.

При отсутствии отчетов по политикам безопасности в кластерах сводный отчет не формируется.

На странице есть возможность скачать отчет в формате CSV полностью или в соответствии с настроенными фильтрами.

Рисунок 69 ‒ Отчет в разрезе политик безопасности

Рисунок 70 ‒ Отчет в разрезе кластеров

MS Excel версии 2019 и выше

Чтобы добавить отчет в формате CSV в MS Excel версии 2019 и выше, нужно:

  1. создать новый файл MS Excel, перейти в раздел "Данные" (рисунок 71);
  2. в левой части панели управления выбрать "Из текстового/CSV файла", выбрать файл отчета, который был скачан, нажать Импорт (рисунок 72);
  3. в появившемся окне выбрать формат разделителя "Запятая" и нажать Загрузить (рисунок 73);

Рисунок 71 ‒ Раздел "Данные"

Рисунок 72 ‒ Импорт из текста

Рисунок 73 ‒ Загрузка с разделителем "Запятая"

MS Excel версии 2018 и ниже

Чтобы добавить отчет в формате CSV в MS Excel версии 2018 и ниже, нужно:

  1. создать новый файл MS Excel, перейти в раздел "Данные" (рисунок 74);
  2. в левой части панели управления выбрать "Из текста", выбрать файл отчета, который был скачан, нажать Импорт (рисунок 75);
  3. в диалоговом окне "Мастер текстов (импорт)" выбрать формат данных "С разделителями", нажать Далее (рисунок 76);
  4. выбрать вариант разделителя "Запятая", нажать Далее (рисунок 77);
  5. выбрать формат данных столбцов "Общий", нажать Готово (рисунок 78);
  6. выбрать лист и начальную ячейку для импорта данных, нажать ОК (рисунок 79).

Рисунок 74 ‒ Раздел "Данные"

Рисунок 75 ‒ Импорт из текста

Рисунок 76 ‒ Загрузка с разделителем

Рисунок 77 ‒ Загрузка с разделителем "Запятая"

Рисунок 78 ‒ Формат "Общий"

Рисунок 79 ‒ Импорт данных

Провайдеры инфраструктуры

О провайдерах

На вкладке "Провайдеры" доступны настройки конфигурации Комплекса виртуализации, на которой будут размещены узлы кластера Комплекса, а также отображается список созданных экземпляров провайдеров. Для каждого экземпляра приведены следующие сведения (рисунок 80):

  • Имя;
  • Версия Kubernetes;
  • Тип провайдера;
  • Связанные кластеры;
  • Разрешена ли установка CSI;
  • Имя IP-пула и свободных IP-адресов.

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

Следует обратить внимание, что экземпляр провайдера, с которым инсталлирован кластер управления, не должен использоваться при создании клиентских кластеров.

Рисунок 80 ‒ Конфигурация провайдеров

Доступно создание конфигураций провайдеров:

  • VMware vSphere;
  • oVirt и oVirt-подобные платформы виртуализации:
  • zVirt
  • HostVM;
  • РЕД Виртуализация;
  • ROSA Virtualization;
  • OpenStack и публичных облаков:
  • VK Cloud;
  • Selectel;
  • Basis Dynamix;
  • Shturval v2 ‒ внутренний провайдер Комплекса ‒ поддерживает добавление виртуальных и физических машин в качестве хостов для дальнейшего использования в кластерах;
  • VMware vCloud Director;
  • Yandex Cloud.

Подробнее о настройке шаблонов провайдеров можно ознакомиться в следующих пунктах этого раздела документа.

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

Для дублирования провайдера нужно нажать "Создать дубликат" на странице выбранного провайдера. Дубликат экземпляра будет создан со всеми предыдущими настройками без имени провайдера. Возможность дублирования доступна для всех провайдеров, за исключением Shturval v2 (рисунок 81).

Рисунок 81 ‒ Дублирование провайдера

Пул IP-адреcов

Пул IP-адресов является диапазоном IP-адресов. Пул IP-адресов упрощает процесс назначения адреса API сервера кластера и VIP-адреса для Ingress при развертывании кластера с провайдерами vSphere, oVirt, Shturval V2. Пул IP-адресов позволяет автоматизировать проверку доступности IP-адресов, поэтому список IP-адресов для назначения API серверу кластера и Ingress содержит только свободные IP-адреса (рисунок 82).

Рисунок 82 ‒ Пул IP-адресов

Примечание ‒ Механизм резервирования отсутствует. Пул показывает статус и предоставляет перечень IP-адресов, свободных на момент запроса. Возможны ситуации, когда IP-адрес был свободен на моменте конфигурации кластера, но к моменту инициализации создания кластера IP-адрес был уже занят. В таком случае кластер не будет успешно развернут. Рекомендуется выделять различные подсети для каждого кластера управления, а также создавать пулы IP-адресов с непересекающимися подсетями под разные команды.

Создание пула IP-адресов

Для конфигурации пула IP-адресов в интерфейсе Комплекса кластера управления нужно перейти на страницу "Пулы IP-адресов" раздела "Провайдеры" и нажать "Добавить пул".

На странице конфигурации пула IP-адресов следует:

  • ввести имя пула (обязательно);
  • указать диапазон адресов; добавить необходимое количество диапазонов IP-адресов, выделенных из вашей сети;
  • включить в диапазон пула дополнительные IP-адреса, если необходимо;
  • указать IP-адреса, которые не должны быть доступны в пуле;
  • при необходимости добавить лейблы и аннотации;
  • после завершения настроек сохранить конфигурацию пула IP-адресов, нажав Сохранить.

После добавления пула IP-адресов в Комплекс можно посмотреть информацию пула, внести изменения в конфигурацию или удалить пул IP-адресов.

Управление пулом IP-адресов

Чтобы в дальнейшем стало возможным выбрать и назначить IP-адреса для API-сервера кластера и для Ingress при конфигурировании кластера, необходимо созданный пул IP-адресов привязать к экземпляру провайдера.

Можно использовать один пул IP-адресов для привязки к нескольким провайдерам. Настройку добавления пула IP-адресов к шаблону провайдера см. на страницах провайдеров:

Назначение IP-адреса API-серверу и VIP-адреса Ingress описано на страницах создания кластера с провайдерами:

  • oVirt;
  • vSphere;
  • Shturval V2.

Редактирование пула IP-адресов

Для редактирования пула IP-адресов необходимо перейти на страницу ранее добавленного пула. На странице пула IP-адресов доступен просмотр и редактирование конфигурации пула, а также информация о статусе назначения (свободен, занят) каждого IP-адреса пула в таблице.

Чтобы настроить необходимое количество IP-адресов пула, можно:

  • добавить новый диапазон адресов;
  • изменить текущий диапазон;
  • добавить дополнительные IP-адреса к пулу.

При необходимости можно исключить IP-адреса вне зависимости от статуса назначения пула. После завершения настроек нужно сохранить изменения для пула IP-адресов, нажав кнопку Сохранить.

Пул IP-адресов можно изменить с помощью YAML-манифеста, для чего нужно перейти на вкладку "Манифест" и внести изменения. После изменения манифеста необходимо нажать Проверить, и в правой части экрана отобразится результат проверки. Можно раскрыть блок результата проверки, чтобы увидеть полный манифест (рисунок 83).

Рисунок 83 ‒ Результат проверки

Кроме того, можно удалить пул IP-адресов. Удаление или новая конфигурация пула IP-адресов не повлияет на ранее назначенные IP-адреса этого пула. Удаление IP-адресов из пула, которые ранее были назначены API-серверу и Ingress, не приводит к изменениям в кластерах, где было выполнено назначение.

Basis Dynamix

Настройка

Чтобы использовать провайдер Basis Dynamix, необходимо иметь созданную учетную запись и сервисную роль в Комплексе виртуализации Basis Dynamix.

В разделе "Spaces" нужно создать аккаунт и ресурсную группу, затем в аккаунт добавить пользователей, от имени которых будет предоставлен доступ для заведения провайдера в Комплекс.

Учетная запись должен обладать уровнем доступа admin к управлению объектами раздела "Network" и "Resource Group" в платформе виртуализации.

Для ресурсной группы нужно настроить:

  • параметры виртуальных машин и стандартный образ в разделе "Cloud";
  • "External Networks" и "ViNs" в разделе "Network";

Для добавления шаблона виртуальной машины в провайдер должен быть создан такой шаблон в вашей платформе виртуализации. Инструкция по созданию шаблона в п. 3.4.

Конфигурация

Для конфигурации провайдера на стороне Комплекса а разделе "Провайдеры" на странице "Конфигурация провайдеров" нажать Добавить экземпляр провайдера, в выпадающем списке выбрать "+ Basis Dynamix".

В блоке "Конфигурация подключения" необходимо задать (рисунок 84):

  • Адрес сервера (соответствует DecordAddress);
  • SSO сервера (соответствует DecordSSO);
  • ID приложения;
  • API ключ;
  • Проверять ли сертификат безопасности (по умолчанию выбрано "Нет").

После настройки конфигурации нужно выполнить проверку подключения, нажав Проверить подключение.

Рисунок 84 ‒ Добавление экземпляра провайдера Basis Dynamix

После успешного подключения в блоке "Конфигурация провайдера" доступны следующие действия (рисунок 85):

  • задать "Имя провайдера" (будет использоваться для выбора шаблона при создании кластера);
  • выбрать "Имя аккаунта";
  • выбрать "Ресурсная группа" (соответствует имени ResourceGroup);
  • выбрать "Имя VINS" (название внутренней сети; соответствует name в ViNS выбранной ресурсной группы и аккаунта).
  • выбрать "Имя ExtNet" (название внешней сети; соответствует name в External Networks; указывается при необходимости).

Сетевой интерфейс в шаблоне ВМ eth0 установлен по умолчанию и не изменяется.

Могут быть одновременно заполнены оба поля ("Имя VINS" и "Имя ExtNet").

Ниже в форме расположен блок добавления виртуальных машин с заголовком "Шаблоны виртуальных машин", в котором необходимо добавить шаблоны, созданные в платформе виртуализации. Для одной версии Kubernetes доступно добавление только одного шаблона ВМ.

Подробнее о добавлении шаблона ВМ в экземпляр провайдера и выборе версии Kubernetes см. в п. Загрузка шаблона ВМ в комплекс.

После создания экземпляра провайдера изменение данных доступно только после успешного прохождения проверки подключения.

Чтобы обновить версию Kubernetes на узлах кластера, нужно выполнить шаги Инструкции "Как обновить версию kubernetes".

Рисунок 85 ‒ Конфигурация провайдера

OpenStack, VK Cloud, Selectel

Для использования провайдера необходимо наличие Комплекса виртуализации на основе OpenStack в ИТ-инфраструктуре или в формате публичного облака: VK Cloud, Selectel.

Требования к сервисной учетной записи

Для подключения провайдера OpenStack, VK Cloud, Selectel необходимо иметь системную УЗ в платформе виртуализации с правами не ниже "Администратор Kubernetes"/"Администратор проекта".

Если используется платформа виртуализации VKCloud, при подключении провайдера нужно применить логин и пароль УЗ.

Сервисную учетную запись в Selectel можно создать в личном кабинете в разделе "Аккаунт → Управление доступом" на вкладке "Сервисные пользователи".

Следует обратить внимание, что не рекомендуется использование паролей с повторяющимися спецсимволами для сервисной УЗ, например "&&", т.к. это может привести к невозможности подключения провайдера виртуализации.

Требования к шаблонам ВМ

Для использования необходимо наличие платформы виртуализации на основе OpenStack в вашей инфраструктуре или в формате публичного облака: VK Cloud, Selectel.

Для добавления шаблона виртуальной машины в провайдер OpenStack/VK Cloud/Selectelдолжен быть создан такой шаблон в вашей платформе виртуализации. Инструкцию по созданию шаблона см. в п. Шаблоны виртуальных машин.

Конфигурация провайдера

Для конфигурации провайдера на стороне Комплекса в раздел "Провайдеры" на странице "Конфигурация провайдеров" нажать Добавить провайдер, в выпадающем списке нажать + Добавить экземпляр провайдера и в выпадающем списке выбрать необходимый тип провайдера: "+ Openstack", "VK Cloud", "Selectel".

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

Конфигурация подключения Openstack

В блоке "Конфигурация подключения" нужно выбрать тип ввода данных. Можно заполнить данные конфигурации подключения вручную или загрузить с помощью RC.sh.

В режиме настройки подключения "Конфигурировать вручную" необходимо задать (рисунок 86):

Рисунок 86 ‒ Конфигурация подключения провайдера Openstack

  • Точка авторизации keystone ‒ URL-адрес доступа к службе авторизации OpenStack (Keystone). Требуется указание порта, например http://10.11.111.111:5000;
  • ID ‒ идентификатор проекта (project_id). В панели управления Openstack идентификатор проекта доступен в разделе "Идентификация  Проекты";
  • ID домена ‒ идентификатор домена проекта (project_domain_id);
  • Region name ‒ имя региона (например, RegionName);
  • Interface ‒ интерфейс (например, public);
  • Identity API Version ‒ версия API. По умолчанию установлена 3 версия;
  • Сертификат (cacert, необязательное);
  • Проверять ли сертификат безопасности (значение по умолчанию ‒ "Нет");
  • Тип подключения учетной записи (Сервисный пользователь/Токен).

Если выбран "Сервисный пользователь", то для ввода доступны поля:

  • Name ‒ имя сервисной учетной записи с ролями heat_stack_owner, admin (username);
  • Пароль ‒ пароль сервисной учетной записи;
  • Имя домена (user_domain_name).

Если выбран "Токен", то для ввода доступно только поле "Токен". В панели управления Openstack токен находится в разделе "Доступ для приложений".

В режиме настройки подключения "Загрузить RC.sh" необходимо (рисунок 87):

Рисунок 87 ‒ Загрузка RC.sh

  1. загрузить файл RC.sh (Resource Configuration) ‒ файл с учётными данными, используемыми всеми службами OpenStack. В панели управления OpenStack в разделе "Доступ к API" вашего проекта можно скачать файл openrc.sh;
  2. указать пароль сервисного пользователя.

Далее расположена кнопка Проверка подключения. После создания шаблона провайдера изменение данных доступно только после успешного прохождения проверки подключения.

Конфигурация подключения VK Cloud

В блоке "Конфигурация подключения" нужно выбрать тип ввода данных. Можно заполнить данные конфигурации подключения вручную или загрузить с помощью RC.sh.

В режиме настройки подключения "Конфигурировать вручную" необходимо задать (рисунок 88):

Рисунок 88 ‒ Конфигурация подключения провайдера VK Cloud

  • Auth URL (обязательно) ‒ в панели управления URL доступен в разделе "Настройки проекта", вкладка "Доступ по API";
  • Project ID (обязательно) ‒ идентификатор проекта;
  • Project Domain ID (обязательно) ‒ идентификатор домена проекта;
  • Region name ‒ имя региона;
  • Interface ‒ интерфейс (например, public);
  • Identity API Version ‒ версия API;
  • Сертификат (cacert, необязательное);
  • Проверять ли сертификат безопасности (значение по умолчанию ‒ "Нет");
  • Логин администратора (обязательно) ‒ Keystone-токен не предполагает длительное использование, поэтому он не может быть использован;
  • User Domain Name ‒ имя домена пользователя;
  • Пароль администратора (обязательно).

В режиме настройки подключения "Загрузить RC.sh" необходимо (рисунок 89):

Рисунок 89 ‒ Загрузка RC.sh

  1. загрузить файл RC.sh (Resource Configuration) ‒ в панели управления VK Cloud в разделе "Управление доступами" можно скачать RC.sh версии 3;
  2. указать пароль сервисного пользователя.

Далее расположена кнопка Проверка подключения. После создания шаблона провайдера изменение данных доступно только после успешного прохождения проверки подключения.

Конфигурация подключения Selectel

В блоке "Конфигурация подключения" нужно выбрать тип ввода данных. Можно заполнить данные конфигурации подключения вручную или загрузить с помощью RC.sh.

В режиме настройки подключения "Конфигурировать вручную" необходимо задать (рисунок 90):

Рисунок 90 ‒ Конфигурация подключения провайдера Selectel

  • Auth URL (обязательно) ‒ по умолчанию установлено https://cloud.api.selcloud.ru/identity/v3;
  • Идентификатор проекта (обязательно) ‒ ID проекта. В панели управления Selectel можно найти в разделе "Облачная платформа", далее меню проектов и в строке нужного проекта иконка копирования ID;
  • Номер аккаунта Selectel (обязательно) ‒ в панели управления номер аккаунта доступен в правом верхнем углу;
  • Имя региона ‒ пул, зона доступности, например ru-9. Все ресурсы будут создаваться в этом регионе;
  • Интерфейс (например, public);
  • Версия API (по умолчанию установлена 3 версия);
  • Сертификат (cacert, необязательное);
  • Проверять ли сертификат безопасности (значение по умолчанию ‒ "Нет");
  • Имя сервисного пользователя ‒ необходимые роли: "Администратор аккаунта" и "Администратор пользователей". В панели управления Selectel имя сервисного пользователя доступно в разделе "Управление доступом  Управление пользователями", на вкладке "Сервисные пользователи";
  • Пароль сервисного пользователя ‒ в панели управления Selectel можно посмотреть при создании пользователя или изменить на новый.

В режиме настройки подключения "Загрузить RC.sh" необходимо (рисунок 91):

Рисунок 91 ‒ Загрузка RC.sh

  1. загрузить файл RC.sh (Resource Configuration) ‒ в панели управления VK Cloud в разделе "Управление доступами" можно скачать RC.sh версии 3;
  2. указать пароль сервисного пользователя.

Далее расположена кнопка Проверка подключения. После создания шаблона провайдера изменение данных доступно только после успешного прохождения проверки подключения.

Конфигурация провайдера (Openstack/VK Cloud/Selectel)

После успешного прохождения проверки подключения необходимо внести данные (идентичны для всех типов провайдеров: Openstack, VK Cloud, Selectel)(рисунок 92):

Рисунок 92 ‒ Конфигурация провайдера

  • Имя провайдера;
  • CloudName (имя облака, например, vk или selectel);
  • Сетевой интерфейс ВМ (например, eth0);
  • sshKeyName (доступен выбор из списка ключей);
  • Подсеть узлов (подсеть узлов не должна быть создана ранее и не должна пересекаться с подсетью подов и подсетью сервисов);
  • Идентификатор внешней сети (externalNetworkID);
  • Типы виртуальных машин (flavours);
  • Выбрать разрешена ли установка CSI. При создании кластера с экземпляром провайдера с разрешением установки CSI, будет доступна возможность включить интеграцию CSI.
  • Типы дисков (volume types);
  • при необходимости выбрать "Зоны доступности" (availability zones);
  • Требуется ли управление Security Groups (значение по умолчанию ‒ "Да").

Когда провайдер создан, отображаются только выбранные типы ВМ, дисков и выбранные зоны доступности.

Далее расположен блок добавления виртуальных машин с заголовком "Шаблоны виртуальных машин". Необходимо добавить шаблоны, созданные в платформе виртуализации. Для одной версии Kubernetes доступно добавление только одного шаблона ВМ.

Подробнее о добавлении шаблона ВМ в экземпляр провайдера и выборе версии Kubernetes см. в п. Загрузка шаблона ВМ в комплекс.

Когда провайдер создан, отображаются только выбранные типы ВМ, дисков и выбранные зоны доступности.

Чтобы обновить версию Kubernetes на узлах кластера, нужно выполнить шаги Инструкции "Как обновить версию kubernetes".

Ovirt и Ovirt-подобные

Настройка в платформе виртуализации

В Комплексе поддерживаются oVirt-подобные платформы

  • zVirt;
  • oVirt;
  • HostVM;
  • РЕД Виртуализация;
  • ROSA Virtualization.

Чтобы использовать oVirt-подобный провайдер, необходимо иметь созданную учетную запись и сервисную роль (в платформе виртуализации для oVirt с версией oVirt Engine API не ниже 4.4, в том числе zVirt 4.4).

Для сервисной роли необходимо предоставить разрешения на следующие функции:

  • логин;
  • управление сетевыми устройствами;
  • провижининг шаблонов;
  • все действия по перезагрузке, созданию, провижинингу и миграции виртуальных машин;
  • все действия по созданию дисков.

Должен быть создан шаблон ВМ для добавления шаблона в провайдер. Для инструкции по созданию шаблона см. п. Создание шаблонов виртуальных машин.

Конфигурация zVirt, oVirt, HostVM, РЕД Виртуализация, ROSA Virtualization

Для добавления экземпляра провайдера в интерфейсе Комплекса нужно перейти в раздел "Провайдеры" на страницу "Конфигурация провайдеров", нажать Добавить экземпляр провайдера, в выпадающем списке выбрать необходимый тип провайдера: "+ oVirt", "+ zVirt", "+ HostVM", "+ РЕД Виртуализация", "+ ROSA Virtualization".

Для всех oVirt-подобных провайдеров настройки конфигурации подключения и конфигурации провайдера идентичны. Выбранный тип провайдера отображается в блоке "Конфигурация провайдера".

Чтобы настроить экземпляр провайдера, необходимо (рисунок 93):

Рисунок 93 ‒ Добавление экземпляра провайдера oVirt

  1. в поле "URL для подключения к API oVirt (Engine провайдера)" ввести полный адрес Engine провайдера, добавив в конце "/ovirt-engine/api", например https://ovirt.company.domain/ovirt-engine/api;
  2. если используется корпоративный сертификат, рекомендуется выполнить проверку сертификата безопасности;
  3. ввести данные учетной записи провайдера, выполнить проверку подключения:
  • если проверка успешно пройдена, станет доступен раздел "Конфигурация провайдера"; перейти на следующий шаг;
  • если проверка не пройдена, проверить данные учетной записи и повторить попытку;
  1. задать название для экземпляра создаваемого провайдера;
  2. выбрать "Datacenter" из выпадающего списка;
  3. выбрать кластеры ()Clusters из выпадающего списка;
  4. выбрать "Профиль VNIC" из выпадающего списка;
  5. выбрать разрешена ли установка CSI. При создании кластера с экземпляром провайдера с разрешением установки CSI будет доступна возможность включить интеграцию CSI;
  6. выбрать (привязать) пул IP-адресов из выпадающего списка. Привязка пула IP-адресов к экземпляру провайдера позволит при конфигурировании кластера назначить адрес API-серверу кластера и VIP-адрес Ingress из списка свободных IP-адресов этого пула. См. п. Пул IP-адресов.
  7. если данные учетной записи среды виртуализации введены верно, на странице появится возможность выбора шаблона виртуальной машины (рисунок 94); добавьте шаблоны, созданные в платформе виртуализации. Для одной версии Kubernetes доступно добавление только одного шаблона ВМ.

Подробнее о добавлении шаблона ВМ в экземпляр провайдера и выборе версии Kubernetes см. в п. Загрузка шаблона ВМ в комплекс.

Чтобы обновить версию Kubernetes на узлах кластера, нужно выполнить шаги инструкции "Как обновить версию kubernetes".

Рисунок 94 ‒ Выбор шаблона виртуальной машины

В случае поднятия на RHV шаблона ВМ с ОС Astra Linux 1.8 с ядром 6.6 обнаружено, что загрузка ВМ может останавливаться в случайном месте. Это происходит из-за проблем с драйвером qxl. Для решения необходимо в шаблоне ВМ изменить тип видеокарты (консоли) на VGA (именно после создания шаблона, из ВМ в шаблон эта настройка не переходит) (рисунок 95).

Рисунок 95 ‒ Изменение типа видеокарты

Shturvalv2

Shturval V2 ‒ внутренний провайдер Комплекса, который:

  • поддерживает добавление виртуальных и физических машин в качестве хостов для дальнейшего использования в кластерах;
  • позволяет создавать автомасштабируемые гибридные кластеры.

Важно:

  • Провайдер Shturval V2 не требует создания разных шаблонов для разных версий Kubernetes.
  • При использовании ОС Oracle Linux 8.x* на хостах провайдера Shturval v2 перед запуском установки требуется отключить Firewalld.

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

  • доступ к хосту по SSH;
  • возможность выполнения sudo без пароля;
  • на хостах должны быть установлены пакеты iptables и gnupg.

Для Shturval v2 возможна привязка пула IP-адресов к экземпляру провайдера. Это позволит при конфигурировании кластера назначить адрес API серверу кластера и VIP-адрес Ingress из списка свободных IP-адресов этого пула. См. добавление пула IP-адресов в Комплекс в п. Пул IP-адресов.

Конфигурация провайдера

Для создания экземпляра провайдера нужно перейти на страницу "Конфигурация провайдеров" раздела "Провайдеры", нажать Добавить экземпляр провайдера и выбрать "+ Shturval V2". В открывшемся окне необходимо заполнить имя экземпляра провайдера (рисунок 96).

Рисунок 96 ‒ Добавление провайдера Shturval V2

Затем требуется выбрать пул IP-адресов из выпадающего списка. Привязка пула IP-адресов к экземпляру провайдера позволит при конфигурировании кластера назначить адрес API-серверу кластера и VIP-адрес Ingress из списка свободных IP-адресов этого пула. См. добавление пула IP-адресов в Комплекс в п. Пул IP-адресов.

Далее нужно заполнить общие учетные данные для подключения к хостам (машинам) по SSH:

  • Имя пользователя;
  • Приватный ключ пользователя ‒ загрузить файл с данными ключа или указать ключ текстом.

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

Далее можно приступать к добавлению хостов. В левой нижней части экрана будут отображены хосты, в правой ‒ данные добавляемого или просматриваемого хоста. Есть возможность добавления нескольких хостов. Валидация данных будет происходить после инициализации сохранения провайдера.

Хосты провайдера

Добавление

Для добавления хоста (хостов) в экземпляр провайдера Shturval v2 в блоке "Хосты" нажать + (рисунок 97).

Рисунок 97 ‒ Добавление хоста

В правой части экрана нужно:

  • ввести IP-адрес или FQDN хоста (хостов);
  • выбрать роль для указанных хостов. Роль будет добавлена в качестве лейбла хостов, например, роль other является лейблом role:other. Можно выбрать рекомендуемую роль хостов (controlplane, workers, infra, ingress, other) или задать новую. Ввести в поле необходимое название роли, чтобы присвоить ее хосту.

Следует обратить внимание, что создание и назначение роли хосту с помощью лейбла в графическом интерфейсе недоступны;

  • есть возможность задать лейблы для выбора хостов при создании кластера. Лейблы, указывающие на сетевой интерфейс, название хоста, операционной системы и ее версии, имя экземпляра провайдера, параметры CPU, Memory и Disk будут созданы автоматически;
  • есть возможность отдельно настроить учетные данные для подключения к хосту по SSH. Указать "Нет" в "Использовать общие учетные данные", задать имя пользователя и указать приватный ключ, загрузив файл ключа или указав в текстовом формате (рисунок 98).

При создании кластера или при масштабировании группы узлов наличие ролей хостов позволяет выбрать роли хостов или указать роли в селекторе.

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

Добавленные хосты будут отображены в списке хостов в левой нижней части экрана. По каждому хосту можно просмотреть IP-адрес, имя хоста, роль и статус. Можно изменить роль хоста, если он еще не присоединен к кластеру.

Рисунок 98 ‒ Настройка учетных данных для подключения к хосту по SSH

Просмотр

В зависимости от результата обработки хоста провайдером хост может иметь статусы:

  • Занят ‒ хост привязан в кластере и недоступен для привязки/изменения.
  • Свободен ‒ готов быть присоединен к кластеру.
  • Ошибка:
  • машина имеет невалидную конфигурацию и не может быть присоединена, например, когда недостаточно ресурсов (CPU, memory) (рисунок 99). ;

Рисунок 99 ‒ Пример с некорректной конфигурацией по CPU

  • провайдер не может с указанным пользователем и приватным ключом подключиться к указанному хосту. При этом хост может быть привязан к кластеру. Следует проверить валидность указанных данных пользователя;
  • указанный в конфигурации провайдера пользователь не имеет достаточных прав для выполнения команд по SSH.
  • Не создан ‒ провайдер не получил ответ от машины. Может быть получен, если нет доступа к сети, в которой находится IP-адрес хоста, или адрес невалиден.
  • Не определен ‒ реконсиляция хоста не завершена. После окончания реконсиляции статус хоста примет одно из вышеперечисленных значений.

Подробнее о состоянии хоста можно увидеть в информации о хосте. Для этого нужно нажать на строку с хостом. Если хост не занят, можно удалить хост или редактировать параметры:

  • роль;
  • учетные данные подключения;
  • лейблы хоста.

Если хост имеет состояние MachineAttached (привязан к кластеру), можно изменить только учетные данные для подключения к хосту, а остальные параметры недоступны для редактирования.

После создания провайдером хоста можно будет просмотреть данные:

  • IP-адрес хоста;
  • Состояние;
  • Сведения об операционной системе (тип и образ ОС);
  • Версия ядра;
  • Архитектура;
  • Сетевой интерфейс;
  • Root volume size;
  • Имя хоста;
  • Перечень портов;
  • Сведения о доступных вычислительных ресурсах.

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

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

Удаление

Можно удалить один хост или несколько хостов одновременно.

Для одинарного удаления воспользоваться одним из вариантов:

  • удаление из списка ‒ навести курсор на строку с хостом и в левой части строки проставить флажок "Выбрать для удаления", нажать на пиктограмму в блоке "Хосты";
  • удаление при просмотре/редактировании хоста ‒ выбрать хост и в блоке "Параметры хоста" нажать Удалить.

Чтобы выполнить множественное удаление, нужно в левой части строк хостов проставить флажки "Выбрать для удаления" и после выбора подлежащих к удалению хостов, нажать на в блоке "Хосты" (рисунок 100).

Рисунок 100 ‒ Удаление хостов

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

vCloud Director

Настройка в платформе виртуализации

Чтобы использовать провайдер vCloud Director в РОСА Кубис:

  • Необходимо иметь созданный сервисный аккаунт (учетную запись) организации в платформе виртуализации VMware vCloud Director. Для создания сервисного аккаунта и назначения ему роли рекомендуется следовать инструкции.

Важно ‒ В административной панели управления vCloud Director должна быть включена поддержка TKG (Tanzu Kubernetes Grid).

  • Для сервисного аккаунта организации предоставить разрешения на функции:
  • User > Управление собственным токеном API пользователя;
  • vApp > Сохранять элементы ExtraConfig во время импорта и экспорта OVA;
  • Gateway > Просмотр Gateway;
  • Gateway Services > Настройка NAT, настройка балансировщика нагрузки;
  • Права дефолтной роли vApp Author;
  • Право "Full Control: VMWARE:CAPVCDCLUSTER";
  • Права, необходимые для CPI;
  • Права, необходимые для CSI.

Важно ‒ Кластер может быть развернут строго в рамках одной организации, одного vDC и в принадлежащей ему сети

Конфигурация vCloud Director

Для создания экземпляра провайдера vCloud Director из графического интерфейса Комплекса нужно:

  1. перейти в раздел "Провайдеры" на страницу "Управление провайдерами", нажать Добавить провайдер, выбрать "vCloud Director";
  2. на странице создания экземпляра провайдера в блоке "Конфигурация подключения" для подключения к платформе виртуализации VMware vCloud Director задать (рисунок 101):
  • Refresh token или учетные данные (логин, пароль) сервисного аккаунта;
  • Адрес vCloudDirector;
  • Организацию (в которой будет реализован проект).
  1. выполнить проверку подключения, нажав Проверить подключение; если в результате проверки подключение не было выполнено, проверить данные сервисного аккаунта и состав его прав доступа на стороне виртуализации;
  2. после успешного подключения будет доступна настройка конфигурации провайдера. В блоке "Конфигурация провайдера":
    • задать название для экземпляра провайдера в поле "Имя провайдера";
    • выбрать каталог (каталог образов);
    • выбрать sizingPolicy (политики управления ресурсами, которые будут доступны при создании кластеров);
    • выбрать ovdc (виртуальный дата-центр);
    • выбрать network (подсеть узлов).

Если данные учетной записи среды виртуализации введены верно, на странице появится возможность выбора шаблона виртуальной машины в блоке "Шаблоны виртуальных машин". Далее следует добавить шаблоны, созданные в платформе виртуализации. Для одной версии Kubernetes доступно добавление только одного шаблона ВМ.

Чтобы обновить версию Kubernetes на узлах кластера, нужно выполнить шаги инструкции "Обновление версии kubernetes".

Рисунок 101 ‒ Конфигурация подключения

Vsphere

Требования к сервисной учетной записи

Чтобы использовать провайдер vSphere, необходимо иметь созданную учетную запись и сервисную роль в платформе виртуализации с версией VMware vSphere 6.7 update 3 или 7.0 и выше. Необходимо создать ресурсный пул и подготовить данные учетной записи.

Следует обратить внимание, что сервисную учетную запись необходимо вводить в формате username@domain.

Для учетной записи провайдера vSphere нужно назначить перечисленные роли:

  • кастомная роль с разрешениями сервисной роли №1;
  • системная роль Read only;
  • при необходимости использования CSI дополнительно вторая кастомная роль с разрешениями сервисной роли №2 ‒ является вспомогательной ролью, учетная запись только с одной данной ролью не обеспечит всеми требуемыми разрешениями.

Если требуются отдельные права на CSI, например, когда в кластере не используется провайдер vSphere, следует создать новую учетную запись и кастомные роли для работы с vSphere CSI.

Важно ‒ Для корректного подключения рекомендуется настроить права доступа сервисной учетной записи в соответствии с рекомендациями. При назначении полных прав доступа для сервисной учетной записи у всех Datacenter, к которым есть доступ у сервисной учетки, должен быть Datastore.

В таблице 50 приведена схема назначения прав. В таблицах 51 и 52 описаны разрешения для сервисных ролей №1 и №2 соответственно.

Учетная запись и роли для vSphere CSI

Если в кластере (не с провайдером vSphere) требуется работа с облачным хранилищем vSphere, рекомендуется создать отдельную учетную запись с необходимыми ролями (схема назначения прав и разрешения для ролей приведены в таблицах 53-57). Такую учетную запись используют, например, в кластере с провайдером Shturval v2 при установке vSphere CSI.

Пример команд создания ролей:

Роль для чтения, записи, удаления и переименования в хранилище данных
govc role.create CNS-DATASTORE Datastore.FileManagement
Роль для просмотра информации о хостах, кластере, томах и VM
govc role.create CNS-SEARCH-AND-SPBM Cns.Searchable StorageProfile.View
Роль, позволяющая добавлять/удалять виртуальный диск к ВМ, а так же позволяет добавлять или удалять любые устройства, не являющиеся дисками
govc role.create CNS-VM VirtualMachine.Config.AddExistingDisk VirtualMachine.Config.AddRemoveDevice VirtualMachine.Config.AddNewDisk VirtualMachine.Config.DiskExtend VirtualMachine.Config.RemoveDisk
Роль для управления VMFS и конфигурации iSCSI на хостах
govc role.create CNS-HOST-CONFIG-STORAGE Host.Config.Storage

Важно ‒ Приведенные роли позволяют разделить доступ в vSphere, т. е. выдать права:

  • на определенный Datastore;
  • на управление VM в конкретной директории k8s;
  • на конфигурацию хостов в нужном кластере.

Пример команд выдачи прав с разделенным доступом:

Выдача прав на Datastore с именем Cluster01-vSAN
govc permissions.set -principal <username>@vsphere.local -propagate=false -role CNS-DATASTORE /Datacenter/datastore/Cluster01-vSAN
Поиск информации с корня
govc permissions.set -principal <username>@vsphere.local -propagate=false -role CNS-SEARCH-AND-SPBM /
Выдача прав на управление VM в директории k8s
govc permissions.set -principal <username>@vsphere.local -propagate=true  -role CNS-VM /Datacenter/vm/k8s/
Выдача прав на конфигурацию хостов в виртуальном кластере Cluster01 и на Datacenter
govc permissions.set -principal <username>@vsphere.local -propagate=false -role CNS-HOST-CONFIG-STORAGE /Datacenter /Datacenter/host/Cluster01

Можно не разграничивать права доступа в vSphere, для чего нужно создать одну общую роль с требуемыми разрешениями и назначить ее вашей учетной записи (схема назначения прав и разрешения для ролей приведены в таблицах 58-59).

Таблица 58 ‒ Схема назначения прав

Пример команды создания общей роли:

govc role.create SHTURVAL-CSI Datastore.FileManagement Cns.Searchable StorageProfile.View VirtualMachine.Config.AddExistingDisk VirtualMachine.Config.AddRemoveDevice VirtualMachine.Config.AddNewDisk VirtualMachine.Config.DiskExtend VirtualMachine.Config.RemoveDisk Host.Config.Storage

Пример команды выдачи прав без разграничения:

govc permissions.set -principal <username>@vsphere.local -role SHTURVAL-CSI /

Подготовка шаблона ВМ

Для подключения провайдера vSphere в Комплекса должен быть создан шаблон ВМ для добавления шаблона в провайдер.

Для подготовки шаблона ВМ нужно:

  1. включить параметр disk.EnableUUID, используя клиент vSphere:
    • в клиенте vSphere нажать на VM, выбрать пункт "Edit Settings";
    • перейти на вкладку "VM Options" и развернуть меню "Advanced";
    • нажать "Edit Configuration" рядом с пунктом "Configuration Parameters";
    • настроить параметр disk.EnableUUID;
    • если параметр существует, убедиться, что его значение установлено в значение "True"; если параметра нет, добавить его и установить значение "True":
Name  Value
disk.EnableUUID  True
  1. обновить версию аппаратного обеспечения VM до версии 15 или выше:
    • в клиенте vSphere перейти к VM;
    • выбрать "Actions → Compatibility → Upgrade VM Compatibility";
    • нажать Yes, чтобы подтвердить обновление;
    • выбрать совместимость и нажать OK.
  2. добавить "VMware Paravirtual SCSI storage controller" в VM.
    • в клиенте vSphere нажать на VM и выбрать пункт "Edit Settings";
    • на вкладке "Virtual Hardware" нажать Add New Device;
    • выбрать "SCSI Controller" из выпадающего меню;
    • развернуть "New SCSI controller" и в меню "Change Type" выбрать "VMware Paravirtual";
    • Нажать OK.

Конфигурация провайдера

В разделе "Управление провайдерами" нужно перейти на страницу "Конфигурация провайдеров", нажать Добавить экземпляр провайдера и выбрать "+ vSphere" (рисунок 102).

Рисунок 102 ‒ Добавление экземпляра провайдера vSphere

Чтобы настроить экземпляр провайдера vSphere, необходимо:

  1. задать название для экземпляра создаваемого провайдера;
  2. в поле "Адрес vCenter" ввести IP-адрес или полное доменное имя Engine провайдера;
  3. в поле "Имя пользователя" прописать имя учетной записи к Engine провайдера и домен, в котором находится данная учетная запись;
  4. в поле "Пароль" ввести пароль учетной записи к Engine провайдера, затем выполнить проверку подключения;
  5. выбрать "Datacenter" из выпадающего списка;
  6. выбрать "Resource Pool" из выпадающего списка;
  7. выбрать "Network" из выпадающего списка. При добавлении "Network" следует обратить внимание, что в этой сети должен работать DHCP-сервер для присвоения создаваемым виртуальным машинам IP-адресов;
  8. выбрать "Datastore" из выпадающего списка; если у выбранного "Datastore" более одного "Storage Policy", то необходимо определить "Storage Policy";
  9. ввести путь для хранения виртуальной машины на "Datastore";
  10. выбрать пул IP-адресов из выпадающего списка. Привязка пула IP-адресов к экземпляру провайдера позволит при конфигурировании кластера назначить адрес API серверу кластера и VIP-адрес Ingress из списка свободных IP-адресов этого пула. См. добавление пула IP-адресов в Комплекс в п. Пул IP-адресов.

Если данные учетной записи среды виртуализации введены верно, на странице появится возможность добавления шаблона ВМ (рисунок 103). Можно добавить шаблоны, созданные в платформе виртуализации.

Рисунок 103 ‒ Шаблон ВМ

Подробнее о добавлении шаблона ВМ в экземпляр провайдера и выборе версии Kubernetes в. п. Загрузка шаблона ВМ в комплекс.

Чтобы обновить версию Kubernetes на узлах кластера, требуется выполнить шаги Инструкции "Как обновить версию kubernetes".

Yandex Cloud

Настройка в платформе виртуализации Yandex Cloud

Чтобы использовать провайдер Yandex Cloud, необходимо иметь созданный сервисный аккаунт (учетная запись) в платформе виртуализации Yandex Cloud. Для создания сервисного аккаунта и назначения ему роли требуется следовать инструкции. Сервисному аккаунту должны быть назначены роли compute.editor и alb.editor.

Для подключения к платформе виртуализации Yandex Cloud следует использовать "Авторизованный ключ" сервисного аккаунта в JSON-формате. Чтобы получить "Авторизованный ключ", требуется следовать инструкции.

Пример полученного авторизованного ключа:

{
"id": "wefwvewedw",
"service_account_id": "adkfdfivufndv",
"created_at": "2024-12-13T13:28:15.261795772Z",
"key_algorithm": "RSA_2048",
"public_key": "-----BEGIN PUBLIC KEY-----\nMIIBAB\n-----END PUBLIC KEY-----\n",
"private_key": "PLEASE DO NOT REMOVE THIS LINE! Yandex.Cloud SA Key ID \nMIIBAB\n-----BEGIN PRIVATE KEY-----\nMIIE=\n-----END PRIVATE KEY-----\n"
}

Далее должен быть создан шаблон ВМ для добавления шаблона в провайдер. Для инструкции по созданию шаблона см. п. Создание шаблонов виртуальных машин.

Кофигурация провайдера

Для создания экземпляра провайдера Yandex Cloud нужно:

  1. перейти в раздел "Провайдеры" на странице "Управление провайдерами", нажать Добавить провайдер, выбрать "Yandex Cloud";
  2. на странице создания экземпляра провайдера в блоке "Конфигурация подключения" задать (рисунок 104):
  • авторизованный ключ сервисного аккаунта в поле "API-ключ сервисной учетной записи";
  • при необходимости, если сервисная учетная запись не имеет доступа к получению списка всех каталогов облака, директивно указать идентификатор папки в поле "ID папки".
  1. выполнить проверку подключения, нажав Проверить подключение; Если в результате проверки подключение не было выполнено или нет доступных папок для выбора, следует проверить данные ключа и доступ сервисной учетной записи к получению списка каталогов.
  2. после успешного подключения доступна настройка конфигурации провайдера. В блоке "Конфигурация провайдера" (рисунок 105):
    • задать название для экземпляра провайдера в поле "Имя провайдера";
    • выбрать в поле "Папка" необходимый каталог в облаке (папка), в котором созданы и сгруппированы ресурсы Yandex Cloud. После выбора каталога отобразятся данные облака и организации, станет доступен выбор сети. Если сервисная учетная запись имеет доступ только к одной папке, которая была указана при подключении, идентификатор этой папки будет отображен в поле "Папка" без возможности изменения;
    • выбрать подсеть (диапазон IP-адресов в облачной сети). При выборе следует обратить внимание на зону доступности подсети;
    • задать "Типы Комплекса", которые будут доступны для выбора при создании кластера с провайдером Yandex Cloud;
    • задать "Типы дисков", доступные для выбора при создании кластера с провайдером Yandex Cloud;
    • выбрать "Внешний" или "Внутренний" сетевой балансировщик (по умолчанию "Внешний");
    • выбрать "Тип балансировщика" ‒ Yandex Network Load Balancer (NLB) или Yandex Application Load Balancer (ALB) (по умолчанию ALB).
  3. в блоке "Шаблоны виртуальных машин" добавить шаблоны, созданные в платформе виртуализации. Для одной версии Kubernetes доступно добавление только одного шаблона ВМ (рисунок 106).

Подробнее о добавлении шаблона ВМ в экземпляр провайдера и выборе версии Kubernetes см. в п. Загрузка шаблона ВМ в комплекс.

Чтобы обновить версию Kubernetes на узлах кластера, нужно выполнить шаги Инструкции "Как обновить версию kubernetes".

Рисунок 104 ‒ Добавление экземпляра провайдера Yandex Cloud

Рисунок 105 ‒ Конфигурация провайдера

Рисунок 106 ‒ Добавление шаблона ВМ