Архів категорії: Terraform

GitHub Actions: Docker-білд в AWS ECR та деплой Helm-чарту в AWS EKS

2 Жовтня 2023
 

 Отже, маємо розгорнутий кластер Kubernetes – див. серію Terraform: створення EKS, частина 1 – VPC, Subnets та Endpoints. Маємо GitHub Actions workflow для його деплою – див. GitHub Actions: деплой Dev/Prod оточень з Terraform. Прийшов час почати деплоїти наш бекенд в Kubernetes. Тут знов використаємо GitHub Actions – будемо білдити Docker-образ з API-сервісом бекенду, зберігати… Читати далі »

Terraform: створення Lambda-функцій у VPC

26 Вересня 2023
 

 В пості Loki: збір логів з CloudWatch Logs з використанням Lambda Promtail описано як можна збирати логи з CloudWatch Logs за допомогою Lambda-функції з Promtail, який пересилає логи в Grafana Loki. Що треба зробити зараз – це описати створення чотирьох таких функцій, по одній на кожен компонент проекту. Функції мають бути розміщені в приватних мережах… Читати далі »

Terraform: terraform_remote_state – отримання outputs інших state-файлів

22 Вересня 2023
 

 За допомогою data “terraform_remote_state” ми можемо отримати outputs одного проекту, щоб використати в іншому. Наприклад, у нас AWS VPC створюється окремо від AWS EKS (хоча в серії Terraform: створення EKS, частина 1 – VPC, Subnets та Endpoints VPC створювалась як частина кластеру, але потім я їх розділив). Для створення EKS – йому треба передати VPC… Читати далі »

GitHub Actions: деплой Dev/Prod оточень з Terraform

21 Вересня 2023
 

 Тепер, як маємо готовий код для розгортання кластеру AWS Elastic Kubernetes Service (див. Terraform: створення EKS, частина 1 – VPC, Subnets та Endpoints і наступні частини), прийшов час подумати про автоматизацію, тобто – про створення пайплайнів в CI/CD, які би виконували створення нових енвів для тестування фіч, або деплоїли апдейти на Dev/Prod оточення Kubernetes. І… Читати далі »

Terraform: “One Ring to rule them all!” – управління бекендами проектів

16 Вересня 2023
 

 Вже писав про питання управління бекендами у постах Terraform: початок роботи та планування нового проекту – Dev/Prod та bootsrap та Terraform: динамічний remote state з AWS S3 та multiple environments по директоріям, повернемось до цієї теми знов. Отже, вибрав все ж варіант з менеджментом бекендів через окремий проект Terraform, де в змінних маємо список проектів,… Читати далі »

Terraform: створення EKS, частина 4 – установка контролерів

14 Вересня 2023
 

 Остання, четверта частина, в якій ми встановимо решту контроллерів і додамо пару корисних дрібниць. Попередні частини: Terraform: створення EKS, частина 1 – VPC, Subnets та Endpoints Terraform: створення EKS, частина 2 – EKS кластер, WorkerNodes та IAM Terraform: створення EKS, частина 3 – установка Karpenter Планування Що нам залишилось зробити: встановити EKS EBS CSI Addon встановити ExternalDNS контролер… Читати далі »

Terraform: створення EKS, частина 3 – установка Karpenter

14 Вересня 2023
 

 Це вже третя частина по розгортанню кластеру AWS Elastic Kubernetes Service з Terraform, в якій будемо додавати в наш кластер Karpenter. Вирішив винести окремо, бо виходить досить довгий пост. І вже в останній (сподіваюсь), четвертій частині, додамо решту – всякі контроллери. Попередні частини: Terraform: створення EKS, частина 1 – VPC, Subnets та Endpoints Terraform: створення… Читати далі »

Terraform: створення EKS, частина 2 – EKS кластер, WorkerNodes та IAM

9 Вересня 2023
 

 Продовжуємо тему розгортання кластеру AWS Elastic Kubernetes Service за допомогою Terraform. У першій частині підготували AWS VPC  – див. Terraform: створення EKS, частина 1 – VPC, Subnets та Endpoints. В цій частині розгорнемо сам кластер і налаштуємо AIM для нього, а в наступній – встановимо Karpenter та решту контроллерів. Планування В цілому, список TODO наразі… Читати далі »

Terraform: створення EKS, частина 1 – VPC, Subnets та Endpoints

7 Вересня 2023
 

 Отже, з Терраформом трохи розібрались, згадали що до чого – час робити щось реальне. Перше, що будемо розгортати з Terraform – це кластер AWS Elastic Kubernretes Service та всі пов’язані з ним ресурси, бо зараз це зроблено з AWS CDK, і окрім інших проблем з CDK, вимушені мати EKS 1.26, бо 1.27 в CDK ще… Читати далі »

Terraform: цикли count, for_each та for

4 Вересня 2023
 

 Продовжуємо розбиратись з можливостями Terraform. В попредньому пості познайомились з типами даних – Terraform: знайомство з типами даних – primitives та complex. Тепер подивимось, як ці типи можна використовувати в циклах. Terraform підтримує три типи циклів: count: самий простий, використовується з заданим числом або з фукнцією length(); використовує індекси list або map для ітерації підходить… Читати далі »