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

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

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

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

Loading

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

18 Лютого 2023

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

Loading

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

4 Лютого 2023

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

Loading

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

2 Лютого 2023

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

Loading

Kubernetes: моніторинг вартості кластеру – Kubernetes Resource Report та Kubecost
0 (0)

23 Січня 2023

Дуже правильне діло – моніторити, наскільки ефективно використовується кластер, особливо, якщо ресурси деплояться розробниками, які не сильно вникають у requests, і встановлюють завищені значення “про запас”. Запас, звичайно, потрібен, але й просто так реквестити ресурси ідеї погана. Наприклад, у вас є WorkerNode з 4 vCPU (4000 milicpu) та 16 ГБ оперативної пам’яті, і ви створюєте… Читати далі »

Loading

Kustomize: робота з маніфестами Kubernetes – огляд, приклади
0 (0)

15 Січня 2023

Kustomize – система управління конфігураціями (configuration management tool) для Kubernetes, що дозволяє використовувати загальні набори маніфестів, які можуть бути змінені для кожного конкретного оточення/кластера, і може бути альтернативою шаблонам Helm (або доповнювати його). Загальна концепція Kustomize – “where, what, and how” – “де, що і як”: “де” – це наш базовий маніфест, наприклад deployment.yaml “що”… Читати далі »

Loading

BASH: використання циклів FOR, WHILE, UNTIL – приклади
0 (0)

15 Січня 2023

Переклад поста 2013 року з деякими правками, але все ще актуальний для вивчення BASH. Короткий опис різниці у типах циклів: for – виконуватиме дію доти, доки є об’єкти для виконання (наприклад – читання потоку з stdin, файлу або функції); while – виконує дію доти, доки умова є істинною; until – виконуватиметься до того часу, поки умова стане true, тобто, поки вона false. Цикл FOR… Читати далі »

Loading