Архів теґу: Kubernetes

GitHub Actions: Docker-білд в AWS ECR та деплой Helm-чарту в AWS EKS

2 Жовтня 2023
 

 Отже, маємо розгорнутий кластер Kubernetes – див. серію Terraform: створення EKS, частина 1 – VPC, Subnets та Endpoints. Маємо GitHub Actions workflow для його деплою – див. GitHub Actions: деплой Dev/Prod оточень з Terraform. Прийшов час почати деплоїти наш бекенд в Kubernetes. Тут знов використаємо GitHub Actions – будемо білдити Docker-образ з API-сервісом бекенду, зберігати… Читати далі »

Terraform: створення EKS, частина 4 – установка контролерів

14 Вересня 2023
 

 Остання, четверта частина, в якій ми встановимо решту контроллерів і додамо пару корисних дрібниць. Попередні частини: Terraform: створення EKS, частина 1 – VPC, Subnets та Endpoints Terraform: створення EKS, частина 2 – EKS кластер, WorkerNodes та IAM Terraform: створення EKS, частина 3 – установка Karpenter Планування Що нам залишилось зробити: встановити EKS EBS CSI Addon встановити ExternalDNS контролер… Читати далі »

Terraform: створення EKS, частина 3 – установка Karpenter

14 Вересня 2023
 

 Це вже третя частина по розгортанню кластеру AWS Elastic Kubernetes Service з Terraform, в якій будемо додавати в наш кластер Karpenter. Вирішив винести окремо, бо виходить досить довгий пост. І вже в останній (сподіваюсь), четвертій частині, додамо решту – всякі контроллери. Попередні частини: Terraform: створення EKS, частина 1 – VPC, Subnets та Endpoints Terraform: створення… Читати далі »

Terraform: створення EKS, частина 2 – EKS кластер, WorkerNodes та IAM

9 Вересня 2023
 

 Продовжуємо тему розгортання кластеру AWS Elastic Kubernetes Service за допомогою Terraform. У першій частині підготували AWS VPC  – див. Terraform: створення EKS, частина 1 – VPC, Subnets та Endpoints. В цій частині розгорнемо сам кластер і налаштуємо AIM для нього, а в наступній – встановимо Karpenter та решту контроллерів. Планування В цілому, список TODO наразі… Читати далі »

Terraform: створення EKS, частина 1 – VPC, Subnets та Endpoints

7 Вересня 2023
 

 Отже, з Терраформом трохи розібрались, згадали що до чого – час робити щось реальне. Перше, що будемо розгортати з Terraform – це кластер AWS Elastic Kubernretes Service та всі пов’язані з ним ресурси, бо зараз це зроблено з AWS CDK, і окрім інших проблем з CDK, вимушені мати EKS 1.26, бо 1.27 в CDK ще… Читати далі »

VictoriaMetrics: VMAuth – проксі, аутентифиікація та авторизація

23 Серпня 2023
 

 Продовжуємо розвивати наш стек моніторингу. Див. VictoriaMetrics: створення Kubernetes monitoring stack з власним Helm-чартом. Що хочеться: зробити доступ девелоперам, щоб вони могли в Alertmanager самі виставляти Silence для алертів аби не спамити в Slack, див. Prometheus: Alertmanager Web UI и Silence алертов. Для того, щоб забезпечити безпечний доступ до нього можна використати рішення від VictoriaMetrics… Читати далі »

AWS: знайомство з Karpenter для автоскейлінгу в EKS, та встановлення з Helm-чарту

18 Серпня 2023
 

 На всіх попередніх проектах, де був Kubernetes я використовував AWS Elastic Kubernetes Service, а для скейлінгу його WorkerNodes – Cluster Autoscaler (CAS), бо в принципі інших варіантів раньше не було. В цілому, CAS працював добре, проте в листопаді 2020 AWS випустив власне рішення для скейлінгу нод для EKS – Karpenter, і якщо спочатку відгуки були… Читати далі »

Kubernetes: Pods та WorkerNodes – контроль розміщення подів на нодах

17 Серпня 2023
 

 Kubernetes дозволяє дуже гнучко керувати тим, як його Pods будуть розташовані на серверах, тобто WorkerNodes. Це може бути корисним, якщо вам треба запускати под на специфічній конфігурації ноди, наприклад – WorkerNode повинна мати GPU, або SSD замість HDD. Інший приклад, це коли вам потрібно розміщати окремі поди поруч, щоб зменшити затримку їхньої комунікації, або зменшити… Читати далі »

Helm: multiple деплой одного чарта з Chart’s dependency

14 Серпня 2023
 

 Для покращення перформансу Grafana Loki треба встановити декілька майже однакових інстансів Memcached, див. Grafana Loki: оптимізація роботи – Recording Rules, кешування та паралельні запити. Сам стек моніторингу деплоїться з одного Хельм-чарту, в який через dependency файлу Chart.yaml додані залежності – Promtail, Loki, etc, див. VictoriaMetrics: створення Kubernetes monitoring stack з власним Helm-чартом. Як це зробити,… Читати далі »

VictoriaMetrics: створення Kubernetes monitoring stack з власним Helm-чартом

20 Липня 2023
 

 Зараз маємо VictoriaMetrics + Grafana на звичайному EC2-інстансі, запущені з Docker Compose – то був Proof of Concept, прийшов час запускати “по-дорослому” – в Kubernetes, і всі конфіги вже винести в GitHub. У VictoriaMetrics є чарти під кожен компонент, див. Victoria Metrics Helm Charts, і є чарти для запуску VictoriaMetrics Operator та victoria-metrics-k8s-stack – аналог… Читати далі »