Forwarded from Make. Build. Break. Reflect.
#aws #eks #sqs #CostOptimization
Материал уровня middle.
Снова про экономию.
У нас есть AWS SQS.
В него прилетает миллион вебхуков с полезным и важным payload.
Бывают пики, бывают нет.
У нас есть AWS EKS и приложение в POD-e, который вычитывает SQS, процессит и всё ок.
Нам надо настроить масштабирование не за счёт CPU/memory usage, а за счёт количества сообщений.
В этом нам помогает KEDA. Опустим этапы установки/настройки/прав и авторизации.
У нас есть готовый манифест
Всё работает, всё скейлится, всё ок.
В HPA некрасиво выглядят цифры, хочется видеть точное количество мессаджем. Добавляем
И теперь в
Этого нам мало, нужна точная подстройка.
Читаем дальше доку, у нас есть адвансед настройки.
Теперь у нас всё динамически скейлится, прописаны все триггеры, трешхолды.
Всё отлично и бизнес ликует(не вру, прям ликует, сильно помогло).
Однако меня, как рьяного и верного пса девопс церкви, напрягает, что в период высокой нагрузки всё упирается в максимум реплик. Да, можно поставить не 50, а 100, но я думаю, что настройка неверная.
Углубляемся дальше в доку(вру, я ничо не понял и просто спросил ребят-гуру-AWS-технологий в телеге) и вспоминаем про визибл/анвизибл настройки у sqs.
https://keda.sh/docs/2.14/scalers/aws-sqs/
https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
Окончательно пилим манифест.
Отлично. Теперь самая точная и потрясающая настройка.
Материал уровня middle.
Снова про экономию.
У нас есть AWS SQS.
В него прилетает миллион вебхуков с полезным и важным payload.
Бывают пики, бывают нет.
У нас есть AWS EKS и приложение в POD-e, который вычитывает SQS, процессит и всё ок.
Нам надо настроить масштабирование не за счёт CPU/memory usage, а за счёт количества сообщений.
В этом нам помогает KEDA. Опустим этапы установки/настройки/прав и авторизации.
У нас есть готовый манифест
scaledobject.---
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
...
spec:
cooldownPeriod: 300
maxReplicaCount: 50
minReplicaCount: 2
pollingInterval: 30
scaleTargetRef:
name: application
triggers:
- authenticationRef:
name: keda-aws-credentials
metadata:
awsRegion: us-east-1
identityOwner: operator
queueLength: "500"
queueURL: https://sqs.us-east-1.amazonaws.com/123456789/sqsname
type: aws-sqs-queue
Всё работает, всё скейлится, всё ок.
В HPA некрасиво выглядят цифры, хочется видеть точное количество мессаджем. Добавляем
metricType---
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
...
spec:
...
metricType: Value
И теперь в
kubectl get hpa blablabla видим точное количество мессаджей в TARGETS(а не системы счисления инопланетян).Этого нам мало, нужна точная подстройка.
Читаем дальше доку, у нас есть адвансед настройки.
---
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
...
spec:
advanced:
horizontalPodAutoscalerConfig:
behavior:
scaleDown:
policies:
- periodSeconds: 15
type: Pods
value: 1
stabilizationWindowSeconds: 300
scaleUp:
policies:
- periodSeconds: 15
type: Pods
value: 1
selectPolicy: Max
stabilizationWindowSeconds: 60
... (остальное так же)
Теперь у нас всё динамически скейлится, прописаны все триггеры, трешхолды.
Всё отлично и бизнес ликует(не вру, прям ликует, сильно помогло).
Однако меня, как рьяного и верного пса девопс церкви, напрягает, что в период высокой нагрузки всё упирается в максимум реплик. Да, можно поставить не 50, а 100, но я думаю, что настройка неверная.
Углубляемся дальше в доку(вру, я ничо не понял и просто спросил ребят-гуру-AWS-технологий в телеге) и вспоминаем про визибл/анвизибл настройки у sqs.
https://keda.sh/docs/2.14/scalers/aws-sqs/
https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html
Окончательно пилим манифест.
---
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
...
spec:
advanced:
...(тут тоже самое)
metadata:
...
scaleOnInFlight: "false" << - - вот это вот важное нам
...
Отлично. Теперь самая точная и потрясающая настройка.
👍14
Forwarded from Make. Build. Break. Reflect.
#aws #eks #sqs #CostOptimization
Благодаря точной настройке мы неслабо экономим:
- во время нагрузки мы не скейлим так много реплик
- нет большого лишнего скейла реплик - нет и скейла нод кластера AWS EKS
- нет скейла нод - платим серьёзно меньше
Всего один параметр и в разы снижаем нагрузку и косты.
❕Прежде чем делать подобное, уточните у девелоперов и бизнеса - подойдёт ли это вам и продукту.
Не все процессинги можно переключить только на инфлайт режим.
Полный пример манифеста(код в телеге неудобно читать).
https://gist.github.com/kruchkov-alexandr/e6328137107e49c6a5e7c05c40851680
scaleOnInFlight - Indication of whether or not to include in-flight messages when calculating the number of SQS messages. (default: true, Optional)Благодаря точной настройке мы неслабо экономим:
- во время нагрузки мы не скейлим так много реплик
- нет большого лишнего скейла реплик - нет и скейла нод кластера AWS EKS
- нет скейла нод - платим серьёзно меньше
Всего один параметр и в разы снижаем нагрузку и косты.
❕Прежде чем делать подобное, уточните у девелоперов и бизнеса - подойдёт ли это вам и продукту.
Не все процессинги можно переключить только на инфлайт режим.
Полный пример манифеста(код в телеге неудобно читать).
https://gist.github.com/kruchkov-alexandr/e6328137107e49c6a5e7c05c40851680
👍14🔥1
EKS Terraform demo
https://github.com/setheliot/eks_demo/
Deploys:
▪️ EKS cluster using EC2 nodes
▪️ DynamoDB table
▪️ EBS volume used as attached storage for the Kubernetes cluster (a PersistentVolume)
▪️ Demo "guestbook" application, deployed via containers
▪️ ALB to access the app
#EKS #Terraform
https://github.com/setheliot/eks_demo/
Deploys:
▪️ EKS cluster using EC2 nodes
▪️ DynamoDB table
▪️ EBS volume used as attached storage for the Kubernetes cluster (a PersistentVolume)
▪️ Demo "guestbook" application, deployed via containers
▪️ ALB to access the app
#EKS #Terraform
👍5💊5
EKS community Add-ons
https://aws.amazon.com/blogs/containers/announcing-amazon-eks-community-add-ons-catalog/
Теперь можно уменьшить набор стандартных чартов для установки и поставить их через эдд-оны:
metrics-server
kube-state-metrics
prometheus-node-exporter
cert-manager
external-dns
#EKS
https://aws.amazon.com/blogs/containers/announcing-amazon-eks-community-add-ons-catalog/
Теперь можно уменьшить набор стандартных чартов для установки и поставить их через эдд-оны:
metrics-server
kube-state-metrics
prometheus-node-exporter
cert-manager
external-dns
#EKS
🔥22👍12💩3❤2
EKS Dashboard — all EKS clusters from all AWS regions/accounts in one place:
https://aws.amazon.com/blogs/aws/centralize-visibility-of-kubernetes-clusters-across-aws-regions-and-accounts-with-eks-dashboard/
#EKS
https://aws.amazon.com/blogs/aws/centralize-visibility-of-kubernetes-clusters-across-aws-regions-and-accounts-with-eks-dashboard/
#EKS
🔥25👍7🎉2
Официальный MCP-server для EKS:
https://aws.amazon.com/blogs/containers/accelerating-application-development-with-the-amazon-eks-model-context-protocol-server/
#EKS #MCP
https://aws.amazon.com/blogs/containers/accelerating-application-development-with-the-amazon-eks-model-context-protocol-server/
#EKS #MCP
Amazon
Accelerating application development with the Amazon EKS MCP server | Amazon Web Services
This blog post was jointly authored by Niall Thomson, Principal Solutions Architect – Containers, Carlos Santana, Solutions Architect – Containers and George John, Senior Product Manager – Amazon EKS Introduction Today, we’re excited to announce the launch…
🔥3
EKS + Kubernetes 1.33 🎉
Спустя официального релиза 1.33 прошло чуть больше месяца и теперь на AWS снова актуальная версия. 💪 Сделанный в прошлый раз прогноз на эту версию был весьма неточным (ошибка 3 недели).
https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html
Версия 1.34 должна официально выйти
На текущий момент на AWS доступны для установки:
▫️ EKS Auto Mode: версии 1.30 - 1.32.
▫️ Custom configuration: версии 1.26 - 1.33.
Рекомендации по версиям EKS:
❌ EKS 1.25 и древнее — не поддерживаются.
❎ EKS 1.26-1.29 — поддерживаются за дополнительную плату.
❗️ EKS 1.26 — перестанет поддерживаться совсем
❗️ EKS 1.27 — перестанет поддерживаться совсем
⚠️ EKS 1.30 — начнёт взимать дополнительную плату
⚠️ EKS 1.31 — начнёт взимать дополнительную плату
✔️ EKS 1.32 — минимально рекомендуемая на текущий момент (на дефолтной поддержке до
✅ EKS 1.33 — можно спать спокойно до
#EKS
Спустя официального релиза 1.33 прошло чуть больше месяца и теперь на AWS снова актуальная версия. 💪 Сделанный в прошлый раз прогноз на эту версию был весьма неточным (ошибка 3 недели).
https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html
Версия 1.34 должна официально выйти
27 августа, так что поставлю, что 1.34 на AWS появится 3 октября 2025 года.На текущий момент на AWS доступны для установки:
▫️ EKS Auto Mode: версии 1.30 - 1.32.
▫️ Custom configuration: версии 1.26 - 1.33.
Рекомендации по версиям EKS:
❌ EKS 1.25 и древнее — не поддерживаются.
❎ EKS 1.26-1.29 — поддерживаются за дополнительную плату.
11 июня (будет принудительно обновлён до 1.27)24 июля (будет принудительно обновлён до 1.28)⚠️ EKS 1.30 — начнёт взимать дополнительную плату
23 июля.⚠️ EKS 1.31 — начнёт взимать дополнительную плату
26 ноября.✔️ EKS 1.32 — минимально рекомендуемая на текущий момент (на дефолтной поддержке до
23 марта 2026 года).✅ EKS 1.33 — можно спать спокойно до
29 июля 2026 года.#EKS
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤1
K8sGPT + EKS
https://aws.amazon.com/blogs/machine-learning/use-k8sgpt-and-amazon-bedrock-for-simplified-kubernetes-cluster-maintenance/
#EKS #Bedrock #AI
https://aws.amazon.com/blogs/machine-learning/use-k8sgpt-and-amazon-bedrock-for-simplified-kubernetes-cluster-maintenance/
#EKS #Bedrock #AI
Amazon
Use K8sGPT and Amazon Bedrock for simplified Kubernetes cluster maintenance | Amazon Web Services
This post demonstrates the best practices to run K8sGPT in AWS with Amazon Bedrock in two modes: K8sGPT CLI and K8sGPT Operator. It showcases how the solution can help SREs simplify Kubernetes cluster management through continuous monitoring and operational…
👍7👎4
Защита EKS кластера от удаления:
https://docs.aws.amazon.com/eks/latest/userguide/deletion-protection.html
#EKS
aws eks update-cluster-config --deletion-protection --name my-eks-cluster
https://docs.aws.amazon.com/eks/latest/userguide/deletion-protection.html
#EKS
Amazon
Protect EKS clusters from accidental deletion - Amazon EKS
Accidentally deleting an EKS cluster may have a large impact, as Kubernetes operations will fail.
❤21👀3
EKS + Kubernetes 1.34 🎉
Спустя официального релиза 1.34 прошло чуть больше месяца и теперь на AWS снова актуальная версия. 💪 Сделанный в прошлый раз прогноз на эту версию был очень точным (ошибка 1 день).
https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html
Версия 1.35 должна официально выйти
На текущий момент на AWS доступны для установки:
▫️ EKS Auto Mode: версии 1.31 - 1.34.
▫️ Custom configuration: версии 1.28 - 1.34.
Рекомендации по версиям EKS:
❌ EKS 1.27 и древнее — не поддерживаются.
❎ EKS 1.28-1.30 — поддерживаются за дополнительную плату.
❗️ EKS 1.28 — перестанет поддерживаться совсем
❗️ EKS 1.29 — перестанет поддерживаться совсем
⚠️ EKS 1.31 — начнёт взимать дополнительную плату
⚠️ EKS 1.32 — начнёт взимать дополнительную плату
✔️ EKS 1.33 — минимально рекомендуемая на текущий момент (на дефолтной поддержке до
✅ EKS 1.34 — можно спать спокойно до
#EKS
Спустя официального релиза 1.34 прошло чуть больше месяца и теперь на AWS снова актуальная версия. 💪 Сделанный в прошлый раз прогноз на эту версию был очень точным (ошибка 1 день).
https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html
Версия 1.35 должна официально выйти
17 декабря, так что поставлю, что 1.35 на AWS появится 23 января 2026 года.На текущий момент на AWS доступны для установки:
▫️ EKS Auto Mode: версии 1.31 - 1.34.
▫️ Custom configuration: версии 1.28 - 1.34.
Рекомендации по версиям EKS:
❌ EKS 1.27 и древнее — не поддерживаются.
❎ EKS 1.28-1.30 — поддерживаются за дополнительную плату.
26 ноября (будет принудительно обновлён до 1.29)23 марта (будет принудительно обновлён до 1.30)⚠️ EKS 1.31 — начнёт взимать дополнительную плату
27 ноября.⚠️ EKS 1.32 — начнёт взимать дополнительную плату
24 марта.✔️ EKS 1.33 — минимально рекомендуемая на текущий момент (на дефолтной поддержке до
29 июля 2026 года).✅ EKS 1.34 — можно спать спокойно до
2 декабря 2026 года.#EKS
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍3😭1
AWS Backup + EKS 🎉
https://aws.amazon.com/blogs/aws/secure-eks-clusters-with-the-new-support-for-amazon-eks-in-aws-backup/
✅ Agent-free, native AWS integration (no custom scripts or third-party tools needed)
✅ Cross-Region and cross-account copies
✅ Automated scheduling and retention management
✅ Immutable backup vaults
Restore options:
🔸 Full EKS cluster
🔸 Specific namespaces
🔸 Individual persistent volumes
#Backup #EKS
https://aws.amazon.com/blogs/aws/secure-eks-clusters-with-the-new-support-for-amazon-eks-in-aws-backup/
✅ Agent-free, native AWS integration (no custom scripts or third-party tools needed)
✅ Cross-Region and cross-account copies
✅ Automated scheduling and retention management
✅ Immutable backup vaults
Restore options:
🔸 Full EKS cluster
🔸 Specific namespaces
🔸 Individual persistent volumes
#Backup #EKS
🔥18👍9❤1
EKS + Container Network Observability 🎉
https://aws.amazon.com/blogs/aws/monitor-network-performance-and-traffic-across-your-eks-clusters-with-container-network-observability/
#EKS
https://aws.amazon.com/blogs/aws/monitor-network-performance-and-traffic-across-your-eks-clusters-with-container-network-observability/
#EKS
🔥8
EKS + MCP Server 🎉
https://aws.amazon.com/blogs/containers/introducing-the-fully-managed-amazon-eks-mcp-server-preview/
Теперьполомать обновлять EKS кластер стало намного проще — подключаете MCP к любимому Cursor/Windsurf/Kiro/etc и пишите "
#EKS
https://aws.amazon.com/blogs/containers/introducing-the-fully-managed-amazon-eks-mcp-server-preview/
Теперь
upgrade cluster my-eks to the latest version" и делов!#EKS
Amazon
Introducing the fully managed Amazon EKS MCP Server (preview) | Amazon Web Services
Learn how to manage your Amazon Elastic Kubernetes Service (Amazon EKS) clusters through simple conversations instead of complex kubectl commands or deep Kubernetes expertise. This post shows you how to use the new fully managed EKS Model Context Protocol…
🙈23😁1