Рубрики
Uncategorized

Введение в террафору

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

Во-первых, давайте поговорим о Инфраструктура как код (IAC).

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

Подумайте о Инфраструктура как широкий срок. Это может быть что-нибудь из виртуальных машин для кластеров Kubernetes к ведрам хранения. Код В этом контексте относится к языку, используемому для написания автоматизации. Наиболее распространенными являются формат языка JSON, YAML и Hashicorp (HCl).

IAC: Хорошие запчасти

Автоматизация вашей инфраструктуры имеет большие преимущества. Некоторые из моих любимых являются:

Согласованность Отказ Консистенция — это название игры на IAC. Средние изменения в инфраструктуре могут вызвать несоответствие между развитием, постановкой и производственными условиями.

Динамическое обеспечение Отказ Инфраструктура переносится. Когда он автоматизирован, становится легче предоставления ресурсов и преодоления ресурсов в отношении нагрузки.

Воспроизводимые среды Отказ Сверяние песочницы для испытаний с определенной конфигурацией обычно занимает несколько минут и имеет очень мало вмешательства человека.

Документированная инфраструктура Отказ Код IAC работает как всегда актуальная документация вашей инфраструктуры. Инструменты, такие как Git, также дадут вам ревизионную тропу и принесет к нему аспекты сотрудничества.

Познакомьтесь с террафором

Террафом это инструмент командной строки с открытым исходным кодом Hashicorp. .

Это дает вам возможность управлять — строить, обновлять и уничтожать — инфраструктуру с использованием IAC-принципов.

Террафор использует язык HCl. С HCl вы заявляете, как вы хотите, чтобы ваша инфраструктура выглядела. Террафор прочитает этот план и обеспечивает все ресурсы, которые вы объявили.

Вот как выглядит файл HCl:

provider "aws" {
  version = "~> 3.0"
  region  = "us-east-1"
}

resource "aws_s3_bucket" "bucket" {
  bucket = "my-private-bucket"
  acl    = "private"

  versioning {
    enabled = true
  }
}

В приведенном выше примере мы информируем террафом, что Web Services Amazon (AWS) является нашим поставщиком выбора. Мы также объявляем ресурс: частное ведро S3.

Провайдеры

Одна очень важная концепция от террафора — Поставщики Отказ

Поставщики — это клей между Terraform CLI и другими системами. Они работают как плагины и живут отдельно от террафора.

С поставщиками террафом может подключиться к облачным поставщикам (например, платформу Google Cloud, AWS), решения PAAS (например, Heroku, Kubernetes) и приложения SAAS (например, Github).

Состояние

Террафору отслеживает вашу инфраструктуру, хотя и Государственный файл Отказ

Государственный файл является источником истины для ваших архитектурных элементов. Он содержит все ресурсы, созданные Terraporm, плюс любые метаданные, необходимые для работы террафора.

Когда вы обновляете свою конфигурацию — вы используете файлы HCl — вы объявляете новый Желаемое состояние Отказ

Работа Террафора состоит в том, чтобы превратить это желаемое состояние в реальный мир. Он собирается сопоставить ваше текущее состояние государства — и ваше желаемое состояние — ваша конфигурация — и придумайте план выполнения.

План содержит информацию о том, что необходимо создать, обновляться или удалены в инфраструктуре. Зависимости между ресурсами решаются с использованием График зависимости Отказ Со всем на месте, Террафом позвонит всем API, необходимым для создания и управления всеми ресурсами.

Пример

Давайте вернемся к нашему первому примеру.

Представьте, что мы меняем ведро ACL из Частный к Государственный читал Отказ Вот что сделает террафом:

  1. Сравнивает текущее состояние с желаемым состоянием;
  2. Видит, что ACL ведра изменился;
  3. Создает план — 1 ресурс должен быть обновлен;
  4. Вызывает конечные точки AWS S3 для обновления ковша ACL.

Будет ли просто обновить ACL для Государственный читал ? Это удалит ведро и создать новый?

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

Terraform хороший выбор для моей компании?

.. или запуск, или боковой проект?

Террафом делает дополнительную сложность на ваш рабочий процесс. HCl — это новый язык для изучения. Инструмент командной строки все еще довольно новый по сравнению с другими решениями IAC, и он по-прежнему показывает несколько неровных краев.

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

Разнообразие поставщиков на Реестр Terraform Также показывает, насколько это универсален. Как только вы узнаете его, вы можете применить те же знания в любом облачном провайдере, сервисе или Цепочка доставки пиццы Отказ

Вот это для введения, спасибо за чтение!

Этот пост был первоначально опубликован на Hyperfoo , иди туда еще!

Накрыть фон Paweł Czerwiński на бессплашне

Оригинал: «https://dev.to/ruanmartinelli/introduction-to-terraform-47d2»