Архів категорії: Проблеми та рішення

Arch Linux: підключення розділів LVM та запуск mkinitcpio

4 Березня 2025
 

 Не часто, але іноді виникає потреба завантажити систему з usb, і перезібрати initramfs-linux.img. Цей пост – скоріш просто невеликий нотаток для себе як, що, і куди маунтити на робочому ноуті, аби запустити mkinitcpio, бо в мене є розділи LVM, є окремі розділи на диску під /boot та swap. iwctl та WiFi  Отже, завантажуємось з флешки,… Читати далі »

PostgreSQL: AWS RDS Performance and monitoring

7 Лютого 2025
 

 Мігруємо наш Backend API з DynamoDB на AWS RDS PostgreSQL, і кілька раз RDS падав. Власне, враховуючи те, що ми задля економії взяли db.t3.small з двома vCPU і двома гігабайтами пам’яті – то доволі очікувано, але стало цікаво чому ж саме все падало. Через кілька днів почав цю тему дебажити, і хоча причини поки не… Читати далі »

GitHub Actions: запуск Actions Runner Controller в Kubernetes

24 Вересня 2024
 

 Ми користуємось GitHub Actions для деплоїв, і врешті-решт прийшли до того, що хочеться запускати Runners на своїх серверах в Kubernetes, бо: self-hosted GitHub Runners дешевші – фактично, платимо тільки за сервери, на яких запускаються джоби нам потрібно запускати SQL migrations на AWS RDS в приватних сабнетах перформанс – ми можемо використовувати будь-який тип AWS EC2… Читати далі »

AWS: Kubernetes та External Secrets Operator для AWS Secrets Manager

21 Серпня 2024
 

 Маємо на проекті новий EKS кластер 1.30, на якому хочемо повністю відмовитись від старого IRSA з OIDC і почати користуватись EKS Pod Identities – див. AWS: EKS Pod Identities – заміна IRSA? Спрощуємо менеджмент IAM доступів. І все наче працює чудово, але коли почав деплоїти наш Backend API – поди не стартують, і висять в… Читати далі »

Terraform: EKS та Karpenter – upgrade версії модуля з 19.21 на 20.0

10 Липня 2024
 

 Наче звична задача – оновити версію модулю Terraform, але в terraform-aws-modules/eks версії 20.0 були досить великі зміни з breaking changes. Зміни стосуються аутентифікації та авторизації в AWS IAM та AWS EKS, які розбирав в пості AWS: Kubernetes та Access Management API – нова схема авторизації в EKS. Але там ми все робили руками, аби взагалі… Читати далі »

AWS: RDS з IAM database authentication, EKS Pod Identities та Terraform

27 Червня 2024
 

 Готуємось мігрувати базу даних нашого Backend API з DynamoDB до AWS RDS з PostgreSQL, і нарешті вирішив спробувати що ж таке AWS RDS IAM database authentication, який з’явився здається ще десь у 2021. IAM database authentication, як, в принципі, можна здогадатись з назви, дозволяє нам виконувати аутентифікацію в RDS за допомогою AWS IAM, а не… Читати далі »

Kubernetes: контейнери та “загублений” SIGTERM

22 Червня 2024
 

 Маємо API-сервіс в Kubernetes, який періодично видає 502, 503, 504 помилки. Почав його дебажити, і виявив дивну штуку – в логах не було повідомлень про отриманий SIGTERM, а тому спочатку пішов розбиратись з Kubernetes – чому він його не відправляє? The Issue Отже, як це виглядає. Маємо Kubernetes Pod: $ kk get pod NAME READY… Читати далі »

Helm: UPGRADE FAILED: another operation (install/upgrade/rollback) is in progress

24 Травня 2024
 

 Іноді під час деплою Helm-чартів може з’являтись помилка “UPGRADE FAILED: another operation (install/upgrade/rollback) is in progress“: Виникати може через те, що попередній деплой не відбувся через помилки в чарті, або втрачений зв’язок між білд-машиною та Kubernets-кластером. Перевіряємо статус релізу з ls –all: $ helm -n dev-backend-api-ns ls –all NAME NAMESPACE REVISION UPDATED STATUS CHART APP… Читати далі »

Arch Linux: фікс помилки “yay: error while loading shared libraries: libalpm.so.13”

17 Березня 2024
 

 Після оновлення Arch Linux, yay почав видавати помилку: yay: error while loading shared libraries: libalpm.so.13: cannot open shared object file: No such file or directory Спершу, ддавайте знайдемо файл бібліотеки libalpm: $ sudo find / -type f -name “*.so*” | grep libalpm /usr/lib/libalpm.so.14.0.0 Окей – він є, але версії 14 –  libalpm.so.14, а Yay хоче… Читати далі »

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