devops:terraform

Це стара версія документу!


Terraform

https://github.com/osvex/terraform

“Мова” програмування інфраструктури в Cloud і не тільки.

Працює з:

  • AWS, GCloud, MS Azure, Digital Ocean, AliCloud

1. Завантажити .zip файл з офіційного сайту.

2. Розпакувати та перемістити виконавчий файл в /bin/ (після цього зможемо запускати программу з будь якої директорії)

Створюємо файл main.tf

Первинний код:

provider "aws" {
 access_key = "AKIA**********PGPP"
 secret_key = "eFsFWN8**********tv1bxn/h/a+eWPvlGb"
 region = "eu-north-1"
}
}
resource "aws_instance" "Ubuntu" {
  ami           = "ami-0014ce3e52359afbd"
  instance_type = "t3.small"
  tags = {
    Name    = "My Ubuntu Server"
    Owner   = "osvex"
    Project = "Lessons"
  }
 
}
  • provider: вказуємо нашого хостера (aws, azure, gcloud). Ключі беруться при створення користувача в AWS спеціально для terraform.
    • Region - розміщення нод.
    • access_key - створюються на AWS
    • secret_key - створюються на AWS
  • resourse:
    • ami - код операціонки яку ми хочемо встановити (наприклад ubuntu).
    • Instance_type - тип сервера (залежність від ресурсів)
    • tags - теги для ресурса, доп інфа. Створювати можна будь які.

НЕ створювати ці дані їх в main.tf, а прописувати як змінну в сесії терміналу.

export AWS_ACCESS_KEY_ID=
export AWS_SECRET_ACCESS_KEY=

Запуск відбувається з консолі.

terraform init

Після виконання цієї команди, TF підключається до провайдера (AWS) та встановлює з'єднання.

Далі:

terraform plan

TF проходиться по всіх файлах та показує що буде створено для перевірки, але не виконує цього.

terraform apply

Запускає інсталяцію

1. Можна видалити ресурс з кода та запустити.

2. Можна прописати count менше ніж було, наприклад 0.

3. Командою в терміналі видалити всі ресурси

terraform destroy
  • devops/terraform.1709043065.txt.gz
  • Востаннє змінено: 27/02/2024 11:11
  • (зовнішнє редагування)