Файл: Работа с Terraform. Как управлять облачной инфраструктурой.docx
Добавлен: 22.11.2023
Просмотров: 43
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
з | Министерство образования и науки Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования «Уральский федеральный университет имени первого Президента России Б. Н. Ельцина» |
Институт радиоэлектроники и информационных технологий – РтФ
Департамент информационных технологий и автоматики
Школа бакалавриата
Отчёт по лабораторной работе №6 «Работа с Terraform. Как управлять облачной инфраструктурой»
Выполнил:
Каюмова Юлия РИ-300001
г. Екатеринбург
2023 г.
Оглавление
Цель работы: 3
Задачи: 3
Ход работы: 4
1 Установка Terraform провайдера DECORT 4
2 Инициализация Terraform провайдера DECORT 6
3 Задание со звездочкой (разделение на разные файлы) 9
Вывод 10
Работа с Terraform_ как управлять облачной инфраструктурой
Цель работы:
Познакомиться с Terraform провайдером DECORT. Научиться его устанавливать, собирать, инициализировать и настраивать. Научиться создавать виртуальный сервер в облачной платформе DECORT с помощью соответствующего Terraform провайдера.
.
Задачи:
-
Установить 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 plan
3 Задание со звездочкой (разделение на разные файлы)
В папке, где находится 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 провайдера.