Архів автора: setevoy

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

28 Квітня 2023

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

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

11 Квітня 2023

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

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

6 Квітня 2023

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

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

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… Читати далі »

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

11 Березня 2023

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

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

1 Березня 2023

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

Kubernetes: збільшення Persistent Volume з PersistentVolumeClaim та volumeClaimTemplates

21 Лютого 2023

GitLab для зберігання репозиторіїв по дефолту створює диск розміром 50 GB, чого для Production явно буде мало. Persistent Volume resize опція доступна як general availability з версії Kubernetes 1.24, див. Kubernetes 1.24: Volume Expansion Now A Stable Feature, а в Beta – з версії 1.11, див. Resizing Persistent Volumes using Kubernetes. Доступно для дисків AWS… Читати далі »

Prometheus: створення Custom Prometheus Exporter на Python

18 Лютого 2023

У Прометеуса є багато готових до використання експортерів, але інколи може з’явитися потреба у зборі своїх власних метрик. Для цього Прометеус надає клієнтські бібліотеки, які можемо використати для генерації метрик з потрібними лейблами. Експортер можна включити прямо в код вашого додатку, або можна запускати окремим сервісом, який буде звертатися до якогось вашого сервісу і отримувати… Читати далі »

GitLab: Helm-чарт values, залежності та деплой у Kubernetes з AWS S3

4 Лютого 2023

Продовжуємо зайомство з GitLab та його деплоєм у Kubernetes. Перша частина –  GitLab: компоненти, архітектура, інфраструктура та запуск із Helm-чарту в Minikube, тепер давайте готуватися деплоїти в AWS Elastic Kubernetes Service. Що робитимемо і де: деплоїмо в AWS з Helm-чарту, для початку якийсь “test env” Kubernetes – AWS EKS object store – AWS S3 PostgreSQL –… Читати далі »

GitLab: компоненти, архітектура, інфраструктура та запуск з Helm-чарту в Minikube

2 Лютого 2023

Оскільки GitLab нещодавно змінив політику надання Free-доступу, і тепер по Free підписці буде доступно лише 5 користувачів, то вирішили ми переїжджати на self-hosted версію. Взагалі з ліцензією у них цікаво: ціна залежить від кількості користувачів, купити можна щонайменше на рік, і після покупки зменшити кількість користувачів у ліцензії не можна (але можна збільшити). GitLab буде… Читати далі »