You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
terraform-provider-dynamix/wiki/1.0.0/03.-Обзор-облачной-платформ...

17 KiB

Основные понятия

Ниже перечислены основные понятия с указанием соответствующих им аргументов в Terraform провайдере DYNAMIX.

  1. Контроллер облачной платформы DYNAMIX управляющее приложение, которое обеспечивает авторизацию пользователей и оркестрацию облачных ресурсов.
    • Адрес контроллера задается в обязательном аргументе controller_url на стадии инициализации Terraform провайдера DYNAMIX. Например, controller_url= "https://ds1.digitalenergy.online"
  2. Авторизационный провайдер приложение, работающее по протоколу Oauth2, предназначенное для выпуска и валидации токенов доступа к контроллеру облачной платформы в соответствующих режимах авторизации. Все действия в платформе должны выполняться авторизованными пользователями, и авторизационное приложение позволяет получить токен доступа, действующий некоторое ограниченное время, наличие которого подтверждает успешную авторизацию.
    • Адрес авторизационного провайдера задается в аргументеoauth2_url на стадии инициализации Terraform провайдера DYNAMIX. Например oauth2_url= "https://sso.digitalenergy.online"
  3. Подписчик (account) сущность, которая используется для группирования облачных ресурсов по принадлежности к определенному клиенту для целей учета потребления и биллинга.
    • Имя подписчика задается аргументом account_name при вызове resource или data функций провайдера. Альтернативной является задание численного идентификатора подписчика в аргументе account_id.
  4. Пользователь (user) пользователь облачной инфраструктуры, представленный учетной записью. Чтобы получить возможность управлять облачными ресурсами (например, создавать виртуальные серверы или дискт) пользователь должен быть ассоциирован с одним или несколькими подписчиками и иметь соответствующие права, определяемые ролевой моделью, принятой в облачной платформе DYNAMIX. Для доступа к платформе пользователь должен авторизоваться одним из способов, описанных ниже в разделе «Способы авторизации».
  5. Ресурсная группа (resource group) способ группирования вычислительных ресурсов (например, виртуальных серверов по функциональному признаку или принадлежности к одному и тому же проекту). Ресурсную группу можно рассматривать как небольшой персональный дата-центр, в котором размещаются один или несколько серверов и виртуальных сетевых сегментов. Ресурсная группа идентифицируется по комбинации параметров account и name. Обратите внимание, что имя имя ресурсной группы уникально только в рамках одного и того же account.
  6. Вычислительный ресурс (compute) - универсальная абстракция пользовательского сервера в платформе DYNAMIX. Благодаря использованию такой абстракции можно, например, создать одну виртуальную машину на базе KVM Intel x86, а другую - на базе KVM IBM Power, а потом управлять ими - изменять количество CPU/RAM, подключать/отключать диски и т.п. - одинаковым образом, не задумываясь об их архитектурных различиях. В то же время, так как типизация ресурсов в Terraform не поддерживает наследование, различные типы вычислительных ресурсов, доступных на платформе DYNAMIX и абстрагируемых через понятие унифицированный compute, в Terraform представлены разными типами (напр., свой тип для виртуальных серверов на базе KVM и свой тип для перспективных x86-совместимых bare metal серверов).
  7. Ресурс хранения (disk) - универсальная абстракция дискового ресурса в платформе DYNAMIX. Платформа поддерживает различные типы систем хранения данных, но при этом управление созданными на разных системах хранения дисками осуществляется посредством унифицированного набора действий, например, "подключить диск к compute", "увеличить размер диска", "сделать мгновенный снимок диска", "настроить параметры быстродействия диска".
  8. Виртуальный сервер экземпляр compute, в основе технической реализации которого лежит виртуальная машина, работающая в облаке и доступна по сети. Виртуальный сервер характеризуется количеством выделенных ему CPU (аргументcpu), объемом ОЗУ (ram), размером загрузочного диска (boot_disk size). При создании виртуального сервера на загрузочный диск устанавливается образ операционной системы, заданный в аргументе image_id. Помимо загрузочного диска к виртуальному серверу можно подключить несколько дисков для хранения прикладных данных, список которых задается аргументами extra_disks. Виртуальный сервер идентифицируется по комбинации аргументов name (имя сервера) и rgid (идентификатор ресурсной группы). Обратите внимание, что имя виртуального сервера name уникально только в рамках одной и той же ресурсной группы.
  9. Виртуальный сетевой сегмент (Virtual Network Segment или ViNS) - сетевой сегмент и обеспечивающая его функционирование виртуальная инфраструктура, которые пользователь может создавать для своих нужд на уровне ресурсной группы или подписчика (account). ViNS можно создать полностью изолированным от внешних сетей (см. ниже External Network) или с подключением во внешнюю сеть. Внутри ViNS работает DHCP-сервис, обеспечивающий управление IP адресами экземпляров compute, подключённых в этот ViNS.
  10. Внешняя сеть (External Network) - сетевой сегмент, через который платформа DYNAMIX взаимодействует с внешними по отношению к ней сетевыми ресурсами. Например, в случае с публичным облаком на базе DECORT в качестве внешней сети выступает сеть Интернет. В отличие от ViNS платформа не управляет внешней сетью, а лишь пользуется её ресурсами. В платформе может быть настроено несколько внешних сетей с различными диапазонами IP адресов, и существует механизм управления доступом пользователей к внешним сетям.
  11. Сетевой доступ к экземпляру compute (виртуальному серверу) реализуется через его подключение к ViNS и/или прямое подключение во внешнюю сеть (External Network). Один и тот же экземпляр compute может одновременно иметь несколько подключений в разные ViNS и/или различные внешние сети.

Способы авторизации

Облачная платформа DYNAMIX поддерживает три базовых типа авторизации:

  1. С использованием авторизационного провайдера, работающего по протоколу 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).
  2. С использованием комбинации имя пользователя : пароль. Данный режим не использует внешних авторизационных провайдеров и подразумевает, что пользователь с такой комбинацией зарегистрирован непосредственно на указанном в параметре controller_url контроллере облачной платформы DYNAMIX.
    • Чтобы провайдер авторизовался по данному варианту, при его инициализации следует установить аргумент authenticator=legacy и задать аргументы user и password (или определить соответствующие переменные окружения DECORT_USER и DECORT_PASSWORD).
  3. С использованием авторизационного провайдера, работающего по протоколу 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.