Kubernetes: моніторинг Events з kubectl та Grafana Loki

21 Червня 2024
 

 В Kubernetes окрім метрик та логів з контейнерів ми маємо змогу отримувати інформацію про роботу компонентів за допомогою Kubernetes Events. В евентах зазвичай зберігається інформація про статус подів (створення, Evict, kill, ready або not-ready статус подів), про WorkerNodes (статус серверів), про роботу Kubernetes Scheduler (неможливість запуску поду, тощо). Типи Kubernetes Events В цілому, всі ці… Читати далі »

AWS: Karpenter та SSH для Kubernetes WorkerNodes

19 Червня 2024
 

 Маємо AWS EKS кластер з WorkerNodes/EC2, які створюються за допомогою Karpenter. Процес створення інфраструктури, кластеру та запуск Karpenter описаний у попередніх постах: Terraform: створення EKS, частина 1 – VPC, Subnets та Endpoints Terraform: створення EKS, частина 2 – EKS кластер, WorkerNodes та IAM Terraform: створення EKS, частина 3 – установка Karpenter Чого прям ну дуже… Читати далі »

Pritunl: запуск VPN в AWS на EC2 з Terraform

31 Травня 2024
 

 Колись вже трохи писав про Pritunl – Pritunl: запуск VPN в Kubernetes. Повернемось до цієї теми ще раз, але цього разу на EC2 в AWS, без Kubernetes. Отже, що треба – це запустити якийсь VPN-сервіс для проекту, або мати доступ до всяких Kubernetes API/Kubernetes WorkerNodes/AWS RDS у приватних мережах. Вибір тут, в принципі, є –… Читати далі »

Renovate: GitHub та Helm Charts versions management

29 Травня 2024
 

 Depndabot (див. Dependabot: GitHub та Terraform versions management) цікавий тим, що досить швидко і просто конфігуриться, але те, що він досі не вміє в Helm-чарти (хоча feature request був відкритий ще в 2018) робить його трохи useless для нас. Отже, натомість давайте глянемо на Renovate, який прям дуже цінується всіма, хто має справу з менеджментом… Читати далі »

Dependabot: GitHub та Terraform versions management

29 Травня 2024
 

 З часом, коли проект росте, то рано чи пізно постане питання про апгрейд версій пакетів, модулів, чартів. Робити це вручну, звісно, можна – але тільки до якоїсь межі, бо врешті-решт ви просто фізично не зможете моніторити та оновлювати все. Для автоматизації таких процесів існує багато рішень, але найчастіше зустрічаються два – Renovate та Dependabot. За… Читати далі »

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

AWS: VPC Flow Logs, NAT Gateways, та Kubernetes Pods – детальний обзор

1 Травня 2024
 

 Маємо відносно великі витрати на AWS NAT Gateway Processed Bytes, і стало цікаво що ж саме процеситься через нього. Здавалося б, все просто – включи собі VPC Flow Logs, да подивись, що до чого. Але як діло стосується AWS Elasitc Kubernetes Service та NAT Gateways, то все трохи цікавіше. Отже, про що будемо говорити: що… Читати далі »

Grafana: AWS EC2 resources та Kubernetes Pods requests

19 Квітня 2024
 

 У Kubecost і подібних рішень є дуже корисна сторінка, де відображається статистика по Kubernetes Pods – скільки CPU/Memory вони використовують, скільки реквестів, лімітів, і які для них рекомендовані значення. Додатково, щоб мати уяву про ефективність роботи Karpenter, я хочу мати дашборду в Grafana, яка буде відображати статистку по всім WorkerNode Kubernetes кластеру – ресурси CPU/Memory… Читати далі »

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

GitHub Actions: використання Reusable Workflows – нюанси роботи

13 Березня 2024
 

 В пості GitHub Actions: деплой Dev/Prod оточень з Terraform я вже трохи торкався теми Reusable Workflows та Composite Actions – прийшов час трохи більше з нею ознайомитись. Що треба зробити: зараз на проекті ми в кожному репозиторії пишемо Workflow-файли окремо. Втім, оскільки поступово всі процеси уніфікуються – управління інфраструктурою через Terraform, та запуск сервісів в… Читати далі »