Terraform: початок роботи та планування нового проекту – Dev/Prod та bootsrap
0 (0)

14 Травня 2023

Треба запланувати використання Terraform у новому проекті, а це включає в себе і планування структри файлів для проекті, і як створити бекенд (тобто bootstrap) і інші потрібні для початку роботи ресурси, і подумати на тему роботи з кількома оточеннями і AWS-аккаунтами. Взагалі, цей пост спочатку писався чисто про створення AWS SES, але я почав додавати… Читати далі »

Loading

AWS: CDK – знайомство та приклади на Python
0 (0)

12 Травня 2023

AWS Cloud Development Kit (AWS CDK) дозволяє описувати інфрастуктуру використовуючи мови програмування TypeScript, JavaScript, Python, Java, C# або Go. “Під капотом” створює CloudFormation стек, в якому створються ресурси, описані в вашому коді. Відповідь на питання “Нашо CDK, коли є Terraform?” можна знайти ось тут – 4 ultimate reasons to prefer AWS CDK over Terraform. Але… Читати далі »

Loading

AWS: Fargate – можливості, порівняння з Lambda/EC2 та використання з AWS EKS
0 (0)

3 Травня 2023

AWS Fargate – ще одне serverless-рішення від Amazon, яке бере на себе управління інфраструктурою, позбавляючи користувача необхідності витрачати час на налаштування ЕС2-інстансів, операційної системи, систем управління контейнерами тощо. Взагалі, коли знайомився з Fargate, натрапив на чудове відео з AWS re:Invent 2022, де дуже добре розказано (і показано) про Shared Responsibility model у AWS – за… Читати далі »

Loading

Kubernetes: вертикальний скейлінг подів з Vertical Pod Autoscaler
0 (0)

29 Квітня 2023

Окрім Horizontal Pod Autoscaler (HPA), який створює додаткові поди якщо наявні починають використовувати більше CPU/Memory, ніж налаштовано у лімітах HPA, існує і Vertical Pod Autoscaler (VPA), який працює за іншою схемою: замість горизонтального масштабування, тобто збільшення кількості подів, він змінює resources.requests поду, що призводить до того, что Kubernetes Scheduler “переселяє” цей под на іншу WorkerNode,… Читати далі »

Loading

Prometheus: запуск Pushgateway у Kubernetes з Helm та Terraform
0 (0)

28 Квітня 2023

Маємо на проекті багато AWS Lambda функцій, з яких девелопери хочуть мати можливість відправляти метрики до нашого Prometheus, щоб додати власних алертів та графіків у Grafana. Для цього у функціях використовується бібліотека Prometheus, яка дозволяє ці метрики створювати (див. Prometheus: створення Custom Prometheus Exporter на Python), але ж ми не маємо змоги нормально отримати ці… Читати далі »

Loading

AWS: Instance Metadata Service v1 vs IMDS v2 та робота з Kubernetes Pod і Docker контейнерів
0 (0)

11 Квітня 2023

Instance metadata (IMDS – Instance Metadata Service) – дані про EC2 інстанс, такі як інформація про AMI, IP, ім’я хосту, і т.д. Також до Instance Metadata можна додати User Data для зберігання якихось параметрів, які потім можна буде отримати всередині інстансу. Див. Instance metadata and user data та Instance metadata categories. Від початку, в AWS… Читати далі »

Loading

Knative: Serverless для Kubernetes – огляд можливостей та запуск у Minikube
0 (0)

6 Квітня 2023

Knative – система, яка дозволяє використовувати Serverless модель розробки у Kubernetes. По суті, Knative можна уявляти собі як ще один рівень абстракції, який дозволяє девелоперам не поринати в деталі деплойменту, скелінгу та нетворкінгу у “vanilla” Kubernetes. Розробка самого Knative була розпочта у Google за співучастю таких компаній, як IBM, Pivotal, Red Hat, та загалом має… Читати далі »

Loading

GitLab: gitlab-shell timeouts та /metrics Connection refused
0 (0)

21 Березня 2023

Запустились ми в production, і вилізла дуже неприємна бага – при git операціях clone/pull/push запит іноді зависав на 1-2 хвилини. Виглядало це як якась “плавуюча” бага, тобто 5 раз могло склонити нормально, а потім раз зависає. Проблеми gitlab-shell timeouts Наприклад – раз нормально: [simterm] $ time git clone [email protected]:example/platform/tables-api.git Cloning into ‘tables-api’… … real 0m1.380s… Читати далі »

Loading

GitLab: моніторинг – Prometheus, метрики, та Grafana dashboard
0 (0)

11 Березня 2023

Отже, продовжуємо нашу подорож з міграцією GitLab до себе в Kubernetes. Див. попередні частини: GitLab: компоненти, архітектура, інфраструктура та запуск з Helm-чарту в Minikube GitLab: Helm-чарт values, залежності та деплой у Kubernetes з AWS S3 GitLab: міграція даних з GitLab cloud та процес backup-restore у self-hosted версії в Kubernetes В цілому – все працює, і… Читати далі »

Loading

GitLab: міграція даних з GitLab cloud та процес backup-restore у self-hosted версії в Kubernetes
0 (0)

1 Березня 2023

Продовжуємо рухатись до запуску нашого self-hosted GitLab в production. Див. попередні частини – GitLab: компоненти, архітектура, інфраструктура та запуск з Helm-чарту в Minikube та GitLab: Helm-чарт values, залежності та деплой у Kubernetes з AWS S3. Міграція даних Ще дуже хотілося написати пост про міграцію даних з GitLab Cloud до self-hosted, але немає часу, та й… Читати далі »

Loading