17 KiB
Основные понятия
Ниже перечислены основные понятия с указанием соответствующих им аргументов в Terraform провайдере DYNAMIX.
- Контроллер облачной платформы DYNAMIX – управляющее приложение, которое обеспечивает авторизацию пользователей и оркестрацию облачных ресурсов.
- Адрес контроллера задается в обязательном аргументе
controller_url
на стадии инициализации Terraform провайдера DYNAMIX. Например,controller_url= "https://ds1.digitalenergy.online"
- Адрес контроллера задается в обязательном аргументе
- Авторизационный провайдер – приложение, работающее по протоколу Oauth2, предназначенное для выпуска и валидации токенов доступа к контроллеру облачной платформы в соответствующих режимах авторизации. Все действия в платформе должны выполняться авторизованными пользователями, и авторизационное приложение позволяет получить токен доступа, действующий некоторое ограниченное время, наличие которого подтверждает успешную авторизацию.
- Адрес авторизационного провайдера задается в аргументе
oauth2_url
на стадии инициализации Terraform провайдера DYNAMIX. Напримерoauth2_url= "https://sso.digitalenergy.online"
- Адрес авторизационного провайдера задается в аргументе
- Подписчик (account) – сущность, которая используется для группирования облачных ресурсов по принадлежности к определенному клиенту для целей учета потребления и биллинга.
- Имя подписчика задается аргументом
account_name
при вызове resource или data функций провайдера. Альтернативной является задание численного идентификатора подписчика в аргументеaccount_id
.
- Имя подписчика задается аргументом
- Пользователь (user) – пользователь облачной инфраструктуры, представленный учетной записью. Чтобы получить возможность управлять облачными ресурсами (например, создавать виртуальные серверы или дискт) пользователь должен быть ассоциирован с одним или несколькими подписчиками и иметь соответствующие права, определяемые ролевой моделью, принятой в облачной платформе DYNAMIX. Для доступа к платформе пользователь должен авторизоваться одним из способов, описанных ниже в разделе «Способы авторизации».
- Ресурсная группа (resource group) – способ группирования вычислительных ресурсов (например, виртуальных серверов по функциональному признаку или принадлежности к одному и тому же проекту). Ресурсную группу можно рассматривать как небольшой персональный дата-центр, в котором размещаются один или несколько серверов и виртуальных сетевых сегментов. Ресурсная группа идентифицируется по комбинации параметров
account
иname
. Обратите внимание, что имя имя ресурсной группы уникально только в рамках одного и того жеaccount
. - Вычислительный ресурс (compute) - универсальная абстракция пользовательского сервера в платформе DYNAMIX. Благодаря использованию такой абстракции можно, например, создать одну виртуальную машину на базе KVM Intel x86, а другую - на базе KVM IBM Power, а потом управлять ими - изменять количество CPU/RAM, подключать/отключать диски и т.п. - одинаковым образом, не задумываясь об их архитектурных различиях. В то же время, так как типизация ресурсов в Terraform не поддерживает наследование, различные типы вычислительных ресурсов, доступных на платформе DYNAMIX и абстрагируемых через понятие унифицированный compute, в Terraform представлены разными типами (напр., свой тип для виртуальных серверов на базе KVM и свой тип для перспективных x86-совместимых bare metal серверов).
- Ресурс хранения (disk) - универсальная абстракция дискового ресурса в платформе DYNAMIX. Платформа поддерживает различные типы систем хранения данных, но при этом управление созданными на разных системах хранения дисками осуществляется посредством унифицированного набора действий, например, "подключить диск к compute", "увеличить размер диска", "сделать мгновенный снимок диска", "настроить параметры быстродействия диска".
- Виртуальный сервер – экземпляр compute, в основе технической реализации которого лежит виртуальная машина, работающая в облаке и доступна по сети. Виртуальный сервер характеризуется количеством выделенных ему CPU (аргумент
cpu
), объемом ОЗУ (ram
), размером загрузочного диска (boot_disk size
). При создании виртуального сервера на загрузочный диск устанавливается образ операционной системы, заданный в аргументеimage_id
. Помимо загрузочного диска к виртуальному серверу можно подключить несколько дисков для хранения прикладных данных, список которых задается аргументамиextra_disks
. Виртуальный сервер идентифицируется по комбинации аргументовname
(имя сервера) иrgid
(идентификатор ресурсной группы). Обратите внимание, что имя виртуального сервераname
уникально только в рамках одной и той же ресурсной группы. - Виртуальный сетевой сегмент (Virtual Network Segment или ViNS) - сетевой сегмент и обеспечивающая его функционирование виртуальная инфраструктура, которые пользователь может создавать для своих нужд на уровне ресурсной группы или подписчика (account). ViNS можно создать полностью изолированным от внешних сетей (см. ниже External Network) или с подключением во внешнюю сеть. Внутри ViNS работает DHCP-сервис, обеспечивающий управление IP адресами экземпляров compute, подключённых в этот ViNS.
- Внешняя сеть (External Network) - сетевой сегмент, через который платформа DYNAMIX взаимодействует с внешними по отношению к ней сетевыми ресурсами. Например, в случае с публичным облаком на базе DECORT в качестве внешней сети выступает сеть Интернет. В отличие от ViNS платформа не управляет внешней сетью, а лишь пользуется её ресурсами. В платформе может быть настроено несколько внешних сетей с различными диапазонами IP адресов, и существует механизм управления доступом пользователей к внешним сетям.
- Сетевой доступ к экземпляру compute (виртуальному серверу) реализуется через его подключение к ViNS и/или прямое подключение во внешнюю сеть (External Network). Один и тот же экземпляр compute может одновременно иметь несколько подключений в разные ViNS и/или различные внешние сети.
Способы авторизации
Облачная платформа DYNAMIX поддерживает три базовых типа авторизации:
- С использованием авторизационного провайдера, работающего по протоколу Oauth2. Данный способ является предпочтительным, так как обеспечивает бОльшую гибкость и безопасность. Для авторизации в этом режиме при инициализации Terrafrom провайдера DYNAMIX необходимо указать параметры
oauth2_url
иcontroller_url
, а также предоставить одно из нижеперечисленного:- Комбинация Application ID & Application secret, соответствующих пользователю, от имени которого будет осуществляться управление облачными ресурсами в текущей сессии. В процессе проверки предоставленных Application ID & Application secret модуль получает от авторизационного провайдера токен (JSON Web Token, JWT), который затем используется для доступа к указанному контроллеру DYNAMIX. Для авторизации по данному варианту, при инициализации Terraform провайдера DYNAMIX следует установить аргумент
authenticator=decs3o
и задать аргументыapp_id
иapp_secret
(или определить соответствующие переменные окруженияDECORT_APP_ID
иDECORT_APP_SECRET
). - JSON Web Token – заранее полученный от авторизационного провайдера токен доступа, ассоциированный с определенным пользователем, от имени которого будет осуществляться управление облачными ресурсами в текущей сессии. Для авторизации по данному варианту, при инициализации Terraform провайдера DYNAMIX следует установить аргумент
authenticator=jwt
и задать аргументjwt
(или определить переменную окруженияDECORT_JWT
).
- Комбинация Application ID & Application secret, соответствующих пользователю, от имени которого будет осуществляться управление облачными ресурсами в текущей сессии. В процессе проверки предоставленных Application ID & Application secret модуль получает от авторизационного провайдера токен (JSON Web Token, JWT), который затем используется для доступа к указанному контроллеру DYNAMIX. Для авторизации по данному варианту, при инициализации Terraform провайдера DYNAMIX следует установить аргумент
- С использованием комбинации имя пользователя : пароль. Данный режим не использует внешних авторизационных провайдеров и подразумевает, что пользователь с такой комбинацией зарегистрирован непосредственно на указанном в параметре
controller_url
контроллере облачной платформы DYNAMIX.- Чтобы провайдер авторизовался по данному варианту, при его инициализации следует установить аргумент
authenticator=legacy
и задать аргументыuser
иpassword
(или определить соответствующие переменные окруженияDECORT_USER
иDECORT_PASSWORD
).
- Чтобы провайдер авторизовался по данному варианту, при его инициализации следует установить аргумент
- С использованием авторизационного провайдера, работающего по протоколу Oauth2_oidc. Для авторизации в этом режиме при инициализации Terrafrom провайдера DYNAMIX необходимо указать параметры
oauth2_url
иcontroller_url
, а также Application ID & Application secret, имя пользователя и пароль, соответствующих пользователю, от имени которого будет осуществляться управление облачными ресурсами в текущей сессии, и имя домена. В процессе проверки предоставленных Application ID & Application secret и пары имя пользователя-пароль модуль получает от авторизационного провайдера токен (JSON Web Token, JWT), который затем используется для доступа к указанному контроллеру DYNAMIX. Для авторизации по данному варианту, при инициализации Terraform провайдера DYNAMIX следует установить аргументauthenticator=bvs
, задать аргументыapp_id
иapp_secret
(или определить соответствующие переменные окруженияDECORT_APP_ID
иDECORT_APP_SECRET
),bvs_user
иbvs_password
(или определить соответствующие переменные окруженияDECORT_BVS_USER
иDECORT_BVS_PASSWORD
), а также указатьdomain
(или определить соответствующие переменные окруженияDECORT_DOMAIN
).
После успешной авторизации пользователь (или приложение-клиент) получает доступ к ресурсам, находящимся под управлением соответствующего DECORT контроллера. Доступ предоставляется в рамках подписчиков (account), с которыми ассоциирован данный пользователь (user), и в соответствии с присвоенными ему ролями.
Пользовательская и административная группы API
Пользовательская группа API - группа API платформы DYNAMIX, которая позволяет выполнять операции с платформой с правами обычного пользователя. Покрывает большую часть задач.
Административная группа API - группа API платформы DYNAMIX, которая позволяет выполнять операции с платформой с расширенными правами. Данные права подразумевают расширенный перечень операций над ресурсами, расширенный перечень ресурсов, расширенную информацию. Требуются права администратора для взаимодействия с этой группой API.
В Terraform провайдере DYNAMIX версии 1.0.0 реализованы функции только пользовательской группа API.