Terraform в GCloud Shell: обучение автоматизации инфраструктуры стало проще


Terraform в GCloud (источник изображения: https://www.hashicorp.com/blog/kickstart-terraform-on-gcp-with-google-cloud-shell)

В мире DevOps автоматизация неизбежна. Мы можем автоматизировать все и вся, от момента создания приложения до момента его развертывания. Благодаря этому разработка и развертывание приложений стали не только простыми, но и увлекательными. Автоматизация также делает процессы более быстрыми и менее подверженными ошибкам.

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

Terraform в Google Cloud Shell

Недавно Google Cloud Platform (GCP) запустила функцию, позволяющую использовать terraform в Google Cloud Shell; прямо в вашем браузере. Я был так взволнован этим, что решил написать об этом, чтобы помочь другим узнать и использовать эту замечательную функцию.

С моей точки зрения, вот преимущества, которые эта функция дает сообществу:

  1. Упрощает изучение Terraform с GCloud.
  2. Предоставьте любому возможность быстро протестировать концепцию без хлопот с ее настройкой.
  3. Избавьте новых DevOps-инженеров от ошибки, связанной с передачей секретных учетных данных GCloud в GitHub при изучении Terraform. Передача ваших учетных данных в систему управления версиями — очень опасная практика.

Руки вверх

Предпосылка

Использовать Terraform в Cloud Shell очень просто. Официальный блог ХашиКорп есть видео и письменный документ о том, как использовать эту функцию. Однако мы будем использовать эту платформу для создания простой подсети и экземпляра виртуальной машины в Compute Engine.

Шаги:

  1. Нажми на ОТКРЫТЬ В GOOGLE SHELL и Нажмите «Продолжить», когда появится приглашение.
  2. В верхней правой части страницы создайте или выберите проект, в котором вы хотите создать ресурс.
  3. Подтвердите проект в правом нижнем углу.


Облачная оболочка Google

  1. И мы умеем писать сценарии терраформирования в Cloud Shell для создания наших ресурсов.

  2. Перейдите в меню «Файл» > «Создать» > «Файл», создайте новый файл terraform и назовите его. network.tf

  3. Вставьте приведенный ниже скрипт terraform во вновь созданный network.tf файл.

resource "google_compute_network" "terraform-cloudshell" {
  name = "terraform-cloudshell-network"
  auto_create_subnetworks = false
}

resource "google_compute_subnetwork" "terraform-cloudshell-subnet" {
  name = "terraform-cloudshell-subnetwork"
  ip_cidr_range = "10.0.0.0/16"
  region = "us-central1"
  network = "${google_compute_network.terraform-cloudshell.self_link}"
  
}
  1. Перейти к main.tf файл и замените существующий скрипт этим обновленным скриптом terraform.
resource "google_compute_instance" "terraform-cloudshell-instance" {
 name = "vm-instance-${local.name_suffix}"
 machine_type = "f1-micro"
 zone = "us-central1-a"
 allow_stopping_for_update = true

boot_disk {
  initialize_params{
   image = "${data.google_compute_image.debian_image.self_link}"
  }
 }

network_interface {
  subnetwork = "${google_compute_subnetwork.terraform-cloudshell-subnet.name}"
  access_config {
  }
 }
}

data "google_compute_image" "debian_image" {
 family = "debian-9"
 project = "debian-cloud"
}

Приведенный выше скрипт создаст экземпляр виртуальной машины Compute Engine в созданной нами подсети. Чтобы создать ресурсы, мы выполним следующие команды в терминале облачной оболочки:

export GOOGLE_CLOUD_PROJECT=project_id
  1. Инициализировать Терраформ
terraform init
  1. Создайте ресурс с
terraform apply

При условии отсутствия ошибок вас спросят, хотите ли вы продолжить создание ресурсов. Для подтверждения введите «YES»

Через некоторое время экземпляр будет создан в указанной нами подсети. Хорошая работа! Вы только что использовали Terraform в Cloud Shell для предоставления инфраструктуры.

Мы должны уничтожить созданные нами ресурсы, чтобы с нас не взимались сборы.

  1. Уничтожить ресурсы, которые мы предоставили с помощью Terraform
terraform destroy

Вот и все. Спасибо за чтение.

Спасибо Terraform и команде Google Cloud за эту замечательную функцию.


Хлопайте и делитесь

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *