[Terraform] Быстрое понимание и способ установки Terraform

DevOps облачные вычисления
[Terraform] Быстрое понимание и способ установки Terraform

Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.
Эта статья также участвует"Проект "Звезда раскопок"", чтобы выиграть творческие подарочные пакеты и бросить вызов творческим поощрениям.

TerraformЯвляясь ключевым продуктом инструментов IaC в области облачных вычислений, он является основным продуктом HashiCorp, который включает четыре основных продукта, в том числеNomad,Consul,Vault,Terraform, который известен какConsul.TerraformОтвечает за создание согласованной инфраструктуры поверх различных облачных платформ, а также за поддержание и управление ее состоянием на протяжении всего жизненного цикла.

Линейки продуктов HashiCorp в основном включают Nomad, Consul, Valut и Terraform, а также два инструмента с открытым исходным кодом, Vagrant и Packer, и два новых продукта, Boundary и Waypoint, которые будут запущены в 2020 году.

Его официальный сайт описывает это так:Terraform— это программный инструмент с открытым исходным кодом, представляющий собой инфраструктуру как код, который обеспечивает согласованный рабочий процесс CLI для управления сотнями облачных сервисов. В целом Terraform — это безопасный, масштабируемый инструмент оркестровки ресурсов с прочной теоретической базой и поэтапными инженерными практиками.

Ключевые особенности Terraform: инфраструктура как код, мультиоблачная оркестрация, разделение плана выполнения и процесса, а также унифицированное управление состоянием ресурсов — важные гарантии нашей практики в системах оркестровки ресурсов нового поколения.

Чтобы испытать этот продукт, мы должны сначала установить его.

заUbuntuПользователь:

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
sudo apt-add-repository -y "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
sudo apt-get update && sudo apt-get install -y terraform

заCentOSПользователь (я установил на основе этого, без проблем):

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
sudo yum -y install terraform

заMacПользователь:

brew tap hashicorp/tap
brew install hashicorp/tap/terraform

заWindowsПользователи, официально рекомендуемый пакетный менеджер choco, вы можете перейти кchocolatey.org/После загрузки и установки шоколадки запустите powershell от имени администратора, а затем:

choco install terraform

Если вы хотите установить его только вручную, вы можете перейти на официальный сайт Terraform, чтобы загрузить исполняемый файл соответствующей операционной системы (Terraform написан на языке go, исполняемый файл только один), разархивировать его в указанное место и настройте PATH переменной среды, включив в нее каталог, в котором находится Terraform.

После успешной установки мыпроверятьПроверьте, прошла ли установка успешно.

图片.png

В первые дни Terraform поддерживал только файлы .tf с использованием синтаксиса HCL (язык конфигурации Hashicorp), а в последние годы также начал поддерживать JSON. HashiCorp даже модифицировала свой анализатор json, чтобы их json мог поддерживать комментарии, но HCL намного читабельнее, чем JSON.

Это связано с различиями в предпочтениях и потребностях команды.Я использую JSON, потому что другие коды используются для генерации соответствующего кода Terraform в формате JSON (например, инструменты собственной разработки с графическим интерфейсом, которые определяют инфраструктуру путем перетаскивания и затем сгенерируйте соответствующий код) Он относительно соответствует текущему стеку технологий, и если вы использовали HCL, вы также можете преобразовать его в формат синтаксиса json с помощью инструментов, предоставляемых Terraform.

Большая разница между Terraform и предыдущими инструментами управления конфигурацией, такими как Ansible, заключается в том, что он рассчитывает план изменений на основе разницы между целевым состоянием, рассчитанным кодом, и текущим состоянием.Заинтересованные читатели могут выполнитьterraform applyПосле этого выполните его снова напрямуюterraform apply, и посмотреть, что получится, чтобы понять разницу между ними.