GKE standby buffers: запас capacity без постоянного overprovisioning
Google Cloud показал standby buffers для GKE. Идея в том, чтобы держать подготовленные, но suspended-ноды: они уже прошли init, DaemonSet'ы и preload, но не жгут полный compute как обычный запас.
Для кластеров со всплесками это замена balloon pods и ручному overprovisioning. Standby-ноды возобновляются в 2-3 раза быстрее, чем создаётся свежая нода, а buffer описывается через
Если у вас latency SLO страдает именно на scale-up, это стоит тестировать на отдельном node pool.
Google Cloud показал standby buffers для GKE. Идея в том, чтобы держать подготовленные, но suspended-ноды: они уже прошли init, DaemonSet'ы и preload, но не жгут полный compute как обычный запас.
Для кластеров со всплесками это замена balloon pods и ручному overprovisioning. Standby-ноды возобновляются в 2-3 раза быстрее, чем создаётся свежая нода, а buffer описывается через
CapacityBuffer. В статье есть YAML-пример и проверка через kubectl get nodes с condition Suspended.Если у вас latency SLO страдает именно на scale-up, это стоит тестировать на отдельном node pool.
👍1
Нагрузочный тест лучше собирать не из фантазии, а из telemetry
Grafana показывает подход, где сценарий для k6 строится из production telemetry. Вместо «давайте поставим 100 virtual users» берутся реальные RPS, p95/p99, распределение endpoint'ов и форма трафика из Grafana Cloud.
Это полезно для SRE-команд, которые уже хранят метрики в Prometheus/Mimir, но нагрузочные тесты всё ещё пишут вручную. Такой тест ближе к боевому профилю: он проверяет не абстрактную пропускную способность, а конкретные пики и маршруты, которые уже видны в проде.
Хороший кандидат для следующего performance review: взять неделю нормального трафика и превратить её в k6-сценарий.
Grafana показывает подход, где сценарий для k6 строится из production telemetry. Вместо «давайте поставим 100 virtual users» берутся реальные RPS, p95/p99, распределение endpoint'ов и форма трафика из Grafana Cloud.
Это полезно для SRE-команд, которые уже хранят метрики в Prometheus/Mimir, но нагрузочные тесты всё ещё пишут вручную. Такой тест ближе к боевому профилю: он проверяет не абстрактную пропускную способность, а конкретные пики и маршруты, которые уже видны в проде.
Хороший кандидат для следующего performance review: взять неделю нормального трафика и превратить её в k6-сценарий.
🔥3
Self-hosting дома, где ломается всё самое сетевое
В авторском разборе блог хостится дома, но с обычными бытовыми ограничениями: динамический IPv4, меняющийся IPv6 prefix, OpenWRT, DNS-обновления и WireGuard как связка для доступа извне.
Материал полезен не как рецепт «делайте прод дома», а как компактная лаборатория по сети. Тут сразу видно, где заканчивается красивый self-hosting и начинается реальность провайдера: prefix delegation, firewall rules, DDNS, туннели и восстановление после смены адресов.
Хорошее чтение для тех, кто хочет руками потрогать networking без облачного abstraction layer. После такого проще понимать, что именно скрывают managed load balancer и static IP.
В авторском разборе блог хостится дома, но с обычными бытовыми ограничениями: динамический IPv4, меняющийся IPv6 prefix, OpenWRT, DNS-обновления и WireGuard как связка для доступа извне.
Материал полезен не как рецепт «делайте прод дома», а как компактная лаборатория по сети. Тут сразу видно, где заканчивается красивый self-hosting и начинается реальность провайдера: prefix delegation, firewall rules, DDNS, туннели и восстановление после смены адресов.
Хорошее чтение для тех, кто хочет руками потрогать networking без облачного abstraction layer. После такого проще понимать, что именно скрывают managed load balancer и static IP.
Linux page cache для тех, кто смотрит на память в проде
У Viacheslav Biriukov есть большой разбор page cache для SRE. Это материал про ту самую память, которая в
Внутри: как Linux кэширует страницы файлов, что меняется с cgroup v2, как читать
Если у вас были алерты вида «RAM почти кончилась», а потом всё само проходило, этот текст стоит сохранить в runbook по Linux diagnostics.
У Viacheslav Biriukov есть большой разбор page cache для SRE. Это материал про ту самую память, которая в
top выглядит занятой, но не всегда означает утечку в приложении.Внутри: как Linux кэширует страницы файлов, что меняется с cgroup v2, как читать
smaps, где помогают mincore, mmap, fsync, vmtouch, perf и strace. Практический фокус хороший: не «ядро сложное», а как не ошибиться при разборе memory pressure.Если у вас были алерты вида «RAM почти кончилась», а потом всё само проходило, этот текст стоит сохранить в runbook по Linux diagnostics.
Viacheslav Biriukov
Linux Page Cache for SRE
SRE deep dive into Linux Page Cache # Last updated: Oct 2025 Contents
Prepare environment for experiments Essential Page Cache theory Page Cache and basic file operations Page Cache eviction and page reclaim More about mmap() file access cgroup v2 and Page…
Prepare environment for experiments Essential Page Cache theory Page Cache and basic file operations Page Cache eviction and page reclaim More about mmap() file access cgroup v2 and Page…
CoreDNS в Kubernetes можно патчить Terraform'ом, не через kubectl edit
Jérôme Petazzoni разбирает практичную боль: кластер сам создал CoreDNS ConfigMap, но править Corefile руками не хочется, потому что потом это невозможно нормально повторить и проверить в IaC.
Решение строится вокруг Terraform/OpenTofu: прочитать существующий ConfigMap, применить patch к нужному фрагменту и оставить изменение в коде, а не в истории команд администратора. Это особенно полезно, если нужно добавить upstream, rewrite, cache-настройки или внутренние DNS-правила.
Материал стоит открыть тем, у кого в кластере ещё есть «один раз поправили руками». CoreDNS обычно как раз из таких мест, где ручная правка потом всплывает в самый неудобный момент.
Jérôme Petazzoni разбирает практичную боль: кластер сам создал CoreDNS ConfigMap, но править Corefile руками не хочется, потому что потом это невозможно нормально повторить и проверить в IaC.
Решение строится вокруг Terraform/OpenTofu: прочитать существующий ConfigMap, применить patch к нужному фрагменту и оставить изменение в коде, а не в истории команд администратора. Это особенно полезно, если нужно добавить upstream, rewrite, cache-настройки или внутренние DNS-правила.
Материал стоит открыть тем, у кого в кластере ещё есть «один раз поправили руками». CoreDNS обычно как раз из таких мест, где ручная правка потом всплывает в самый неудобный момент.
👍2
SELECT в Postgres тоже может выглядеть как запись
Dan Slimmon разбирает странный инцидент: в Postgres появлялись пики
Для SRE это хороший пример, почему «чтения не пишут» в базах не всегда безопасное упрощение. Первый SELECT после изменений может пометить tuple metadata, а если страница ещё не была записана после checkpoint, Postgres отправит full page image в WAL.
Практический вывод: когда видите write spikes на read-heavy workload, не останавливайтесь на поиске INSERT/UPDATE. Смотрите checkpoints, hint bits, buffer dirties и то, что реально происходит на уровне storage.
Dan Slimmon разбирает странный инцидент: в Postgres появлялись пики
WALWrite, хотя нагрузка была read-only. Виновником оказался не внезапный write-запрос, а hint bits и full page writes.Для SRE это хороший пример, почему «чтения не пишут» в базах не всегда безопасное упрощение. Первый SELECT после изменений может пометить tuple metadata, а если страница ещё не была записана после checkpoint, Postgres отправит full page image в WAL.
Практический вывод: когда видите write spikes на read-heavy workload, не останавливайтесь на поиске INSERT/UPDATE. Смотрите checkpoints, hint bits, buffer dirties и то, что реально происходит на уровне storage.
Severity во время инцидента может мешать больше, чем помогать
Dan Slimmon в спорной заметке критикует SEV-шкалы. Не потому что классификация совсем не нужна, а потому что в начале инцидента команда часто тратит силы на спор «это SEV-1 или SEV-2», когда важнее понять blast radius, назначить lead и двигать расследование.
Для SRE-практики полезный угол такой: severity хороша для отчётности, коммуникации и post-incident анализа, но плохо заменяет operational questions. Что сломано? Кто координирует? Какой next action? Когда следующий update?
Если ваш incident template начинается с выбора SEV, стоит проверить, не прячутся ли за ним реальные шаги управления инцидентом.
Dan Slimmon в спорной заметке критикует SEV-шкалы. Не потому что классификация совсем не нужна, а потому что в начале инцидента команда часто тратит силы на спор «это SEV-1 или SEV-2», когда важнее понять blast radius, назначить lead и двигать расследование.
Для SRE-практики полезный угол такой: severity хороша для отчётности, коммуникации и post-incident анализа, но плохо заменяет operational questions. Что сломано? Кто координирует? Какой next action? Когда следующий update?
Если ваш incident template начинается с выбора SEV, стоит проверить, не прячутся ли за ним реальные шаги управления инцидентом.
Cloudflare ускорила security-сканы с 10 до 120+ в секунду без новых партиций
Security Insights сканировала аккаунты раз в 1–2 недели, а бесплатные часто не попадали в очередь. Цель — ~10→100 сканов/с, но консьюмеры лагали, API таймаутился и процессы падали.
В разборе инженеры пишут, что распараллелили обработку сообщений внутри партиции, разделили «медленные» и «быстрые» потоки и убрали блокировку головы очереди. Вставки в Postgres по одной строке заменили на гибридный bulk-insert, API перевели в active-passive у основной БД.
Шедулер — под adaptive rate limiter: зоны считают отдельно, стартовые временные метки размазали, лимит пересчитывается каждые полчаса. Итог: производительность выросла >10× и достигла 120+ сканов/с.
Прежде чем добавлять партиции или железо, смотрите метрики, SQL, логи и код.
Security Insights сканировала аккаунты раз в 1–2 недели, а бесплатные часто не попадали в очередь. Цель — ~10→100 сканов/с, но консьюмеры лагали, API таймаутился и процессы падали.
В разборе инженеры пишут, что распараллелили обработку сообщений внутри партиции, разделили «медленные» и «быстрые» потоки и убрали блокировку головы очереди. Вставки в Postgres по одной строке заменили на гибридный bulk-insert, API перевели в active-passive у основной БД.
Шедулер — под adaptive rate limiter: зоны считают отдельно, стартовые временные метки размазали, лимит пересчитывается каждые полчаса. Итог: производительность выросла >10× и достигла 120+ сканов/с.
Прежде чем добавлять партиции или железо, смотрите метрики, SQL, логи и код.
🔥1
K8s 1.35: почему под не рестартнулся после обновления конфига
Обновили ConfigMap, Secret или Istio, а приложение всё ещё видит старое?
Проверяйте UID пода, а не только restart count: новый UID — под пересоздали и счётчик сбросился, старый UID с растущим restart count — CrashLoop в том же объекте.
В K8s 1.35 CPU resize контейнер не трогает, память перезапускает только при политике
Что делать: подключите Reloader с
Обновили ConfigMap, Secret или Istio, а приложение всё ещё видит старое?
kubelet следит только за pod spec, и без смены spec'а контейнер не перезапустится.Проверяйте UID пода, а не только restart count: новый UID — под пересоздали и счётчик сбросился, старый UID с растущим restart count — CrashLoop в том же объекте.
В K8s 1.35 CPU resize контейнер не трогает, память перезапускает только при политике
RestartContainer; иначе JVM сохранит старый heap. envFrom из ConfigMap заморозит значения до kubectl rollout restart, volume mount обновится атомарно.Что делать: подключите Reloader с
reloader.watchGlobally=true и аннотацией reloader.stakater.com/auto: "true", или вручную вызывайте kubectl rollout restart deployment/app. Матрица и команды в гайде.❤1⚡1
Запустите o11y-bench, прежде чем доверить ИИ-агенту вашу Grafana
Не доверяйте ИИ-агенту доступ к продовой Grafana, пока не проверите его в
Внутри — запросы к метрикам, логам и трассировкам, расследование инцидентов и точечные правки дашбордов. Среда построена на фреймворке Harbor от авторов Terminal Bench.
Перед доступом к проду прогоните свой сценарий через бенчмарк и убедитесь, что агент реально справляется, а не просто красиво отвечает.
Не доверяйте ИИ-агенту доступ к продовой Grafana, пока не проверите его в
o11y-bench. Grafana открыла код бенчмарка: он запускает агентов против реального стека с доступом к серверу Grafana MCP и оценивает их на observability-задачах.Внутри — запросы к метрикам, логам и трассировкам, расследование инцидентов и точечные правки дашбордов. Среда построена на фреймворке Harbor от авторов Terminal Bench.
Перед доступом к проду прогоните свой сценарий через бенчмарк и убедитесь, что агент реально справляется, а не просто красиво отвечает.
Закрепите GitHub Actions и образы по хешу — Cilium ужесточает CI/CD
Команда Cilium пинит все
Но пиннинг не покрывает транзитивные зависимости actions. Закреплённый checkout не спасёт от взлома вложенного action, который разрешается по тегу во время выполнения. GitHub обещает workflow-level dependency locking в roadmap 2026, аналогично
Пока проверьте свои workflow: замените теги на SHA, закрепите образы по дайджесту и следите за дорожной картой GitHub.
Команда Cilium пинит все
uses: в workflow по полному SHA: вместо тега @v6 указывается коммит-хеш. Образы тоже фиксируются через @sha256:..., а не по mutable-тегу. Если тег скомпрометируют, CI всё равно возьмёт проверенный код.Но пиннинг не покрывает транзитивные зависимости actions. Закреплённый checkout не спасёт от взлома вложенного action, который разрешается по тегу во время выполнения. GitHub обещает workflow-level dependency locking в roadmap 2026, аналогично
go.mod + go.sum.Пока проверьте свои workflow: замените теги на SHA, закрепите образы по дайджесту и следите за дорожной картой GitHub.
Сохраняйте causal-лог падений Kubernetes до перезаписи kubelet
События подов в Kubernetes ротируются быстрее, чем вы успеваете открыть инцидент. Поле
Operational Memory Architecture (OMA) — открытый инструмент на Go, который отслеживает события кластера, строит цепочки причинно-следственных связей и складывает их в SQLite. В тестах на Minikube и AKS с 20 crash-loop подами средняя задержка на связь меньше 1 мс, коллектор потребляет менее 10 МБ памяти.
Если отладка в вашем кластере упирается в пустой
События подов в Kubernetes ротируются быстрее, чем вы успеваете открыть инцидент. Поле
LastTerminationState перезаписывается после рестарта, а в crash-loop таких рестартов бывает несколько. Причина падения уходит за evidence horizon.Operational Memory Architecture (OMA) — открытый инструмент на Go, который отслеживает события кластера, строит цепочки причинно-следственных связей и складывает их в SQLite. В тестах на Minikube и AKS с 20 crash-loop подами средняя задержка на связь меньше 1 мс, коллектор потребляет менее 10 МБ памяти.
Если отладка в вашем кластере упирается в пустой
kubectl describe pod, посмотрите OMA — возможно, пора добавить operational memory layer.Поднимите S3-совместимое хранилище для staging на том же VPS
Если staging загружает аватары, отчёты и тестовые файлы в облачный S3, вы платите за хранилище и трафик, которые на самом деле не нужны. MinIO, open-source сервер объектного хранилища на Go, реализующий API Amazon S3, можно развернуть в Docker на VPS за 10–15 минут и платить только за диск сервера.
Код приложения не меняется: те же SDK,
Не отдавайте приложению root-ключи. Создайте отдельного пользователя с IAM-политикой только на нужный бакет, а HTTPS и домен отдайте reverse proxy, Traefik или NGINX, с Let’s Encrypt. Пошаговый разбор — с Docker, бэкапом в холодное хранилище и деталями настройки.
Если staging загружает аватары, отчёты и тестовые файлы в облачный S3, вы платите за хранилище и трафик, которые на самом деле не нужны. MinIO, open-source сервер объектного хранилища на Go, реализующий API Amazon S3, можно развернуть в Docker на VPS за 10–15 минут и платить только за диск сервера.
Код приложения не меняется: те же SDK,
PutObjectCommand, presigned URL и те же ошибки SignatureDoesNotMatch. Меняются только переменные окружения: endpoint, ключи и флаг forcePathStyle, который нужен большинству S3-совместимых сервисов, включая MinIO и R2.Не отдавайте приложению root-ключи. Создайте отдельного пользователя с IAM-политикой только на нужный бакет, а HTTPS и домен отдайте reverse proxy, Traefik или NGINX, с Let’s Encrypt. Пошаговый разбор — с Docker, бэкапом в холодное хранилище и деталями настройки.
Генерируйте SBOM на этапе сборки: сканирование готового образа даст декларацию вместо фактов
86% организаций в отчёте Omdia 2026 называют генерацию SBOM сложной. Причина в том, что разрозненные сканеры дают несогласованный результат, и приходится сводить его вручную.
Для DevOps проблема в том, что если SBOM собран после сборки, он фиксирует задекларированные версии, а не фактически установленные. Пропущенные транзитивные зависимости или устаревший слой базового образа превращают аудит на compliance в формальность.
Выход — генерация на этапе сборки: генератор видит разрешённое дерево зависимостей, файлы пакетного менеджера и полный контекст сборки. Сканирование готового образа такой видимости не даёт. Для воспроизводимости фиксируйте генератор по неизменяемой ссылке и выбирайте базовые образы с предсобранным SBOM. Детали в обзоре Docker.
86% организаций в отчёте Omdia 2026 называют генерацию SBOM сложной. Причина в том, что разрозненные сканеры дают несогласованный результат, и приходится сводить его вручную.
Для DevOps проблема в том, что если SBOM собран после сборки, он фиксирует задекларированные версии, а не фактически установленные. Пропущенные транзитивные зависимости или устаревший слой базового образа превращают аудит на compliance в формальность.
Выход — генерация на этапе сборки: генератор видит разрешённое дерево зависимостей, файлы пакетного менеджера и полный контекст сборки. Сканирование готового образа такой видимости не даёт. Для воспроизводимости фиксируйте генератор по неизменяемой ссылке и выбирайте базовые образы с предсобранным SBOM. Детали в обзоре Docker.
👍1
Агенты перешли от Stateless API к сессиям — проверьте их изоляцию
AWS, Microsoft, Google и Anthropic строят runtime вокруг session-aware execution. AWS изолирует сессию в microVM, Google — код в dedicated sandbox, Microsoft Foundry использует per-session isolation, Anthropic разделяет агента на session, harness и sandbox.
Для DevOps это меняет модель угроз: агент теперь долгоживущий, stateful и выполняет код от имени пользователя. При слабой изоляции одна сессия увидит state другой, утечёт за пределы хоста или скомпрометирует данные. Авторы материала называют такой runtime control plane для состояния, идентичности, изоляции и жизненного цикла.
Что делать: проверьте, как сессии ваших агентов отделены друг от друга и от хоста, где лежит state и кто контролирует их жизненный цикл.
AWS, Microsoft, Google и Anthropic строят runtime вокруг session-aware execution. AWS изолирует сессию в microVM, Google — код в dedicated sandbox, Microsoft Foundry использует per-session isolation, Anthropic разделяет агента на session, harness и sandbox.
Для DevOps это меняет модель угроз: агент теперь долгоживущий, stateful и выполняет код от имени пользователя. При слабой изоляции одна сессия увидит state другой, утечёт за пределы хоста или скомпрометирует данные. Авторы материала называют такой runtime control plane для состояния, идентичности, изоляции и жизненного цикла.
Что делать: проверьте, как сессии ваших агентов отделены друг от друга и от хоста, где лежит state и кто контролирует их жизненный цикл.
Kubernetes 2026: что стоит внедрить
За год немало функций дошло до стабильной версии, и часть привычных подходов пора обновить.
Теперь ресурсы пода можно менять на ходу: с версии 1.35 процессор и память настраиваются без перезапуска, что сильно упрощает настройку под нагрузку. Изменился и способ выделения оборудования — под может просто описать, какой GPU нужен, а планировщик сам подберёт подходящий, что особенно удобно для AI-задач. Вспомогательные контейнеры получили понятный жизненный цикл, так что обходные решения для service mesh и агентов Vault больше не нужны.
В релизе 1.36 усилили безопасность: root внутри контейнера теперь сопоставляется с обычным пользователем на узле, а правила изменения объектов можно задавать прямо в кластере, без отдельного сервиса.
И о чём стоит помнить перед обновлением: Ingress NGINX закрыт с марта 2026 — присмотритесь к Gateway API; поле externalIPs в Service устарело и будет удалено в версии 1.43; на смену Endpoints API приходит EndpointSlices.
За год немало функций дошло до стабильной версии, и часть привычных подходов пора обновить.
Теперь ресурсы пода можно менять на ходу: с версии 1.35 процессор и память настраиваются без перезапуска, что сильно упрощает настройку под нагрузку. Изменился и способ выделения оборудования — под может просто описать, какой GPU нужен, а планировщик сам подберёт подходящий, что особенно удобно для AI-задач. Вспомогательные контейнеры получили понятный жизненный цикл, так что обходные решения для service mesh и агентов Vault больше не нужны.
В релизе 1.36 усилили безопасность: root внутри контейнера теперь сопоставляется с обычным пользователем на узле, а правила изменения объектов можно задавать прямо в кластере, без отдельного сервиса.
И о чём стоит помнить перед обновлением: Ingress NGINX закрыт с марта 2026 — присмотритесь к Gateway API; поле externalIPs в Service устарело и будет удалено в версии 1.43; на смену Endpoints API приходит EndpointSlices.
👍1
Бэкапы есть почти у всех. А вот быстро поднять систему после падения умеют немногие. Данные могут быть целы, но если восстановление инфраструктуры занимает часы, бизнес всё равно простаивает. Копия хранит информацию, а вот вернуть сервис в работу она сама по себе не может, это отдельная задача.
В новой статье на Tproger смотрим, как выстроить аварийное восстановление (DRaaS — Disaster Recovery as a Service) заранее, а не собирать его на ходу в момент сбоя. Внутри: чем DRaaS отличается от обычного резервного копирования, что стоит за метриками RTO и RPO (за сколько нужно поднять сервис и какой объём данных допустимо потерять), и как пошагово настроить репликацию VMware — от сетей до переключения и обратного возврата.
И главное: у плана восстановления есть срок годности. Если его не прогоняли полгода, в реальной аварии он может повести себя не так, как записано на бумаге. А когда вы в последний раз проверяли свой план восстановления?
В новой статье на Tproger смотрим, как выстроить аварийное восстановление (DRaaS — Disaster Recovery as a Service) заранее, а не собирать его на ходу в момент сбоя. Внутри: чем DRaaS отличается от обычного резервного копирования, что стоит за метриками RTO и RPO (за сколько нужно поднять сервис и какой объём данных допустимо потерять), и как пошагово настроить репликацию VMware — от сетей до переключения и обратного возврата.
И главное: у плана восстановления есть срок годности. Если его не прогоняли полгода, в реальной аварии он может повести себя не так, как записано на бумаге. А когда вы в последний раз проверяли свой план восстановления?
🤔1
Вышел Podman 6.0. Можно сказать, что это cleanup-релиз — в нём отказались от нескольких устаревших слоёв: cgroups v1, iptables, CNI, slirp4netns и BoltDB. Теперь обязательны cgroups v2, nftables, Netavark, Pasta и SQLite. Заодно закрыли уязвимость CVE-2026-57231 (вредоносный образ мог получать переменные окружения хоста) и включили изоляцию сети по умолчанию.
Если вдруг забыли или не сталкивались, расскажу о нём. Podman — open-source утилита для управления OCI-образами, контейнерами и подами. По сути, он очень похож на Docker, прекрасно с ним совместим, но работает без демона и не обязательно от root, при этом дружит с Kubernetes. В общем, стоит взглянуть — инструмент интересный!
@devo_pes
Если вдруг забыли или не сталкивались, расскажу о нём. Podman — open-source утилита для управления OCI-образами, контейнерами и подами. По сути, он очень похож на Docker, прекрасно с ним совместим, но работает без демона и не обязательно от root, при этом дружит с Kubernetes. В общем, стоит взглянуть — инструмент интересный!
@devo_pes
GitHub
Release v6.0.0 · podman-container-tools/podman
Security
This release addresses CVE-2026-57231, where a malicious image using malformed Env entries could cause host environment variables to leak into containers run based on the image, including...
This release addresses CVE-2026-57231, where a malicious image using malformed Env entries could cause host environment variables to leak into containers run based on the image, including...
👍2❤1
Cilium стал дефолтным CNI в EKS: что делать с eBPF
В 2026 году eBPF окончательно перешёл из категории «попробовать в лабе» в инфраструктурный стандарт: AWS выбрала Cilium дефолтным CNI для EKS, проект вышел из инкубационной стадии CNCF, а ядро 6.x стабилизировало основные возможности. Cilium на eBPF обгоняет iptables по throughput на 30–40% и умеет L7-политики, пишет автор.
Что делать сейчас. На новых кластерах оцените Cilium вместо flannel/calico+iptables. На нодах проверьте ядро —
В 2026 году eBPF окончательно перешёл из категории «попробовать в лабе» в инфраструктурный стандарт: AWS выбрала Cilium дефолтным CNI для EKS, проект вышел из инкубационной стадии CNCF, а ядро 6.x стабилизировало основные возможности. Cilium на eBPF обгоняет iptables по throughput на 30–40% и умеет L7-политики, пишет автор.
Что делать сейчас. На новых кластерах оцените Cilium вместо flannel/calico+iptables. На нодах проверьте ядро —
uname -r не ниже 5.8, иначе часть функций недоступна, а CentOS 7/RHEL 7 не поддерживаются. Для безопасности разверните Tetragon: он ловит аномалии на уровне ядра и убивает процесс раньше, чем среагирует userspace.DEV Community
eBPF in 2026: The Kernel Revolution Powering Cloud-Native Security and Observability
eBPF in 2026: The Kernel Revolution Powering Cloud-Native Security and...
👍5🔥2🐳1
DNS в Kubernetes ломается пятью способами. Вот чек-лист, чтобы найти нужный за три минуты
Если под в k8s не достаёт базу, а Service и Endpoints в порядке, подозревайте DNS. Разбор на Kubenatives описывает путь запроса: приложение читает
Сначала проверьте поды CoreDNS через
Остальные три причины и команды для каждой — в исходном материале.
Если под в k8s не достаёт базу, а Service и Endpoints в порядке, подозревайте DNS. Разбор на Kubenatives описывает путь запроса: приложение читает
/etc/resolv.conf и идёт на ClusterIP CoreDNS, обычно 10.96.0.10.Сначала проверьте поды CoreDNS через
kubectl get pods с селектором k8s-app=kube-dns. Если они живы, смотрите ndots:5 и поисковые домены в /etc/resolv.conf — именно эта комбинация часто порождает лишние запросы и 5-секундные таймауты.Остальные три причины и команды для каждой — в исходном материале.
❤4
Docker: namespaces и cgroups
Когда контейнер падает с OOMKilled или порт не пробрасывается, не нужно гадать: это обычный Linux-процесс, который ядро ограничивает двумя механизмами. Namespaces дают ему изолированный вид — свой PID 1, таблицу маршрутизации и интерфейсы, mount-точки. Cgroups выставляют жёсткие лимиты на CPU, память и I/O, чтобы один контейнер не уложил хост.
Посмотреть на изоляцию помогает
Понимание этих двух механизмов спасает от «почему работает локально, а в проде падает». При инциденте смотрите сначала на них, а не на приложение. Разбор на dev.to.
Когда контейнер падает с OOMKilled или порт не пробрасывается, не нужно гадать: это обычный Linux-процесс, который ядро ограничивает двумя механизмами. Namespaces дают ему изолированный вид — свой PID 1, таблицу маршрутизации и интерфейсы, mount-точки. Cgroups выставляют жёсткие лимиты на CPU, память и I/O, чтобы один контейнер не уложил хост.
Посмотреть на изоляцию помогает
unshare. Docker связывает контейнер через veth: один конец на мосте docker0, другой в namespace. За лимитами отвечают cgroups, которые Docker задаёт через docker run.Понимание этих двух механизмов спасает от «почему работает локально, а в проде падает». При инциденте смотрите сначала на них, а не на приложение. Разбор на dev.to.
👍1