Локальная установка Terraform
Development, Linux | Комментировать запись
Terraform – это инструмент Infrastructure as Code, разработанный компанией HashiCorp. Terraform помогает разработчикам развертывать, обновлять и удалять различные ресурсы своей инфраструктуры более эффективным и масштабируемым способом.
Разработчики могут использовать Terraform для организации различных сред, отслеживания изменений с помощью контроля версий и автоматизации повторяющихся задач (что уменьшает вероятность человеческой ошибки). Этот инструмент также позволяет группам разработчиков совместно работать над улучшением своей инфраструктуры посредством общих конфигураций.
1: Локальная установка Terraform
Чтобы установить Terraform на свою локальную машину, выберите предназначенный для вашей системы пакет из этого списка и загрузите его. Пакеты поставляются в виде zip-архива.
После загрузки Terraform распакуйте полученный архив. Инструмент запускается при помощи одного бинарного файла по имени terraform. Остальные файлы в пакете можно спокойно удалить, на работу Terraform это не повлияет.
После этого нужно убедиться, что бинарный файл terraform доступен в PATH. Инструкции по настройке PATH в Linux и Mac вы найдете здесь, инструкции для Windows – здесь.
Для примера рассмотрим установку Terraform в систему Linux подробнее.
Итак, на своей локальной машине перейдите в каталог, в который вы хотите установить Terraform. С помощью wget загрузите бинарный файл Terraform.
cd /tmp
wget https://releases.hashicorp.com/terraform/0.12.12/terraform_0.12.12_linux_amd64.zip
Советуем вам проверить контрольную сумму пакета с помощью sha256. Контрольная сумма должна совпасть с суммой на сайте проекта. Если это не так, вероятно, ваш пакет пострадал при скачивании. Загрузите контрольную сумму вашей версии с помощью этой команды:
wget -q https://releases.hashicorp.com/terraform/0.12.12/terraform_0.12.12_SHA256SUMS
С помощью этой команды проверьте контрольную сумму:
sha256sum -c --ignore-missing terraform_0.12.12_SHA256SUMS
Загруженный вами файл SHA256SUMS содержит имена файлов и их хэши. Эта команда найдет файл terraform_0.12.12_SHA256SUMS локально и затем проверит совпадение хэшей, используя флаг -c. Флаг –ignore-missing позволяет избежать ошибок в выходных данных.
Вы увидите такой вывод, если сумма совпала:
terraform_0.12.12_linux_amd64.zip: OK
После этого можно распаковать архив:
sudo unzip terraform_0.12.12_linux_amd64.zip -d /usr/local/bin/
Для проверки можно запросить версию Terraform.
terraform version
Команда должна вернуть:
Terraform v0.12.12
Теперь инструмент Terraform установлен на вашу локальную машину.
2: Тестирование установки Terraform
После установки Terraform проверьте работоспособность вашего нового экземпляра. Откройте новую сессию терминала и запустите terraform. При этом вы должны увидеть справку:
$ terraform
Usage: terraform [--version] [--help] <command> [args]
The available commands for execution are listed below.
The most common, useful commands are shown first, followed by
less common or more advanced commands. If you're just getting
started with Terraform, stick with the common commands. For the
other commands, please read the help and docs before usage.
Common commands:
apply Builds or changes infrastructure
console Interactive console for Terraform interpolations
# ...
Если команда выдала сообщение об ошибке (она может пожаловаться, например, что команда terraform не может быть найдена), возможно, вы неправильно установили переменную среды PATH. Вернитесь к ней и убедитесь, что она содержит каталог, в котором установлен инструмент Terraform.
3: Получение справки
Интерфейс командной строки Terraform предлагает встроенную функцию справки. Добавьте флаг -help к любой команде, чтобы получить дополнительную информацию о ней. Например:
$ terraform -help
Usage: terraform [-version] [-help] <command> [args]
The available commands for execution are listed below.
The most common, useful commands are shown first, followed by
less common or more advanced commands. If you are just getting
started with Terraform, stick with the common commands. For the
other commands, please read the help and docs before usage.
Common commands:
apply Builds or changes infrastructure
console Interactive console for Terraform interpolations
destroy Destroy Terraform-managed infrastructure
env Workspace management
fmt Rewrites config files to canonical format
get Download and install modules for the configuration
graph Create a visual graph of Terraform resources
import Import existing infrastructure into Terraform
init Initialize a Terraform working directory
output Read an output from a state file
plan Generate and show an execution plan
providers Prints a tree of the providers used in the configuration
refresh Update local state file against real resources
show Inspect Terraform state or plan
taint Manually mark a resource for recreation
untaint Manually unmark a resource as tainted
validate Validates the Terraform files
version Prints the Terraform version
workspace Workspace management
All other commands:
0.12upgrade Rewrites pre-0.12 module source code for v0.12
debug Debug output management (experimental)
force-unlock Manually unlock the terraform state
push Obsolete command for Terraform Enterprise legacy (v1)
state Advanced state management
Чтобы получить больше информации о любой из вышеперечисленных команд, укажите ее после флага –help, например:
$ terraform --help plan
Вы получите очень подробную информацию о команде:
Usage: terraform plan [options] [DIR]
Generates an execution plan for Terraform.
This execution plan can be reviewed prior to running apply to get a
sense for what Terraform will do. Optionally, the plan can be saved to
a Terraform plan file, and apply can take this plan file to execute
this plan exactly.
Options:
-destroy If set, a plan will be generated to destroy all resources
managed by the given configuration and state.
...
Заключение
Теперь вы умеете устанавливать Terraform на локальную машину и знаете базовые функции этого инструмента. Больше полезной информации вы найдете на сайте проекта.
Tags: Terraform