Kubernetes 1.35 ломает livenessProbe: 10-летний баг исправлен
10 лет в Kubernetes параметр timeoutSeconds для exec-проб игнорировался. В 1.35 наконец исправили (https://github.com/kubernetes/kubernetes/pull/134635) — теперь он работает.
Дефолт timeoutSeconds — 1 секунда. Раньше она не применялась, и это было безвредно. Теперь exec-проба реально ждёт только 1с: не успел — pod перезапускается.
Баг затронет любой Helm-чарт или манифест, где exec-пробы написаны без явного timeoutSeconds.
10 лет в Kubernetes параметр timeoutSeconds для exec-проб игнорировался. В 1.35 наконец исправили (https://github.com/kubernetes/kubernetes/pull/134635) — теперь он работает.
Дефолт timeoutSeconds — 1 секунда. Раньше она не применялась, и это было безвредно. Теперь exec-проба реально ждёт только 1с: не успел — pod перезапускается.
Баг затронет любой Helm-чарт или манифест, где exec-пробы написаны без явного timeoutSeconds.
GitHub
Locked the (generally available) feature gate `ExecProbeTimeout` to true. by vivzbansal · Pull Request #134635 · kubernetes/kubernetes
What type of PR is this?
/kind feature
What this PR does / why we need it:
KEP Graduation Criteria:
This is a bug fix so the feature gate will be GA and on by default from the start. Timeline is t...
/kind feature
What this PR does / why we need it:
KEP Graduation Criteria:
This is a bug fix so the feature gate will be GA and on by default from the start. Timeline is t...
Forwarded from Мониторим ИТ
This media is not supported in your browser
VIEW IN TELEGRAM
cardamon
Да, интересные названия придумывают для открытых решений. В этом случае, возможно, имелась в виду секретная приправа, которой так не хватало Prometheus.
Это аудитор метрик для Prometheus. Он выявляет метрики, которые существуют в TSDB, но никогда не запрашиваются дашбордами, алерт рулами или просто пользователями. Здесь же вы можете сгенерировать правила удаления метрик Prometheus и снизить утилизацию хранилища.
Репыч на Гитхаб
📱 Telegram | 📲 MAX
Да, интересные названия придумывают для открытых решений. В этом случае, возможно, имелась в виду секретная приправа, которой так не хватало Prometheus.
Это аудитор метрик для Prometheus. Он выявляет метрики, которые существуют в TSDB, но никогда не запрашиваются дашбордами, алерт рулами или просто пользователями. Здесь же вы можете сгенерировать правила удаления метрик Prometheus и снизить утилизацию хранилища.
Репыч на Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
Карта направлений в SRE — три ветви, 20 компетенций верхнего уровня, листья с конкретными умениями, материалами и best practices.
https://jtprogru.github.io/The-Way-of-SRE/
https://jtprogru.github.io/The-Way-of-SRE/
DevOps: GitLab 18 ломает Terraform пайплайны! Перед обновлением удалите из
.gitlab-ci.yml старый шаблон - template: Terraform/Base.gitlab-ci.yml, иначе сборки упадут с ошибкой Included file... is empty or does not exist!. Пишите свой GitLab CI или переходите на OpenTofu, заменив строку на - template: OpenTofu/Base.latest.gitlab-ci.yml.Исследователи из Codex обнаружили уязвимость «HTTP/2 Bomb» (CVE-2026-49975), позволяющую вывести из строя веб-серверы, такие как nginx, Apache и IIS, с помощью специально сформированных HPACK-заголовков. Эта атака комбинирует сжатие заголовков с удержанием соединения, что позволяет одному клиенту за секунды исчерпать десятки гигабайт оперативной памяти на сервере. Подробный технический разбор доступен здесь: https://blog.calif.io/p/codex-discovered-a-hidden-http2-bomb
Исходный код здесь: https://github.com/califio/publications/tree/main/MADBugs/http2-bomb
Исходный код здесь: https://github.com/califio/publications/tree/main/MADBugs/http2-bomb
blog.calif.io
Codex Discovered a Hidden HTTP/2 Bomb
14 years ago, I helped break HTTP header compression, then was asked to review the fix, which became part of HTTP/2. Life has come full circle: today we're releasing an attack I missed.
Forwarded from Angie
Друзья, всем привет!
Уведомляем о том, что уязвимость CVE-2026-49975, недавно найденная в веб-серверах nginx, Envoy, Apache httpd, Microsoft IIS не актуальна для продуктов Angie / Angie PRO.
Уязвимость позволяет удаленному злоумышленнику вызвать отказ в обслуживании веб-сервера за счет перерасхода памяти при распаковке сжатых заголовков из специально подготовленного запроса в HTTP/2.
В Angie предусмотрена защита от подобной атаки: директива max_headers,
допускающая по умолчанию обработку не более 1000 заголовков. Директива была добавлена из freenginx еще с момента версии 1.8.0, вышедшей еще в 2024 году.
Уведомляем о том, что уязвимость CVE-2026-49975, недавно найденная в веб-серверах nginx, Envoy, Apache httpd, Microsoft IIS не актуальна для продуктов Angie / Angie PRO.
Уязвимость позволяет удаленному злоумышленнику вызвать отказ в обслуживании веб-сервера за счет перерасхода памяти при распаковке сжатых заголовков из специально подготовленного запроса в HTTP/2.
В Angie предусмотрена защита от подобной атаки: директива max_headers,
допускающая по умолчанию обработку не более 1000 заголовков. Директива была добавлена из freenginx еще с момента версии 1.8.0, вышедшей еще в 2024 году.
GitHub
GitHub - mrx-arafat/CVE-2026-49975-POC: HTTP/2 Bomb PoC — CVE-2026-49975 (HPACK indexed reference bomb + flow-control stall)
HTTP/2 Bomb PoC — CVE-2026-49975 (HPACK indexed reference bomb + flow-control stall) - mrx-arafat/CVE-2026-49975-POC
https://github.com/VictoriaMetrics/vmestimator — это инструмент от VictoriaMetrics, оценивающий кардинальность данных в реальном времени на этапе сбора, что позволяет предотвратить избыточное потребление ресурсов. В отличие от Cardinality Metrics, анализирующих уже сохраненные данные, vmestimator работает рядом с
vmagent, позволяя выявлять аномальный рост уникальных рядов до их записи в базу.GitHub
GitHub - VictoriaMetrics/vmestimator: Real-time Cardinality Estimations for VictoriaMetrics\Prometheus
Real-time Cardinality Estimations for VictoriaMetrics\Prometheus - VictoriaMetrics/vmestimator
Forwarded from DevITWay | Павел Волков
🚀 NORA 1.0
Пет-проект "реестр артефактов на одном бинарнике" дорос до 1.0 – 15 форматов в бинарнике < 30 МБ. Без Java, без базы, без 2 ГБ RAM под гроб JVM.
К 1.0 приехало:
– RPM (yum/dnf) и Debian/APT – 14-й и 15-й форматы. Кладёшь свои .rpm/.deb – Нора сама генерит repodata / Packages+Release.
– GPG-подпись индексов – repo_gpgcheck=1 и signed-by= из коробки, ключ рождается на первом старте.
– nora import – миграция из Artifactory/Nexus одной командой: stateless, resumable, без даунтайма.
История deb/rpm – чисто community. @Yoda_u_may_call_me написал в личку: "сил больше нет с этим Nexus'ом бороться" – и они с Joe Grund (@jgrund) забустили RPM/APT. Джо сверху докрутил GPG-подпись. Мужики, спасибо – влили ровно то, чего не хватало до 1.0. 🤝
15 форматов. Один бинарник. Ставится через docker run.
Полный changelog
Пет-проект "реестр артефактов на одном бинарнике" дорос до 1.0 – 15 форматов в бинарнике < 30 МБ. Без Java, без базы, без 2 ГБ RAM под гроб JVM.
К 1.0 приехало:
– RPM (yum/dnf) и Debian/APT – 14-й и 15-й форматы. Кладёшь свои .rpm/.deb – Нора сама генерит repodata / Packages+Release.
– GPG-подпись индексов – repo_gpgcheck=1 и signed-by= из коробки, ключ рождается на первом старте.
– nora import – миграция из Artifactory/Nexus одной командой: stateless, resumable, без даунтайма.
История deb/rpm – чисто community. @Yoda_u_may_call_me написал в личку: "сил больше нет с этим Nexus'ом бороться" – и они с Joe Grund (@jgrund) забустили RPM/APT. Джо сверху докрутил GPG-подпись. Мужики, спасибо – влили ровно то, чего не хватало до 1.0. 🤝
15 форматов. Один бинарник. Ставится через docker run.
Полный changelog
GitHub
Release v1.0.0 · getnora-io/nora
🎉 NORA 1.0 — General Availability
15 registry formats in a single binary — < 30 MB, no Java, no database, no 2 GB of RAM.
Added
import — nora import: one-command migration from Artifactory / Ne...
15 registry formats in a single binary — < 30 MB, no Java, no database, no 2 GB of RAM.
Added
import — nora import: one-command migration from Artifactory / Ne...
Интересный проект https://github.com/lev-stas/KENT
KENT (Kubernetes Events Notifier) — это легковесный инструмент для экспорта событий Kubernetes в VictoriaLogs (или stdout), обеспечивающий сохранение и поиск предупреждений (
KENT (Kubernetes Events Notifier) — это легковесный инструмент для экспорта событий Kubernetes в VictoriaLogs (или stdout), обеспечивающий сохранение и поиск предупреждений (
Warning, FailedScheduling, OOMKills) через LogsQL после их исчезновения из кластера. Продукт отличается нативной поддержкой VictoriaLogs, минимальным потреблением ресурсов (Go-бинарный файл) и надежной доставкой данных с поддержкой Helm-чарта.GitHub
GitHub - lev-stas/KENT: Lightweight Kubernetes event exporter for VictoriaLogs. Ships k8s events as structured JSON logs — natively…
Lightweight Kubernetes event exporter for VictoriaLogs. Ships k8s events as structured JSON logs — natively to VictoriaLogs or to stdout for any log shipper. - lev-stas/KENT
Раньше основной фреймфорк https://github.com/grpc/grpc был жестко ограничен лимитом MAX_CONCURRENT_STREAMS (по умолчанию 100 параллельных запросов на одно HTTP/2-соединение). Из-за этого избыточные конкурентные RPC-вызовы блокировались в очереди до освобождения слотов, вынуждая разработчиков вручную создавать пулы соединений для достижения высокой производительности. Согласно issue https://github.com/grpc/grpc/issues/21386 данная функциональность теперь полностью реализована и автоматическое создание дополнительных соединений при достижении лимита стримов будет включено по умолчанию, начиная с предстоящего релиза gRPC 1.84.
GitHub
GitHub - grpc/grpc: C++ based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
C++ based gRPC (C++, Python, Ruby, Objective-C, PHP, C#) - grpc/grpc
Radar — open-source UI для Kubernetes от Skyhook (YC W23). Один бинарник на Go, без регистрации и аккаунта, бесплатный навсегда. Топология кластера, браузер ресурсов, timeline событий, менеджер Helm-релизов, GitOps для FluxCD, карта трафика, аудит безопасности, анализ impact'а перед апгрейдом K8s и даже встроенный MCP-сервер, чтобы ИИ-агенты могли смотреть кластер глазами Radar вместо сырого kubectl.
https://habr.com/ru/articles/1073566/
#devops #kubernetes #k8s #radar #gitops #helm #kubernete-ui
https://habr.com/ru/articles/1073566/
#devops #kubernetes #k8s #radar #gitops #helm #kubernete-ui
NORA — open-source реестр артефактов на Rust, созданный как прямая альтернатива этим гигантам. Вместо Java-стека — один бинарник < 27 МБ. Вместо 2–4 ГБ RAM — < 50 МБ в простое, т.е. на порядок меньше. Вместо десятков минут на старт — 3 секунды. Внешних зависимостей нет вообще: ни Java 11+, ни отдельной СУБД — метаданные хранятся на файловой системе, а артефакты сразу можно отправлять в S3, чего бесплатные версии Nexus и Artifactory не умеют. При этом поддерживается 15 форматов: Docker, Maven, npm, PyPI, Cargo, Go, Raw, RubyGems, Terraform, Ansible Galaxy, NuGet, Pub (Dart/Flutter), Conan (C/C++), RPM (yum/dnf), Debian/APT. Плюс Helm-чарты через OCI, карантин свежих пакетов (Min Release Age), блокировка уязвимых версий (CVE Blocking) и лицензия MIT.
https://habr.com/ru/articles/1074042/
#devops #kubernetes #nora #registry #security #cve
https://habr.com/ru/articles/1074042/
#devops #kubernetes #nora #registry #security #cve
Ситуация, знакомая многим командам: в кластере Kubernetes живут обычные бизнес сервисы, нагрузка на которые днём растёт, а ночью падает. Обычно используют два плохих варианта: держать статический пул нод под дневной пик, которые ночью простаивают и стоят денег, или положиться на cluster autoscaling — и тогда при дневном росте нагрузки бизнес-поды проведут в статусе Pending до создания новой ноды.
Проблема ожидания, пока Cluster Autoscaler развернёт новую ноду, решается паттерном node overprovisioning, настраиваемым через PriorityClass и механизмы Cluster Autoscaler: мы заранее запускаем ничего не делающие capacity-overprovisioning поды (в документации Kubernetes они называются placeholder-подами), которые занимают небольшую часть ресурсов нод. Когда приходит нагрузка и реплики бизнес-приложений увеличиваются — поды бизнес-приложений немедленно занимают освободившееся место, вытесняя capacity-overprovisioning под за секунды. Вытесненный capacity-overprovisioning под уходит в Pending, Cluster Autoscaler добавляет ноду.
Ключевая выгода паттерна — экономия. Ночью и утром, когда нагрузка падает, KEDA снижает число реплик бизнес-приложения, Cluster Autoscaler удаляет недозагруженные ноды, и кластер схлопывается до минимального числа нод. Утром при росте нагрузки capacity-overprovisioning поды отдают место мгновенно.
https://habr.com/ru/articles/1076538/
#Kubernetes #DevOps #KEDA #VictoriaMetrics #Autoscaling #Overprovisioning #ClusterAutoscaler #PriorityClass #ЭкономияРесурсов
Проблема ожидания, пока Cluster Autoscaler развернёт новую ноду, решается паттерном node overprovisioning, настраиваемым через PriorityClass и механизмы Cluster Autoscaler: мы заранее запускаем ничего не делающие capacity-overprovisioning поды (в документации Kubernetes они называются placeholder-подами), которые занимают небольшую часть ресурсов нод. Когда приходит нагрузка и реплики бизнес-приложений увеличиваются — поды бизнес-приложений немедленно занимают освободившееся место, вытесняя capacity-overprovisioning под за секунды. Вытесненный capacity-overprovisioning под уходит в Pending, Cluster Autoscaler добавляет ноду.
Ключевая выгода паттерна — экономия. Ночью и утром, когда нагрузка падает, KEDA снижает число реплик бизнес-приложения, Cluster Autoscaler удаляет недозагруженные ноды, и кластер схлопывается до минимального числа нод. Утром при росте нагрузки capacity-overprovisioning поды отдают место мгновенно.
https://habr.com/ru/articles/1076538/
#Kubernetes #DevOps #KEDA #VictoriaMetrics #Autoscaling #Overprovisioning #ClusterAutoscaler #PriorityClass #ЭкономияРесурсов
Kubernetes
Overprovision Node Capacity For A Cluster
This page guides you through configuring Node overprovisioning in your Kubernetes cluster. Node overprovisioning is a strategy that proactively reserves a portion of your cluster's compute resources. This reservation helps reduce the time required to schedule…
В Kubernetes-кластере рано или поздно встаёт вопрос: где собирать Docker image приложений? Вариант «на своей машине разработчика» не масштабируется на команду. Вынос сборок на отдельную виртуальную машину решает эту проблему, но создаёт накладные расходы на обслуживание инфраструктуры и лишает ключевых преимуществ k8s: отдельная ВМ не масштабируется горизонтально под нагрузку, параллельные джобы конкурируют за общие CPU, RAM и диск, а накапливающийся кэш требует регулярной очистки.
Классических ответов два — Kaniko и BuildKit. Kubernetes executor с использованием Kaniko или BuildKit лишен этих недостатков: сборка происходит в изолированных подах прямо на нодах кластера, ресурсы динамически масштабируются, а виртуальные машины для Docker-демона больше не требуются.
https://habr.com/ru/articles/1079670/
#DevOps #Kubernetes #BuildKit #Kaniko #Benchmark
Классических ответов два — Kaniko и BuildKit. Kubernetes executor с использованием Kaniko или BuildKit лишен этих недостатков: сборка происходит в изолированных подах прямо на нодах кластера, ресурсы динамически масштабируются, а виртуальные машины для Docker-демона больше не требуются.
https://habr.com/ru/articles/1079670/
#DevOps #Kubernetes #BuildKit #Kaniko #Benchmark
Классическая ситуация: Go-сервис падает с
Решение — алертинг по логам. Связка VictoriaLogs + Vector + vmalert + Alertmanager следит за потоком, и как только приложение пишет
https://habr.com/ru/articles/1083198/
#DevOps #Kubernetes #VictoriaLogs #Vector #Alertmanager #Logging
panic: runtime error: invalid memory address or nil pointer dereference, Nuxt-фронтенд логирует NUXT_UNHANDLED: unhandled rejection. Клиент видит лишь общее «что-то сломалось» — точный текст ошибки остаётся только в логах.Решение — алертинг по логам. Связка VictoriaLogs + Vector + vmalert + Alertmanager следит за потоком, и как только приложение пишет
panic, log.Fatal или NUXT_UNHANDLED, в Telegram уходит алерт. Ниже — как поднять эту связку в Kubernetes без лишней нагрузки на хранилище.https://habr.com/ru/articles/1083198/
#DevOps #Kubernetes #VictoriaLogs #Vector #Alertmanager #Logging
Вышел open-source дашборд Dasha 1.8 для PostgreSQL: рекомендации по индексам, анализ логов и AI через MCP
Состоялся релиз новой версии дашборда Dasha 1.8 для мониторинга и администрирования баз данных PostgreSQL. В обновлении появился продвинутый автоматический анализ структуры БД и интеграция для управления кластерами с помощью ИИ-ассистентов. Проект полностью бесплатный, а его исходный код и документация доступны в репозитории на GitHub.
https://habr.com/ru/articles/1084954/
#postgres #opensource #devops #database #ai
Состоялся релиз новой версии дашборда Dasha 1.8 для мониторинга и администрирования баз данных PostgreSQL. В обновлении появился продвинутый автоматический анализ структуры БД и интеграция для управления кластерами с помощью ИИ-ассистентов. Проект полностью бесплатный, а его исходный код и документация доступны в репозитории на GitHub.
https://habr.com/ru/articles/1084954/
#postgres #opensource #devops #database #ai
Coroot — open-source observability-платформа, которая из метрик, логов и трейсов делает выводы о том, что чинить. Её ключевая особенность — непрерывное профилирование без изменений кода: eBPF-профилировщик снимает CPU-профили всех процессов на ноде, а языковые профилировщики (Go, Java) добавляют память и блокировки. В результате флеймграф показывает нагрузку до точной строки кода, а предустановленные инспекции находят типовые проблемы — утечки памяти, лишние аллокации, блокировки.
https://habr.com/ru/articles/1087316/
https://habr.com/ru/articles/1087316/
GitHub
GitHub - coroot/coroot: Coroot is an open-source observability and APM tool with AI-powered Root Cause Analysis. It combines metrics…
Coroot is an open-source observability and APM tool with AI-powered Root Cause Analysis. It combines metrics, logs, traces, continuous profiling, and SLO-based alerting with predefined dashboards a...
Forwarded from John Doe
🚀 VictoriaTraces v0.12.0 is here!
This release introduces a new built-in UI for exploring traces. You can try it out yourself in the playground:
play-vtraces.victoriametrics.com/select/vmui/
Check out the changelog for the full list of updates https://docs.victoriametrics.com/victoriatraces/changelog/#v0120
This release introduces a new built-in UI for exploring traces. You can try it out yourself in the playground:
play-vtraces.victoriametrics.com/select/vmui/
Check out the changelog for the full list of updates https://docs.victoriametrics.com/victoriatraces/changelog/#v0120
Victoriametrics
UI for VictoriaTraces
Explore your traces with VictoriaTraces UI