Архів за рік: 2023

AWS: EKS Pod Identities – заміна IRSA? Спрощуємо менеджмент IAM доступів

15 Грудня 2023
 

 Ще з дуже цікавих новинок останнього re:Invent – це EKS Pod Identities: нова можливість керувати доступами подів до ресурсів AWS. The current state: IAM Roles for Service Accounts До цього ми використовували модель IAM Roles for Service Accounts, IRSA, де для того, щоб якомусь поду дати доступ до, наприклад, S3, ми створювали IAM Role з… Читати далі »

AWS: CloudWatch – Multi source query: збираємо метрики із зовнішнього Prometheus

13 Грудня 2023
 

 Ще один цікавий анонс з останнього re:Invent – це те, що в CloudWatch додали можливість збирати метрики із зовнішніх ресурсів (див. дуже цікавий доклад AWS re:Invent 2023 – Cloud operations for today, tomorrow, and beyond (COP227)). Тобто тепер ми можемо створювати графіки та/або алерти не тільки з дефолтних метрик самого CloudWatch – але й за… Читати далі »

AWS: Amazon Q – знайомство, можливості та перші враження

8 Грудня 2023
 

 В цікаві часи живемо. Отже, поговоримо про дуже гучний запуск Amazon Q – нової системи від AWS, яка має допомогти нам, інженерам і не тільки, в роботі. Сам Amazon його називає “AI-powered assistant”, по факту для нас, як інженерів, це просто chatbot, з яким ми можемо поговорити, щоб отримати допомогу у розв’язанні якихось проблем або… Читати далі »

Kubernetes: забезпечення High Availability для Pods

20 Листопада 2023
 

 Що маємо: є у нас Kubernetes cluster, на якому скейлінгом WorkerNodes займається Karpenter, який для NodePool має  параметр disruption.consolidationPolicy=WhenUnderutilized, тобто він буде намагитись “ущільніти” розміщеня подів на нодах так, щоб максимально ефективно використати ресурси CPU та Memory. В цілому все працює, але це призводить до того, що досить часто перестворюються WorkerNodes, а це викликає “переселення”… Читати далі »

Grafana Loki: збираємо логи AWS LoadBalancer з S3 за допомогою Promtail Lambda

15 Листопада 2023
 

 Зараз ми вміємо збирати логи API Gateway та CloudWatch Logs, див. Loki: збір логів з CloudWatch Logs з використанням Lambda Promtail. Але в процесі міграції в Kubernetes у нас з’явились Application Load Balancers, які вміють писати логи тільки в S3, і нам треба навчитись збирати логи і звідти. Формат логу AWS ALB див. у Access… Читати далі »

Kubernetes: Liveness та Readiness Probes – Best practices

13 Листопада 2023
 

 Кілька корисних порад по використанню Liveness та Readiness Probes в Kubernetes – різниця між ними, та як правильно налаштовувати ці перевірки. Якщо зовсім коротко, то: livenessProbe: використовується Kubernetes, щоб знати, коли потрібно виконати restart поду readinessProbe: використовується Kubernetes, щоб знати, коли контейнер готовий приймати трафік, тобто – коли відповідний Kubernetes Service може додавати цей под… Читати далі »

VictoriaMetrics: Exporter в CronJob та пуш метрік без Pushgatway

7 Листопада 2023
 

 В пості Prometheus: запуск Pushgateway у Kubernetes з Helm та Terraform писав про те, як для Prometheus додати Pushgateway, який дозволяє використовувати Push-модель замість Pull, тобто – експортер може відправити метрики прямо в базу замість того, щоб чекати, коли до нього прийде сам Prometheus або VMAgent. У VictoriaMetrics з цим набагато простіше, бо ніякого Pushgateway… Читати далі »

Karpenter: Beta version – обзор змін та upgrade v0.30.0 на v0.32.1

4 Листопада 2023
 

 Отже, Karpenter зробив ще один великий шаг до релізу, і у версії 0.32 вийшов з етапу Alpha до Beta. Давайте кратко подивимось на зміни – а вони досить суттєві, а потім виконаємо апгрейд на EKS з Karpneter Terraform module та Karpenter Helm chart. Сам процес установки Karpenter описував у пості Terraform: створення EKS, частина 3… Читати далі »

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. Що треба зробити зараз – це описати створення чотирьох таких функцій, по одній на кожен компонент проекту. Функції мають бути розміщені в приватних мережах… Читати далі »