Задание:

3. Реализация скрипта автоматизации:

  • a) На виртуальной машине Cloud-ADM создайте скрипт deploy-cloudinfra.sh:
    • i. В качестве рабочей директории используйте путь /home/altlinux/bin;
    • ii. Скрипт должен использовать файл конфигурации /home/altlinux/bin/cloudinit.conf для настройки подключения к облачному провайдеру;
    • iii. В файле cloudinit.conf допускается использование комментариев, поясняющих назначение параметров;
    • iv. При проверке задания, эксперты могут изменить настройки только в файле cloudinit.conf. Другие файлы редактироваться не будут.
  • b) Скрипт должен быть разработан таким образом, чтобы его можно было выполнять из любой директории без необходимости указания полного пути к исполняемому файлу.
  • c) Для выполнения задания используйте инструменты для автоматизации развёртывания инфраструктуры Terraform или (и) OpenStack CLI.

Вариант реализации:

Cloud-ADM:

  • Удаляем все ранее созданные ресурсы средствами Terraform для дальнейшего развёртывания средствами одного файла cloudinit.sh:
terraform destroy
    • Подтверждаем удаление ресурсов:

    • Результат:
      • Должны удалиться все созданные ранее ресурсы средствами Terraform 

  • Вся дальнейшая работа реализуется в контексте директории /home/altlinux/bin/:
cd /home/altlinux/bin/
  • Создадим файл 'deploy-cloudinfra.sh', в котором последовательно будем описывать всё что касается работы с Terraform:
vim deploy-cloudinfra.sh
    • Добавляем следующее содержимое:
#!/bin/bash

cd /home/altlinux/bin
source cloudinit.conf
cd /home/altlinux/bin/terraform
terraform init
terraform apply -auto-approve
  • Задаём права на исполнение для данного файла:
chmod +x deploy-cloudinfra.sh
  • Проверяем значение переменной окружения PATH:
echo $PATH
    • Если есть пусть /home/altlinux/bin, тогда данный скрипт deploy-cloudinfra.sh будет выполняться из любой директории

  • Выполняем запуск скрипта, например из домашней директории пользователя altlinux:
deploy-cloudinfra.sh
    • Результат:

  • Проверяем ресурсы в веб-интерфейсе:

Последнее изменение: вторник, 24 июня 2025, 12:56