Архів категорії: HOWTO’s

Вопросы, касаюшиеся установки и настройки различных приложений.

Terraform: remote state з AWS S3 та state locking з DynamoDB

29 Серпня 2023
 

 Готуємось переводити управління інфрастуктурою з AWS CDK на Terraform. Про планування того, як воно все може виглядати писав у Terraform: початок роботи та планування нового проекту – Dev/Prod та bootsrap, але тоді оминув одну досить важливу опцію – створення lock для state-файлів. Блокування стейт-файлів використовується для того, щоб уникнути ситуацій, коли запускається кілька інстансів Terraform… Читати далі »

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. Інший приклад, це коли вам потрібно розміщати окремі поди поруч, щоб зменшити затримку їхньої комунікації, або зменшити… Читати далі »

Grafana: values з записів в логах Loki, та dual-Y-axes графіки в Grafana

15 Серпня 2023
 

 Фукція в AWS Lambda пише логи в CloudWatch Logs, звідки ми через lambda-promtail забираємо їх в Grafana Loki, звідки потім можемо використати в графіках Grafana. Що треба зробити: в логах пишеться час “Init duration” та “Max Memory Used”. В CloudWatch таких метрик нема, а нам цікаво мати графік по цим данним, бо це може бути… Читати далі »

Grafana Loki: оптимізація роботи – Recording Rules, кешування та паралельні запити

12 Серпня 2023
 

 Отже, маємо Loki, встановленую з чарту у simple-scale mode, див. Grafana Loki: архітектура та запуск в Kubernetes з AWS S3 storage та boltdb-shipper. Працює Loki все в AWS Elastic Kubernetes Service, встановлено з Loki Helm chart, в ролі long-term store використовуємо AWS S3, а для роботи з індексами Loki – BoltDB Shipper. У Loki в… Читати далі »

AWS: Grafana Loki, InterZone трафік в AWS, та Kubernetes nodeAffinity

9 Серпня 2023
 

 Трафік в AWS взагалі досить цікава та місцями складна штука, колись писав окремо про це у пості AWS: Cost optimization – обзор расходов на сервисы и стоимость трафика в AWS – прийшов час трохи повернутися до цієї теми. Отже, в чьому проблема: в AWS Cost Explorer помітив, що кілька днів поспіль маємо зростання витрат на… Читати далі »

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

AWS: Kubernetes – інтеграція AWS Secrets Manager та Parameter Store

17 Липня 2023
 

 Зберігання даних доступу у Kubernetes Secrets має важливий недолік, бо вони доступні тільки всередені самого Kubernetes кластеру. Щоб зробити їх доступними зовнішнім сервісам – можемо використати Hashicorp Vault і інтегрувати його з Kubernetes за допомогою таких рішень, як vault-k8s, або скористуватись сервісами від AWS – Secrets Manager або Parameter Store. Інтеграція AWS Secrets Manager та… Читати далі »

AWS: CDK підключення EBS CSI driver Add-On до EKS

13 Липня 2023
 

 Продовжимо про AWS CDK та Python. Пишу не тому, що подобається, а тому, що в інтернеті прикладів ну якось зовсім мало, тож нехай будуть хоча б тут. Отже, маємо кластер, маємо пару контролерів. Наче все готово – почав встановлювати чарт VictoriaMetrics, і все завелося окрім поду з VMSingle, який завис в статусі Pending. “VolumeBinding”: binding… Читати далі »