Настройка мультитенантности

Настройка мультитенантности#

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

Ограничения

  • Квоты проектов можно задать только после развертывания вычислительного кластера.

Предварительные требования

  • Четкое понимание концепции Мультитенантность.

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

Создание домена

  1. На экране Настройки → Проекты и пользователи нажмите Создать домен.

  2. В окне Создать домен укажите имя домена и при необходимости его описание.

    image1

  3. Нажмите кнопку Создать.

Используйте следующую команду:

vinfra domain create [--description <description>] [--enable | --disable] <name>
--description <description>

Описание домена

--enable

Включение домена

--disable

Отключение домена

<name>

Имя домена

Например, чтобы создать домен mydomain, выполните:

# vinfra domain create mydomain

Созданный домен появится в выводе команды vinfra domain list:

# vinfra domain list
+--------------+----------+---------+--------------------+
| id           | name     | enabled | description        |
+--------------+----------+---------+--------------------+
| default      | Default  | True    | The default domain |
| 24986479e<…> | mydomain | True    |                    |
+--------------+----------+---------+--------------------+

Создание проекта

  1. На экране Настройки → Проекты и пользователи щелкните по домену, внутри которого будет создан проект.

  2. На вкладке Проекты нажмите Создать проект.

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

  4. [Необязательно] Снимите флажок Включен, чтобы отключить созданный проект.

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

    Примечание

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

    image2

  6. Нажмите кнопку Создать.

Используйте следующую команду:

vinfra domain project create [--description <description>] [--enable | --disable]
                             --domain <domain> <name>
--description <description>

Описание проекта

--enable

Включение проекта

--disable

Выключение проекта

--domain <domain>

Имя или идентификатор домена

<name>

Имя проекта

Например, чтобы создать проект myproject в домене mydomain и задать описание для проекта, выполните:

# vinfra domain project create myproject --domain mydomain --description "A custom project"

Созданный проект появится в выводе команды vinfra domain project list:

# vinfra domain project list --domain mydomain
+-------------+-----------+---------+------------------+--------------+
| id          | name      | enabled | description      | domain_id    |
+-------------+-----------+---------+------------------+--------------+
| 79830e3c<…> | myproject | True    | A custom project | 24986479e<…> |
+-------------+-----------+---------+------------------+--------------+

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

  1. На экране Настройки → Проекты и пользователи щелкните по домену, внутри которого будет создан пользователь.

  2. Перейдите на вкладку Пользователи домена и нажмите Создать пользователя.

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

  4. Выберите роль пользователя:

    • Чтобы создать администратора домена

      1. Выберите Администратор домена.

      2. [Необязательно] Установите флажок Отправка образов. Состояние этого разрешения будут наследовать пользователи, созданные этим администратором домена.

        image3

    • Чтобы создать администратора проекта

      1. Выберите Участник проекта.

      2. [Необязательно] Установите флажок Отправка образов. Если этот параметр отключен, данный пользователь не сможет отправлять образы.

      3. [Необязательно] Нажмите Назначить и выберите проект, на который будет назначен этот пользователь.

  5. Нажмите кнопку Создать.

Используйте следующую команду:

vinfra domain user create [--email <email>] [--description <description>]
                          [--assign <project> <role>] [--assign-domain <domain> <roles>]
                          [--domain-permissions <domain_permissions>]
                          [--enable | --disable] --domain <domain> <name>
--email <email>

Адрес электронной почты пользователя

--description <description>

Описание пользователя

--assign <project> <role>

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

  • <project>: идентификатор или имя проекта

  • <role>: роль пользователя в проекте (project_admin — администратор проекта)

--assign-domain <domain> <roles>

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

  • <domain> — идентификатор или имя домена

  • <roles> — список ролей служебной учетной записи через запятую ("compute" — вычисления)

--domain-permissions <domain_permissions>

Разделенный запятыми список разрешений домена. Чтобы просмотреть список доступных разрешений домена, используйте команду vinfra domain user list-available-roles | grep domain.

--system-permissions <system_permissions>

Разделенный запятыми список системных разрешений. Чтобы просмотреть список доступных системных разрешений, используйте команду vinfra domain user list-available-roles | grep system.

--enable

Включение пользователя

--disable

Отключение пользователя

--domain <domain>

Имя или идентификатор домена

<name>

Имя пользователя

Пример 1. Чтобы создать администратора домена myadmin для домена mydomain, выполните:

# vinfra domain user create myadmin --domain mydomain --domain-permissions domain_admin

Укажите пароль пользователя.

Пример 2. Чтобы создать участника проекта myuser для проекта myproject домена mydomain и разрешить этому пользователю загрузку образов , выполните:

# vinfra domain user create myuser --domain mydomain --assign myproject project_admin --domain-permissions image_upload

Укажите пароль пользователя.

Созданные пользователи появятся в выводе команды vinfra domain user list:

# vinfra domain user list --domain mydomain
+-------------+---------+-------+---------+-------------+--------------------+---------------------------+
| id          | name    | email | enabled | description | domain_permissions | assigned_projects         |
+-------------+---------+-------+---------+-------------+--------------------+---------------------------+
| 28aa0207<…> | myadmin |       | True    |             | - domain_admin     | []                        |
| fb9fa0b2<…> | myuser  |       | True    |             | - image_upload     | - project_id: 79830e3c<…> |
|             |         |       |         |             |                    |   role: project_admin     |
+-------------+---------+-------+---------+-------------+--------------------+---------------------------+