Skip to content

Latest commit

 

History

History

05-virt-02-iaac

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Домашнее задание к занятию 2. «Применение принципов IaaC в работе с виртуальными машинами»

Это задание для самостоятельной отработки навыков и не предполагает обратной связи от преподавателя. Его выполнение не влияет на завершение модуля. Но мы рекомендуем его выполнить, чтобы закрепить полученные знания. Все вопросы, возникающие в процессе выполнения заданий, пишите в учебный чат или в раздел "Вопросы по заданиям" в личном кабинете.


Важно

Перед началом работы над заданием изучите Инструкцию по экономии облачных ресурсов. Перед отправкой работы на проверку удаляйте неиспользуемые ресурсы. Это нужно, чтобы не расходовать средства, полученные в результате использования промокода. Подробные рекомендации здесь.


Цели задания

  1. Научиться создвать виртуальные машины в Virtualbox с помощью Vagrant.
  2. Научиться базовому использованию packer в yandex cloud.

Задача 1

Установите на личный Linux-компьютер или учебную локальную ВМ с Linux следующие сервисы(желательно ОС ubuntu 20.04):

Примечание: Облачная ВМ с Linux в данной задаче не подойдёт из-за ограничений облачного провайдера. У вас просто не установится virtualbox.

Задача 2

  1. Убедитесь, что у вас есть ssh ключ в ОС или создайте его с помощью команды ssh-keygen -t ed25519
  2. Создайте виртуальную машину Virtualbox с помощью Vagrant и Vagrantfile в директории src.
  3. Зайдите внутрь ВМ и убедитесь, что Docker установлен с помощью команды:
docker version && docker compose version
  1. Если Vagrant выдаёт ошибку (блокировка трафика):
URL: ["https://vagrantcloud.com/bento/ubuntu-20.04"]     
Error: The requested URL returned error: 404:

Выполните следующие действия:

  • Скачайте с сайта файл-образ "bento/ubuntu-20.04".
  • Добавьте его в список образов Vagrant: "vagrant box add bento/ubuntu-20.04 <путь к файлу>".

Важно:

  • Если ваша хостовая рабочая станция - это windows ОС, то у вас могут возникнуть проблемы со вложенной виртуализацией. Ознакомиться со cпособами решения можно по ссылке.

  • Если вы устанавливали hyper-v или docker desktop, то все равно может возникать ошибка:
    Stderr: VBoxManage: error: AMD-V VT-X is not available (VERR_SVM_NO_SVM)
    Попробуйте в этом случае выполнить в Windows от администратора команду bcdedit /set hypervisorlaunchtype off и перезагрузиться.

  • Если ваша рабочая станция в меру различных факторов не может запустить вложенную виртуализацию - допускается неполное выполнение(до ошибки запуска ВМ)

Задача 3

  1. Отредактируйте файл mydebian.json.pkr.hcl или mydebian.jsonl в директории src (packer умеет и в json, и в hcl форматы):
    • добавьте в скрипт установку docker. Возьмите скрипт установки для debian из документации к docker,
    • дополнительно установите в данном образе htop и tmux.(не забудьте про ключ автоматического подтверждения установки для apt)
  2. Найдите свой образ в web консоли yandex_cloud
  3. Необязательное задание(*): найдите в документации yandex cloud как найти свой образ с помощью утилиты командной строки "yc cli".
  4. Создайте новую ВМ (минимальные параметры) в облаке, используя данный образ.
  5. Подключитесь по ssh и убедитесь в наличии установленного docker.
  6. Удалите ВМ и образ.
  7. ВНИМАНИЕ! Никогда не выкладываете oauth token от облака в git-репозиторий! Утечка секретного токена может привести к финансовым потерям. После выполнения задания обязательно удалите секретные данные из файла mydebian.json и mydebian.json.pkr.hcl. (замените содержимое токена на "ххххх")
  8. В качестве ответа на задание загрузите результирующий файл в ваш ЛК.