Файл: Работа с Terraform. Как управлять облачной инфраструктурой.docx
Добавлен: 22.11.2023
Просмотров: 143
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
| з | Министерство образования и науки Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования «Уральский федеральный университет имени первого Президента России Б. Н. Ельцина» |
Оглавление
Цель работы: 3
Задачи: 3
Ход работы: 4
1 Установка Terraform провайдера DECORT 4
2 Инициализация Terraform провайдера DECORT 6
3 Задание со звездочкой (разделение на разные файлы) 9
Вывод 10
-
Установить Terraform провайдер DECORT. -
Поместить содержимое архива, скачанного с гитхаба, по пути %userprofile%\AppData\Roaming\terraform.d\plugins\de.de-rtf.urfu.ru\decort\decort\3.4.3\windows_amd64 -
Создать файл main.tf -
Провести инициализацию Terraform провайдера DECORT -
Создать виртуальный сервер в облачной платформе DECORT с помощью соответствующего Terraform провайдера. -
Ход работы:
1 Установка Terraform провайдера DECORTПереходим по ссылке https://github.com/rudecs/terraform-provider-decort/releases и устанавливаем нужную версию terraform. В данной ситуации ставим версию для 64-битной WindowsРисунок 1 - Необходимая версия на гитхабеПереходим по пути%userprofile%\AppData\Roaming\terraform.dВ этой папке создаём ещё папки, чтобы конечный путь выглядел следующим образом:%userprofile%\AppData\Roaming\terraform.d\plugins\de.de-rtf.urfu.ru\decort\decort\3.4.3\windows_amd64 и помещаем по этому пути содержимое скачанного с гитхаба архиваРисунок 2 - Вставили содержимое архива по нужному путиСоздаём папку со своим именем в папке пользователяРисунок 3 - Создана папка yulche_terВ созданной папке создаём файл main.tf, который можно открывать при помощи notepad++Рисунок 4 - Создан файл main.tfВ созданный файл помещаем следующий блокterraform {required_providers {decort = {version = "3.4.3"source = "de.de-rtf.urfu.ru/decort/decort"}}}Рисунок 5 - Содержимое файла main.tfПроизводим инициализацию terraform командой terraform initРисунок 6 - Команда terraform initОшибок нет, а значит всё прошло хорошо2 Инициализация Terraform провайдера DECORTПри инициализации Terraform провайдера DECORT используются следующие аргументы:
| Аргумент | Переменная окружения | Описание |
| allow_unverified_ssl | - | Если данный аргумент явно установлен в true, то провайдер не будет проверять SSL сертификаты при взаимодействии с авторизационным сервисом OAuth2 и контроллером облачной платформы. Отключение проверок может быть полезным при работе в доверенной среде, использующей самоподписанные SSL сертификаты. Однако, так как отключение проверок несёт потенциальные риски безопасности, данную настройку следует использовать с осторожностью. Разрешённые значения: false (значение по умолчанию) и true. |
| app_id | DECORT_APP_ID | Идентификатор приложения (клиента) для авторизации в контроллере облачной платформы в режиме oauth2. Аргументы app_id и app_secret являются обязательными для режима авторизации authenticator=oauth2. Если app_id не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DECORT_APP_ID. |
| app_secret | DECORT_APP_SECRET | Секретный код приложения (клиента) для авторизации в контроллере облачной платформы в режиме oauth2. Аргументы app_id и app_secret являются обязательными для режима авторизации authenticator=oauth2. Если app_secret не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DECORT_APP_SECRET. |
| authenticator | - | Режим авторизации при подключении к контроллеру облачной платформы. Доступные режимы: oauth2, legacy или jwt. Данный аргумент является обязательным. |
| controller_url | - | URL контроллера облачной платформы, через который будет осуществляться управление облачными ресурсами. Данный аргумент является обязательным. |
| jwt | DECORT_JWT | JSON Web Token (JWT), который используется для авторизации в контроллере облачной платформы в режиме jwt. Данный аргумент является обязательным для режима авторизации authenticator=jwt. Если jwt не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DECORT_JWT |
| oauth2_url | DECORT_OAUTH2_URL | URL авторизационного сервиса OAuth2, который используется для управления доступом пользователей (или программных клиентов) к контроллеру облачной платформы. Данный аргумент является обязательным для режимов авторизации authenticator=oauth2 или authenticator=jwt. Если oauth2_url не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DECORT_OAUTH2_URL |
| password | DECORT_PASSWORD | Пароль для авторизации в контроллере облачной платформы в режиме legacy. Аргументы password и user являются обязательными для режима авторизации authenticator=legacy. Если password не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DECORT_PASSWORD. |
| user | DECORT_USER | Имя пользователя для авторизации в контроллере облачной платформы в режиме legacy. Аргументы user и password являются обязательными для режима авторизации authenticator=legacy. Если user не задан в tf-файле, то провайдер будет использовать значение из переменной окружения DECORT_USER. |
Сначала было необходимо разлогиниться на платформе https://de.de-rtf.urfu.ru/ , затем был произведен переход по ссылке https://de.de-rtf.urfu.ru/ , затем был произведен переход по ссылке https://sso-de.de-rtf.urfu.ru/ . На данной станице сайта был создан API ключ с названием terraformРисунок 7 - Создание API ключаПосле нажатия Enter был создан API ключРисунок 8 - Созданный API ключЗатем в файле main.tf вставляем app_id и app_secret (строки 16, 17)Рисунок 9 - Изменение main.tfИспользуем задание аккаунта, под которым будем работатьРисунок 10 - Настройка рабочего аккаунтаПрописываем id образа. В нашем случае это id = 4 (Ubuntu Linux 2004)Рисунок 11 - Id образа ОССоздаем новую ресурсную группуРисунок 12 - Создание ресурсной группыПрописываем в консоли команду terraform planРисунок 13 - Результат работы команды terraform plan3 Задание со звездочкой (разделение на разные файлы)В папке, где находится main.tf, создаём файл provider.tfРисунок 14 - Создали файл provider.tfВ файл provider.tf помещаем верхушку содержимого файла main.tf (из main.tf это дело вырезаем)Рисунок 15 - Содержимое файла provider.tfСоздали в той же директории файл variables.tf. В кавычках в default указать значения app_id и app_secret
Рисунок 16 - Содержимое файла variables.tfПроизведём изменения в main.tfРисунок 17 - Изменения в main.tfВыводВ ходе данной лабораторной работы я познакомилась с Terraform провайдером DECORT. Научилась его устанавливать, собирать, инициализировать и настраивать. Также был создан виртуальный сервер в облачной платформе DECORT с помощью соответствующего Terraform провайдера.