Skip to content

Latest commit

 

History

History

07-terraform-01-intro

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Домашнее задание к занятию 1. «Инфраструктура как код»

Задача 1. Выбор инструментов

Легенда

Через час совещание, на котором менеджер расскажет о новом проекте. Начать работу над проектом нужно будет уже сегодня. Сейчас известно, что это будет сервис, который ваша компания будет предоставлять внешним заказчикам. Первое время, скорее всего, будет один внешний клиент, со временем внешних клиентов станет больше.

Также по разговорам в компании есть вероятность, что техническое задание ещё не чёткое, что приведёт к большому количеству небольших релизов, тестирований интеграций, откатов, доработок, то есть скучно не будет.

Вам как DevOps-инженеру будет нужно принять решение об инструментах для организации инфраструктуры. В вашей компании уже используются следующие инструменты:

  • остатки Сloud Formation,
  • некоторые образы сделаны при помощи Packer,
  • год назад начали активно использовать Terraform,
  • разработчики привыкли использовать Docker,
  • уже есть большая база Kubernetes-конфигураций,
  • для автоматизации процессов используется Teamcity,
  • также есть совсем немного Ansible-скриптов,
  • ряд bash-скриптов для упрощения рутинных задач.

На совещании нужно будет выяснить подробности о проекте, чтобы определиться с инструментами:

  1. Какой тип инфраструктуры будем использовать для этого проекта: изменяемый или не изменяемый?
  2. Будет ли центральный сервер для управления инфраструктурой?
  3. Будут ли агенты на серверах?
  4. Будут ли использованы средства для управления конфигурацией или инициализации ресурсов?

Так как проект стартует уже сегодня, на совещании нужно будет определиться со всеми этими вопросами.

Вам нужно:

  1. Ответить на четыре вопроса из раздела «Легенда».
  2. Решить, какие инструменты из уже используемых вы хотели бы применить для нового проекта.
  3. Определиться, хотите ли рассмотреть возможность внедрения новых инструментов для этого проекта.

Если для ответов на эти вопросы недостаточно информации, напишите, какие моменты уточните на совещании.

Задача 2. Установка Terraform

Официальный сайт Terraform.
В связи с недоступностью ресурсов для загрузки Terraform на территории РФ вы можете воспользоваться VPN или использовать зеркало YandexCloud:
ссылки для установки открытого ПО

Установите Terraform при помощи менеджера пакетов, используемого в вашей операционной системе. В виде результата этой задачи приложите вывод команды terraform --version.

Задача 3. Поддержка legacy-кода

В какой-то момент вы обновили Terraform до новой версии, например с 0.12 до 0.13. Код одного из проектов настолько устарел, что не может работать с версией 0.13. Нужно сделать так, чтобы вы могли одновременно использовать последнюю версию Terraform, установленную при помощи штатного менеджера пакетов, и устаревшую версию 0.12.

В виде результата этой задачи приложите вывод --version двух версий Terraform, доступных на вашем компьютере или виртуальной машине.


Как cдавать задание

Выполненное домашнее задание пришлите ссылкой на .md-файл в вашем репозитории.