devops:terraform

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
devops:terraform [20/02/2024 09:14] osvexdevops:terraform [28/01/2026 15:57] (поточний) – ↷ Сторінка посунуто з notes:devops:terraform на devops:terraform osvex
Рядок 1: Рядок 1:
 ====== Terraform ====== ====== Terraform ======
  
-Типу мова програмування інфраструктури в Clod і не тільки.+https://www.youtube.com/playlist?list=PLg5SS_4L6LYujWDTYb-Zbofdl44Jxb2l8 
 + 
 +[[https://github.com/osvex/terraform|https://github.com/osvex/terraform]] 
 + 
 +овапрограмування інфраструктури в Cloud і не тільки.
  
 Працює з: Працює з:
  
-  * AWS +  * AWS, GCloud, MS Azure, Digital Ocean, AliCloud 
-  * GCloud + 
-  * MS Azure +===== Встановлення Terraform на Linux ===== 
-  * Digital Ocean + 
-  * AliCloud +1. Завантажити **.zip **  файл з офіційного сайту. 
-  * Others+ 
 +2. Розпакувати та перемістити виконавчий файл в **/bin/**  (після цього зможемо запускати программу з будь якої директорії) 
 + 
 +===== Створення проєкта ===== 
 + 
 +Створюємо файл **main.tf** 
 + 
 +**Первинний код:** 
 + 
 +<code teraterm> 
 +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" 
 +  } 
 + 
 +
 + 
 + 
 +</code> 
 + 
 +  * **provider**: вказуємо нашого хостера (aws, azure, gcloud). Ключі беруться при створення користувача в AWS спеціально для terraform. 
 +      * **Region**  - розміщення нод. 
 +      **access_key**  - створюються на AWS 
 +      * **secret_key**  - створюються на AWS 
 +  * **resourse**: 
 +      * **ami**  - код операціонки яку ми хочемо встановити (наприклад ubuntu). 
 +      **Instance_type**  - тип сервера (залежність від ресурсів) 
 +      * **tags**  - теги для ресурса, доп інфа. Створювати можна будь які. 
 +==== ACCESS, SECRET KEY ==== 
 + 
 +**НЕ створювати ці дані **  їх в main.tf, а прописувати як змінну в сесії терміналу. 
 +<code> 
 + 
 +export AWS_ACCESS_KEY_ID= 
 +export AWS_SECRET_ACCESS_KEY= 
 + 
 +</code> 
 + 
 +===== Створення ресурсів (instances) ===== 
 + 
 +Запуск відбувається з **консолі**. 
 + 
 +<code> 
 +terraform init 
 + 
 +</code> 
 + 
 +Після виконання цієї команди, TF підключається до провайдера (AWS) та встановлює з'єднання. 
 + 
 +Далі: 
 + 
 +<code> 
 +terraform plan 
 + 
 +</code> 
 + 
 +TF проходиться по всіх файлах та показує що буде створено для перевірки, але не виконує цього. 
 + 
 +<code> 
 +terraform apply 
 + 
 +</code> 
 + 
 +Запускає інсталяцію 
 + 
 +===== Видалення ресурсів ===== 
 + 
 +1. Можна видалити ресурс з кода та запустити. 
 + 
 +2. Можна прописати **count**  менше ніж було, наприклад **0**. 
 + 
 +3. Командою в терміналі видалити **всі**  ресурси 
 + 
 +<code> 
 +terraform destroy 
 + 
 +</code> 
 + 
 +===== Налаштування політик безпеки =====
  
  • devops/terraform.1708420475.txt.gz
  • Востаннє змінено: 20/02/2024 06:14
  • (зовнішнє редагування)