/rebrain-mcs-pkr-tf-demo

Практические материалы к вебинару Rebrain

Primary LanguageHCL

Материалы к вебинару по Packer и Terraform в VK Cloud Solutions с Rebrain

Подготовка

  1. Регистрируемся в Mail.ru Cloud Solutions
  2. Заходим в личный кабинет MCS, переходим в раздел "Настройки проекта" и на вкладке "API ключи" нажимаем "Скачать openrc версии 3"
  3. После скачивания файла нужно загрузить из него переменные командой
source <путь к скачанному файлу>

При вызове этой команды скрипт поросит ввести пароль от своей учетной записи в MCS

Подготовка очереди сообщений для приложения

  1. Переходим в интерфейс облака на вкладку "Очереди сообщений" -> "Ключи доступа"
  2. Нажимаем добавить новый ключ, вводим любое имя
  3. Копируем содержимое полей Access Key ID и Secret Key и вставляем в файл devops/packer/app/templates/application.service.j2 заменяя плейсхолдеры
Environment=AWS_ACCESS_KEY_ID=<ACCESS KEY ID из интерфейса облака>
Environment=AWS_SECRET_ACCESS_KEY=<SECRET KEY из интерфейса облака>

Сборка бинарных файлов приложения

  1. Переходим в директорию server/
  2. Выполняем
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ../sample_server .
  1. Повторяем тоже самое для директории worker/

Сборка образа с помощью Packer

  1. Локально должены быть установлены утилиты packer и ansible
  2. Переходим в директорию devops/packer/ в этом проекте
  3. Запускаем сборку образа командой
packer build -var image_tag=0.0.1 app.pkr.hcl

Создание инфраструктуры с помощью Terraform

  1. Локально должна быть установлена утилита Terraform
  2. Переходим в директорию terraform/ в этом проекте
  3. Создаем там файл vars.tfvars со следующим содержимым
image_tag = "0.0.1"
node_count = 3
  1. Запускаем создание инфраструктуры командой
terraform apply -var-file vars.tfvars -auto-approve

Проверка

После того как терраформ отработает, он выдаст IP адрес созданного балансировщика. По этому адресу можно делать запросы в API тестового приложения

curl <LB IP>/publish