Настройка мультитенантности
Чтобы настроить мультитенантность для вычислительного кластера, необходимо создать домены и проекты, назначить им пользователей и определить квоты проектов.
Ограничения
- Квоты проектов можно задать только после развертывания вычислительного кластера.
Предварительные требования
- Четкое понимание концепции Мультитенантность.
- Поскольку квоты могут превышать существующие виртуальные ресурсы, а виртуальные ресурсы не резервируются для каждого из проектов по отдельности, в вычислительном кластере должно быть достаточно виртуальных ресурсов для всех проектов во всех доменах.
Чтобы создать домен
Панель администратора
Интерфейс командной строки
Используйте следующую команду:
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 | | +--------------+----------+---------+--------------------+
Чтобы создать проект
Панель администратора
- На экране Настройки > Проекты и пользователи щелкните по домену, внутри которого будет создан проект.
- На вкладке Проекты нажмите Создать проект.
- В окне Создать проект укажите имя проекта и при необходимости описание. Имя проекта должно быть уникальным в пределах домена.
-
Снимите флажок Включен, чтобы отключить созданный проект.
-
Определите квоты для виртуальных ресурсов, которые будут доступны внутри проекта. Чтобы указать определенное значение для ресурса, сначала снимите рядом с ним флажок Без ограничений.
Политика хранилища по умолчанию должна быть доступна проектам, которые будут использовать функцию «Kubernetes как услуга».
-
Нажмите кнопку Создать.
Интерфейс командной строки
Используйте следующую команду:
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<…> | +-------------+-----------+---------+------------------+--------------+
Чтобы создать пользователя самообслуживания
Панель администратора
- На экране Настройки > Проекты и пользователи щелкните по домену, внутри которого будет создан пользователь.
- Перейдите на вкладку Пользователи домена и нажмите Создать пользователя.
- В окне Создать пользователя укажите имя пользователя, пароль и при необходимости адрес электронной почты и описание. Имя пользователя должно быть уникальным в пределах домена.
- Выберите роль пользователя:
- Нажмите кнопку Создать.
Интерфейс командной строки
Используйте следующую команду:
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 | +-------------+---------+-------+---------+-------------+--------------------+---------------------------+