Всем DevOps! Сегодня по плану у нас свежий дайджест новостей:
🟡 Выпустили Linux 6.16
В воскресенье вышел релиз ядра версии 6.16. В новой версии было внесено 15 924 исправлений, среди которых: удаление протокола
Полный список изменений — тут.
⚫️ Kubernetes рассказали чего ожидать в версии 1.34
Скоро выйдет Kubernetes v1.34 — релиз запланирован на 27 августа 2025 года. В новую версию войдут изменения связанные с Dynamic Resource Allocation для работы с GPU и нестандартным оборудованием, появится
Эти и другие фичи можно посмотреть в анонсе.
🟡 Docker прекращают поддержку Content Trust с 8 августа 2025 года
Docker объявил о прекращении поддержки Docker Content Trust — устаревшего механизма проверки контейнерных образов. Пользователям советуют переходить на современные решения для подписания и верификации, такие как Sigstore и Notation. Рекомендуется убрать переменную
⚫️ Крис Ричардсон выпустил третью часть серии об аутентификации и авторизации в микросервисной архитектуре. Главная тема этой статьи — авторизация с использованием JWT-токенов. Крис подробно разбирает, как сервисы принимают решения об уровне доступа пользователя, откуда получают нужные данные и какие существуют архитектурные стратегии: включать данные в токен, запрашивать по API, реплицировать или делегировать отдельному сервису.
#devops #linux #microservices #kubernetes #docker
🟡 Выпустили Linux 6.16
В воскресенье вышел релиз ядра версии 6.16. В новой версии было внесено 15 924 исправлений, среди которых: удаление протокола
DCCP, добавление драйвера ovpn для повышения производительности работы OpenVPN; внедрение механизма Kexec HandOver для запуска нового ядра из старого без потери состояния системы; оптимизации в Ext4 и многое другое.Полный список изменений — тут.
⚫️ Kubernetes рассказали чего ожидать в версии 1.34
Скоро выйдет Kubernetes v1.34 — релиз запланирован на 27 августа 2025 года. В новую версию войдут изменения связанные с Dynamic Resource Allocation для работы с GPU и нестандартным оборудованием, появится
podReplacementPolicy в Deployments для настройки запуска новых подов при обновлении и добавят поддержку KYAML — упрощенной версии YAML созданной специально для Kubernetes. Эти и другие фичи можно посмотреть в анонсе.
🟡 Docker прекращают поддержку Content Trust с 8 августа 2025 года
Docker объявил о прекращении поддержки Docker Content Trust — устаревшего механизма проверки контейнерных образов. Пользователям советуют переходить на современные решения для подписания и верификации, такие как Sigstore и Notation. Рекомендуется убрать переменную
DOCKER_CONTENT_TRUST=1, чтобы избежать сбоев при загрузке образов. ⚫️ Крис Ричардсон выпустил третью часть серии об аутентификации и авторизации в микросервисной архитектуре. Главная тема этой статьи — авторизация с использованием JWT-токенов. Крис подробно разбирает, как сервисы принимают решения об уровне доступа пользователя, откуда получают нужные данные и какие существуют архитектурные стратегии: включать данные в токен, запрашивать по API, реплицировать или делегировать отдельному сервису.
#devops #linux #microservices #kubernetes #docker
👍5❤3🔥2
Выкатываем срединедельный дайджест новостей и статей на DevOps FM!
🟡 Утечка данных в Debian 13:
Пользователи обнаружили серьёзную проблему с конфиденциальностью в репозитории будущего Debian 13. Через пакет
Достаточно просто выделить слово в любом окне, и оно автоматически уходит на серверы словарей dict.youdao.com и dict.cn без шифрования по протоколу HTTP. Это может привести к утечке личных данных и паролей, но поведение воспроизводится только на базе протокола X11, в окружениях Wayland действует изоляция.
Разработчики заявили, что это ожидаемое поведение. Если вас оно не устраивает — отключайте сетевые словари и функцию автоматического поиска при выделении. Что интересно, в 2009 году уже была подобная уязвимость и работу по-умолчанию в ней отключили.
⚫️ Docker опубликовали статью о подводных камнях использования защищённых контейнерных образов.
Hardened образы упрощают эксплуатацию и уменьшают поверхность атак, но на практике часто вступают в конфликт с реальными потребностями разработчиков и DevOps-инженеров. В материале рассказывается, как найти баланс между безопасностью, удобством и гибкостью, а так же почему «идеальная» защита может навредить. Читать — по ссылке.
🟡 CNCF поделились результатами отчёта Voice of Kubernetes Experts 2025. Это масштабное исследование среди 500+ экспертов, ответственных за внедрение Kubernetes в крупных компаниях. Из интересного:
• 82% компаний планируют разрабатывать новые приложения на cloud native-платформах;
• 87% используют гибридные облака для гибкости, экономии и снижения зависимости от одного вендора;
• Больше половины опрошенных запускают важные приложения с высокими требованиями к отказоустойчивости и доступности — в контейнерах;
• Основные проблемы, с которыми сталкиваются респонденты: безопасность (72%), наблюдаемость (51%) и отказоустойчивость (35%).
Подробнее — в отчёте.
⚫️ На System Design Codex опубликовали небольшую шпаргалку по метрикам производительности систем. Автор подчёркивает, что архитектура и технологии — лишь часть успеха, а вот показатели вроде пропускной способности, масштабируемости и других метрик дают конкретные ориентиры для оценки качества системы. В статье объясняется каждая метрика, как её измерять и улучшать, а так же практические советы по оптимизации.
#devops #debian #docker #kubernetes
🟡 Утечка данных в Debian 13:
StarDict передаёт выделенный текст на внешние сервераПользователи обнаружили серьёзную проблему с конфиденциальностью в репозитории будущего Debian 13. Через пакет
StarDict, реализующий интерфейс для поиска в словарях, приложение отправляет любой выделенный фрагмент на внешние серверы. Достаточно просто выделить слово в любом окне, и оно автоматически уходит на серверы словарей dict.youdao.com и dict.cn без шифрования по протоколу HTTP. Это может привести к утечке личных данных и паролей, но поведение воспроизводится только на базе протокола X11, в окружениях Wayland действует изоляция.
Разработчики заявили, что это ожидаемое поведение. Если вас оно не устраивает — отключайте сетевые словари и функцию автоматического поиска при выделении. Что интересно, в 2009 году уже была подобная уязвимость и работу по-умолчанию в ней отключили.
⚫️ Docker опубликовали статью о подводных камнях использования защищённых контейнерных образов.
Hardened образы упрощают эксплуатацию и уменьшают поверхность атак, но на практике часто вступают в конфликт с реальными потребностями разработчиков и DevOps-инженеров. В материале рассказывается, как найти баланс между безопасностью, удобством и гибкостью, а так же почему «идеальная» защита может навредить. Читать — по ссылке.
🟡 CNCF поделились результатами отчёта Voice of Kubernetes Experts 2025. Это масштабное исследование среди 500+ экспертов, ответственных за внедрение Kubernetes в крупных компаниях. Из интересного:
• 82% компаний планируют разрабатывать новые приложения на cloud native-платформах;
• 87% используют гибридные облака для гибкости, экономии и снижения зависимости от одного вендора;
• Больше половины опрошенных запускают важные приложения с высокими требованиями к отказоустойчивости и доступности — в контейнерах;
• Основные проблемы, с которыми сталкиваются респонденты: безопасность (72%), наблюдаемость (51%) и отказоустойчивость (35%).
Подробнее — в отчёте.
⚫️ На System Design Codex опубликовали небольшую шпаргалку по метрикам производительности систем. Автор подчёркивает, что архитектура и технологии — лишь часть успеха, а вот показатели вроде пропускной способности, масштабируемости и других метрик дают конкретные ориентиры для оценки качества системы. В статье объясняется каждая метрика, как её измерять и улучшать, а так же практические советы по оптимизации.
#devops #debian #docker #kubernetes
👍6🔥5❤1
Как закрывать риски при смешанных сценариях работы — от трафика до AI-агентов
Сегодня в подборке — практические разборы, где безопасность не отделена от инфраструктуры и масштаба.
🟡 Cloudflare включает защиту без ручных политик
Автоматическое укрепление трафика срабатывает, когда поведение запросов меняется. Не нужно вспоминать про WAF, настраивать исключения или проверять релизы. Подходит командам, где инфраструктура часто обновляется или безопасность не ведётся отдельно.
⚫️ OpenShift и Palo Alto Networks убирают разрыв между VM и контейнерами
Когда Kubernetes и виртуалки живут параллельно, политики безопасности расходятся. Интеграция даёт единый контроль трафика, общие правила и подключение внешней аналитики угроз. Это снижает риск “белых пятен” в сети и облегчает аудит.
🟡 AI-скрейпинг выходит за рамки вспомогательных задач
Авторы разбирают, когда выгодно строить свой стек и когда проще взять готовый сервис. Главный акцент — на утечках, отсутствии контроля запросов и несоответствии нормам, если агенты работают в фоне. Полезно тем, кто запускает LLM-интеграции или аналитику на внешних данных.
#security #cloud #kubernetes #openshift #ai
Сегодня в подборке — практические разборы, где безопасность не отделена от инфраструктуры и масштаба.
🟡 Cloudflare включает защиту без ручных политик
Автоматическое укрепление трафика срабатывает, когда поведение запросов меняется. Не нужно вспоминать про WAF, настраивать исключения или проверять релизы. Подходит командам, где инфраструктура часто обновляется или безопасность не ведётся отдельно.
⚫️ OpenShift и Palo Alto Networks убирают разрыв между VM и контейнерами
Когда Kubernetes и виртуалки живут параллельно, политики безопасности расходятся. Интеграция даёт единый контроль трафика, общие правила и подключение внешней аналитики угроз. Это снижает риск “белых пятен” в сети и облегчает аудит.
🟡 AI-скрейпинг выходит за рамки вспомогательных задач
Авторы разбирают, когда выгодно строить свой стек и когда проще взять готовый сервис. Главный акцент — на утечках, отсутствии контроля запросов и несоответствии нормам, если агенты работают в фоне. Полезно тем, кто запускает LLM-интеграции или аналитику на внешних данных.
#security #cloud #kubernetes #openshift #ai
👍4🔥4❤2
Восстановление служб в автоматическом режиме – обнаружение инцидентов и исправление проблем без ручного вмешательства. Автоматизация операционных процессов решает проблему заполнению томов, снижает количество ошибок расширения PVC и ликвидирует сбои узлов.
Что внедрить первым?
- Экспорт метрик и базовые алерты в тестовом namespace.
- Оператор расширения дискового пространства в dry-run с трассировкой действий.
- Сценарии отказов в staging: full-disk, failed-resize, node-failure.
Что проверить?
- Snapshots перед изменениями.
- Ограничение параллельных операций.
- Метрики эффективности: MTTR, число автопочиненных инцидентов, вмешательств оператора.
📎 Совет: встраивайте автоматизацию с runbooks и audit-логами рядом — так автоматические действия остаются прозрачными и воспроизводимыми. Читайте весь гайд по ссылке.
• Draino — оператор от Planet Labs, который автоматически изолирует и очищает (cordon/drain) узлы Kubernetes, когда они переходят в неработоспособное состояние.
• Volume Expander Operator — проект от Red Hat COP для автоматического расширения Persistent Volumes при достижении порога заполнения.
#devops #kubernetes #storage #autoremediation
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥6❤3
Привет! Вы в DevOps FM 🚀
Канал про DevOps, администрирование и людей, которые это совершенствуют👍
Наши рубрики:
- Понедельник — Познавательные (#tools #opensource)
- Среда — Информационные дайджесты (#kubernetes #docker)
- Пятница — Развлекательное / пятничное чтиво (#debugging #podcasts)
- Каждые 2 недели — «Партнёр недели» (#партнёрский_пост)
💡 Совет: используйте хештеги для поиска по интересующим темам.
Например, #postgresql, #security, #architecture
Канал про DevOps, администрирование и людей, которые это совершенствуют
Наши рубрики:
- Понедельник — Познавательные (#tools #opensource)
- Среда — Информационные дайджесты (#kubernetes #docker)
- Пятница — Развлекательное / пятничное чтиво (#debugging #podcasts)
- Каждые 2 недели — «Партнёр недели» (#партнёрский_пост)
💡 Совет: используйте хештеги для поиска по интересующим темам.
Например, #postgresql, #security, #architecture
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤5🏆3🔥1
Авто-ресурсы в Kubernetes, Pulumi NEO и Google MCP: инфраструктура на автопилоте
🔔 Всем срединедельный DevOps! Обсудим свежие апдейты авто-выделения ресурсов в K8s и инструментов GitOps. Полезно тем, кто хочет меньше крутить кластеры вручную.
🟡 Kubernetes 1.34 и динамическое выделение ресурсов
В версии Kubernetes 1.34 кластер сам подбирает ресурсы GPU, CPU и I/O под конкретные задачи — без необходимости заранее прописывать лимиты в PodSpec. Теперь через API можно запрашивать устройства с нужными параметрами (тип GPU, версия CUDA, объём памяти) — и Kubernetes подберёт подходящее оборудование.
Это снижает долю простаивающих ресурсов, особенно при ML- и AI-нагрузках, где требования к железу меняются на лету.
⚫️ Pulumi NEO упрощает GitOps
Pulumi NEO читает IaC-код, сам формирует план изменений инфраструктуры, проверяет его через Policy as Code и применяет. Он понимает зависимости, окружения и может откатывать изменения без ручного kubectl apply. Полезен, когда GitOps-потоки разрастаются, а ручное управление окружениями тормозит релизы.
🟡 Google MCP для баз данных
Google представил MCP Toolbox — серверный набор инструментов, который реализует MCP для безопасной автоматизации доступа к базам данных. SQL-операции задаются декларативно в
#DevOps #Kubernetes #SRE
🟡 Kubernetes 1.34 и динамическое выделение ресурсов
В версии Kubernetes 1.34 кластер сам подбирает ресурсы GPU, CPU и I/O под конкретные задачи — без необходимости заранее прописывать лимиты в PodSpec. Теперь через API можно запрашивать устройства с нужными параметрами (тип GPU, версия CUDA, объём памяти) — и Kubernetes подберёт подходящее оборудование.
Это снижает долю простаивающих ресурсов, особенно при ML- и AI-нагрузках, где требования к железу меняются на лету.
⚫️ Pulumi NEO упрощает GitOps
Pulumi NEO читает IaC-код, сам формирует план изменений инфраструктуры, проверяет его через Policy as Code и применяет. Он понимает зависимости, окружения и может откатывать изменения без ручного kubectl apply. Полезен, когда GitOps-потоки разрастаются, а ручное управление окружениями тормозит релизы.
🟡 Google MCP для баз данных
Google представил MCP Toolbox — серверный набор инструментов, который реализует MCP для безопасной автоматизации доступа к базам данных. SQL-операции задаются декларативно в
tools.yaml , а MCP управляет подключениями, пулами и правами доступа. Поддерживает Cloud SQL, AlloyDB, Spanner, PostgreSQL и MySQL. Система следит за нагрузкой, масштабирует кластеры и перестраивает схемы без ручного вмешательства DBA. Ещё один шаг к инфраструктуре, где всё крутится само.#DevOps #Kubernetes #SRE
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥5❤2
Kubernetes под микроскопом: как SPO видит действия пользователей
👩💻 Всем DevOps! Сегодня поговорим о том, как отслеживать, что происходит внутри контейнеров в Kubernetes. В стандартной конфигурации Kubernetes аудит фиксирует только действия на уровне API: кто применил
🔄 Принцип работы
SPO использует системные источники данных — например,
🔓 Как включить Security Profiles Operator?
- Установите cert-manager
Он нужен для автоматического управления сертификатами, используемыми SPO.
- Разверните Security Profiles Operator
Используйте официальный манифест из подборки репозиториев.
- Настройте хранение логов
SPO может сохранять логи: локально на узле (по умолчанию в
- Включите JSON Enricher
Он обогащает события дополнительной информацией о процессе.
- Настройте seccomp-профиль для отслеживания системных вызовов
Он фиксирует вызовы вроде
📎Репозитории с инструкциями по установке:
audit-logging-guide — описывает, как включить аудит действий внутри pod’ов и узлов через Security Profiles Operator.
installation-usage — показывает, как установить Security Profiles Operator и применить seccomp-профили к pod’ам.
С SPO вы поймете, что произошло, почему и кем было сделано — без лишней нагрузки и сложных интеграций.
#devops #kubernetes #spo
kubectl exec или kubectl debug. Что именно происходило внутри pod’а после входа в контейнер увидеть нельзя. Эту проблему решает Security Profiles Operator (SPO) — отслеживайте действия пользователей и процессов внутри pod’ов и на узлах.SPO использует системные источники данных — например,
/var/log/audit/audit.log и /proc/<pid>. Каждое событие записывается в JSON-формате, а JSON Enricher связывает его с соответствующим API-запросом через request UID. Это позволяет восстановить полную цепочку: API-запрос → контейнер → процесс → результат- Установите cert-manager
Он нужен для автоматического управления сертификатами, используемыми SPO.
- Разверните Security Profiles Operator
Используйте официальный манифест из подборки репозиториев.
- Настройте хранение логов
SPO может сохранять логи: локально на узле (по умолчанию в
/var/log/security-profiles-operator/ ), в общем томе (PVC), или выводить в stdout — удобно для интеграции с системами сбора логов вроде Loki или Elasticsearch;- Включите JSON Enricher
Он обогащает события дополнительной информацией о процессе.
- Настройте seccomp-профиль для отслеживания системных вызовов
Он фиксирует вызовы вроде
execve и clone, а объект ProfileBinding применяет профиль ко всем pod’ам в выбранном пространстве имён ( namespace ).📎Репозитории с инструкциями по установке:
audit-logging-guide — описывает, как включить аудит действий внутри pod’ов и узлов через Security Profiles Operator.
installation-usage — показывает, как установить Security Profiles Operator и применить seccomp-профили к pod’ам.
С SPO вы поймете, что произошло, почему и кем было сделано — без лишней нагрузки и сложных интеграций.
#devops #kubernetes #spo
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍11🔥5❤4
Helm исполнилось 10 лет!
🔅 Это повод вспомнить, как всё начиналось.
Идея родилась во время хакатона: за полтора дня Мэтт Бутчер создал CLI-утилиту для взаимодействия с Kubernetes, Джэк Норман разработал серверный прототип менеджера пакетов k8space, а Римантас Моцевичюс подготовил первый чарт — набор шаблонов YAML.
19 октября 2015 года был сделан первый коммит. Так появился внутренний проект Helm Classic, который объединили с Google Deployment Manager. После этого появился Helm, знакомый нам сегодня.
За десять лет инструмент прошёл путь от прототипа до полноценной экосистемы с поддержкой:
• чартов (пакетов с шаблонами YAML)
• системы репозиториев и версионирования
• шаблонизации и параметров конфигурации
• управления релизами и откатами
• интеграции в CI/CD
В 2018 году проект вошёл в состав CNCF и продолжил развиваться как одно из ключевых решений для cloud-native инфраструктур.
О названии.
🖼️ Выбор был сделан не случайно: helm – «штурвал». Kubernetes казался штормовым морем, а инструмент – помощником в управлении.
Для тех, кто любит погружаться в историю – советуем прочесть очерк сооснователя, путь от альфы до v4 Beta Glory.
Хороших выходных и спокойного дежурства! ⚓️
#devops #kubernetes #helm
Идея родилась во время хакатона: за полтора дня Мэтт Бутчер создал CLI-утилиту для взаимодействия с Kubernetes, Джэк Норман разработал серверный прототип менеджера пакетов k8space, а Римантас Моцевичюс подготовил первый чарт — набор шаблонов YAML.
19 октября 2015 года был сделан первый коммит. Так появился внутренний проект Helm Classic, который объединили с Google Deployment Manager. После этого появился Helm, знакомый нам сегодня.
За десять лет инструмент прошёл путь от прототипа до полноценной экосистемы с поддержкой:
• чартов (пакетов с шаблонами YAML)
• системы репозиториев и версионирования
• шаблонизации и параметров конфигурации
• управления релизами и откатами
• интеграции в CI/CD
В 2018 году проект вошёл в состав CNCF и продолжил развиваться как одно из ключевых решений для cloud-native инфраструктур.
О названии.
Для тех, кто любит погружаться в историю – советуем прочесть очерк сооснователя, путь от альфы до v4 Beta Glory.
Хороших выходных и спокойного дежурства! ⚓️
#devops #kubernetes #helm
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍9❤5
Docker vs. Kubernetes — от изолированных контейнеров к единой среде
🔄 Сегодня разбираем, почему одного контейнера недостаточно для обмена данными между процессами внутри Pod.
Контейнер запускает приложение как отдельный процесс: отдельный сетевой стек (IP, интерфейсы и маршруты), своё PID-пространство и управление ресурсами через cgroups (CPU и память). Эти механизмы изолируют и сохраняют предсказуемость работы — один процесс, один контейнер.
На практике несколько процессов работают параллельно, обмениваются данными и используют общие ресурсы. Например, основной контейнер выполняет приложение, а вспомогательный (sidecar) собирает логи, проксирует трафик или ведёт метрики.
📱 В статье от iximiuz Labs дан подробный разбор того, как Kubernetes реализует Pods на уровне Linux и можно ли воспроизвести функциональность Pod в чистом Docker.
Спойлер: можно, если вручную подключить сетевые и IPC namespace, но не всё получится — UTS, например, остаётся изолированным.
Полный разбор здесь⬅️ , а ниже — практика от iximiuz Labs
• Run a Sidecar Container in the Namespace of Another Container— проверь, как контейнеры делят namespace, как в Pod.
• Limit CPU and Memory Usage of a Docker Compose Application — узнай, как задать лимиты CPU и памяти через cgroups.
#devops #kubernetes #containers #pods
Контейнер запускает приложение как отдельный процесс: отдельный сетевой стек (IP, интерфейсы и маршруты), своё PID-пространство и управление ресурсами через cgroups (CPU и память). Эти механизмы изолируют и сохраняют предсказуемость работы — один процесс, один контейнер.
На практике несколько процессов работают параллельно, обмениваются данными и используют общие ресурсы. Например, основной контейнер выполняет приложение, а вспомогательный (sidecar) собирает логи, проксирует трафик или ведёт метрики.
Спойлер: можно, если вручную подключить сетевые и IPC namespace, но не всё получится — UTS, например, остаётся изолированным.
Полный разбор здесь
• Run a Sidecar Container in the Namespace of Another Container— проверь, как контейнеры делят namespace, как в Pod.
• Limit CPU and Memory Usage of a Docker Compose Application — узнай, как задать лимиты CPU и памяти через cgroups.
#devops #kubernetes #containers #pods
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4🔥4
Пятничная подборка: Jupyter, оптимизация ИИ-нагрузок в Kubernetes и облачные тренды
Сегодня в эфире подборка подкастов, в которых эксперты обсуждают эволюцию Project Jupyter, распределение расходов ИИ-сервисов в новой версии Kubernetes, тренды ИИ в облаке.
⏺ DOP 324:Kubernetes Resource Right-Sizing and Scaling with Zesty
Приглашенный гость Омар Хамерман, IT-архитектор Zesty.co, совместно с ведущими Дарином Поупом и Виктором Фарциком говорят о возможностях управления нагрузками ИИ в Kubernetes версии 1.33. Основное внимание уделяют автоматическому масштабированию. Послушать можно здесь.
⏺ From Physics to the Future: Brian Granger on Project Jupyter in the Age of AI
Брайн Грэнджер совместно с главным редактором издания The New Stack (TNS) рассмотрели развитие архитектуры Jupyter, построенной на модульных и расширяемых компонентах, роль ИИ-агентов в разработке приложения. Больше подробностей тут.
⏺ The CloudCast: AI & Cloud Trends for October 2025
Брайн Грэйсли и Брэндон Уичард разобрали тренды за последний месяц: анонсы от провайдеров, изменения в экосистемах OpenAI и вопросы безопасности облачной инфраструктуры. Подробнее здесь.
🔈 Желаем приятного прослушивания и дежурств без алертов!
#kubernetes #jupyter #cloud #подкасты
Сегодня в эфире подборка подкастов, в которых эксперты обсуждают эволюцию Project Jupyter, распределение расходов ИИ-сервисов в новой версии Kubernetes, тренды ИИ в облаке.
Приглашенный гость Омар Хамерман, IT-архитектор Zesty.co, совместно с ведущими Дарином Поупом и Виктором Фарциком говорят о возможностях управления нагрузками ИИ в Kubernetes версии 1.33. Основное внимание уделяют автоматическому масштабированию. Послушать можно здесь.
Брайн Грэнджер совместно с главным редактором издания The New Stack (TNS) рассмотрели развитие архитектуры Jupyter, построенной на модульных и расширяемых компонентах, роль ИИ-агентов в разработке приложения. Больше подробностей тут.
Брайн Грэйсли и Брэндон Уичард разобрали тренды за последний месяц: анонсы от провайдеров, изменения в экосистемах OpenAI и вопросы безопасности облачной инфраструктуры. Подробнее здесь.
#kubernetes #jupyter #cloud #подкасты
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥6❤4👍4
Good practices: конфигурации в Kubernetes
Конфигурации – основа рабочей нагрузки Kubernetes. Опытные инженеры знают, что достаточно пропущенной кавычки, неактуальной API-версии или смещённого отступа в YAML для возникновения проблемы при деплое. Представляем подборку good practices с советами по стабилизации кластера — для новичков и опытных пользователей. Подробнее читайте здесь.👀
Общие practices:
⏺ Используйте актуальную версию API
Kubernetes быстро развивается и обновляется. Менее актуальные API не работают корректно и приводят к сбоям при деплое. Проверяйте версию API, используя следующую команду:
⏺ Храните конфиги под версионным контролем
Не применяйте файлы манифеста с десктопа, храните их в системе контроля версий, например, в Git. Если что-то сломается – вы быстро откатитесь к прошлому коммиту.
⏺ Пишите конфиги в YAML, не в JSON
Технически работают оба формата для обмена и хранения данных, но YAML более удобен, по словам автора. В YAML используйте только true/false, т.к. yes/no/on/off могут парситься по-разному. Для надёжности берите в кавычки всё, что похоже на булево значение (например, "yes").
⏺ Группируйте связанные объекты
Если ресурсы – часть одного сервиса, храните их в одном файле YAML-манифеста. Так легче отслеживать, ревьювить и разворачивать изменения.
Применяйте эту команду, чтобы задеплоить всё в папке:
🚀 Стандартизированные конфигурации упрощают управление кластером и берегут нервы администратора. Следуйте базовым принципам: контроль версий, единая система меток, отказ от использования отдельных Pod-ов без контроллеров. Так, вы значительно сократите время на диагностику и устранение ошибок.
#kubernetes #k8s #clustermanagment #devops
Конфигурации – основа рабочей нагрузки Kubernetes. Опытные инженеры знают, что достаточно пропущенной кавычки, неактуальной API-версии или смещённого отступа в YAML для возникновения проблемы при деплое. Представляем подборку good practices с советами по стабилизации кластера — для новичков и опытных пользователей. Подробнее читайте здесь.
Общие practices:
Kubernetes быстро развивается и обновляется. Менее актуальные API не работают корректно и приводят к сбоям при деплое. Проверяйте версию API, используя следующую команду:
kubectl api-resources
Не применяйте файлы манифеста с десктопа, храните их в системе контроля версий, например, в Git. Если что-то сломается – вы быстро откатитесь к прошлому коммиту.
Технически работают оба формата для обмена и хранения данных, но YAML более удобен, по словам автора. В YAML используйте только true/false, т.к. yes/no/on/off могут парситься по-разному. Для надёжности берите в кавычки всё, что похоже на булево значение (например, "yes").
Если ресурсы – часть одного сервиса, храните их в одном файле YAML-манифеста. Так легче отслеживать, ревьювить и разворачивать изменения.
Применяйте эту команду, чтобы задеплоить всё в папке:
kubectl apply -f configs/
#kubernetes #k8s #clustermanagment #devops
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍4🔥3
Где тонко – там ChatGPT, где Docker – там патч
Из срочного – сообщаем о массовом сбое в работе ChatGPT 2 декабря. Пользователи из США, Канады, Великобритании, Индии и других стран направили запросы о превышении времени ожидания ответов в приложении в 22:11 Мск. Уже через час проблему устранили, но с чем были связаны неполадки до сих пор неизвестно.
⏺ Анонс Kubernetes v1.35
В сникпике версии v1.35 Kubernetes прекращает поддержку cgroup v1, ipvs в kube-proxy и containerd 1.x, что требует обновления инфраструктуры для корректной работы кластера. Релиз включает в себя in-place обновление ресурсов подов, node declared features, расширенные возможности taints, user namespaces и нативное управление сертификатами подов, повышающие безопасность и надёжность.
⏺ GitLab Patch Release: 18.6.1, 18.5.3, 18.4.5
Патч-релизы GitLab устранят множество багов и уязвимостей, поэтому рекомендуем обновиться. Среди исправлений – небезопасная многопоточность при кешировании CI/CD, DoS-уязвимости валидации JSON, проблема обхода аутентификации при регистрации.
⏺ Docker и CVE-2025-12735.
Docker устранили критическую уязвимость CVE-2025-12735 (удалённое выполнение кода в Kibana). Команда не только выпустила патч для пользователей, но и внесла исправление в LangChain.js в upstream, чем повысила безопасность для всех проектов, использующих эту библиотеку. Такой подход направлен на защиту всей экосистемы.
#kubernetes #gitlab #docker #chatgpt
Из срочного – сообщаем о массовом сбое в работе ChatGPT 2 декабря. Пользователи из США, Канады, Великобритании, Индии и других стран направили запросы о превышении времени ожидания ответов в приложении в 22:11 Мск. Уже через час проблему устранили, но с чем были связаны неполадки до сих пор неизвестно.
В сникпике версии v1.35 Kubernetes прекращает поддержку cgroup v1, ipvs в kube-proxy и containerd 1.x, что требует обновления инфраструктуры для корректной работы кластера. Релиз включает в себя in-place обновление ресурсов подов, node declared features, расширенные возможности taints, user namespaces и нативное управление сертификатами подов, повышающие безопасность и надёжность.
Патч-релизы GitLab устранят множество багов и уязвимостей, поэтому рекомендуем обновиться. Среди исправлений – небезопасная многопоточность при кешировании CI/CD, DoS-уязвимости валидации JSON, проблема обхода аутентификации при регистрации.
Docker устранили критическую уязвимость CVE-2025-12735 (удалённое выполнение кода в Kibana). Команда не только выпустила патч для пользователей, но и внесла исправление в LangChain.js в upstream, чем повысила безопасность для всех проектов, использующих эту библиотеку. Такой подход направлен на защиту всей экосистемы.
#kubernetes #gitlab #docker #chatgpt
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍5❤3🔥2
От values-файлов к управлению вариантами конфигураций в ConfigHub: как перестать рендерить вслепую
В этот понедельник поговорим о переходе от классического Helm-подхода с values.yaml к модели Configuration as Data, которая реализует себя в ConfigHub. Если вы всё ещё храните values.yaml для разных сред, при аварийных запросах запускаете
Как внедрить подход?
⏺ Развертывание базового окружения (Infra Space)
1. Добавляем репозиторий Helm:
2. Разворачиваем базовое окружение для инфраструктуры:
3. Устанавливаем Helm-чарт через ConfigHub:
• ConfigHub использует движок Helm для однократного рендеринга чарта.
• Результат сохраняется как материализованный, версионируемый и индексируемый артефакт (Config Unit).
⏺ Создание пространств для окружений (Spaces)
1. Создаем пространства для каждого целевого окружения:
2. В качестве альтернативы – создаем пространства через UI ConfigHub, используем кнопку [Add] на странице списка Spaces.
3. Каждое пространство будет содержать копии базовых конфигураций для конкретного окружения.
⏺ Клонирование и создание Вариантов (Variants)
Variant – это копия Config Unit, которая создается через операцию Clone.
1. Создаем Dev Variant из базового окружения:
2. Выбираем чарты в infra space.
3. Выбираем dev space как цель.
4. Нажимаем [Clone Units].
5. Создаем Prod Variant из Dev Variant аналогично.
⬆️ Так, мы получаем цепочку конфигураций:
[infra's Helm charts] → [dev's Helm charts] → [prod's Helm charts]
Аналогичную концепцию можем использовать в Kustomize. Мы начинаем с базовых ресурсов, а затем добавляем к ним «Dev Overlays».
⏺ Мгновенный доступ к конфигурациям
1. После клонирования не требуется повторный рендеринг.
2. Получаем точные манифесты для окружений:
Dev
Prod
Получаем готовый YAML, а не шаблон или переменную.
⏺ Решение сценариев «Fire Drill»
1. Так как конфигурации сохранены как данные, можно выполнять поиск и анализ без повторного рендеринга:
Поиск уязвимых образов
Поиск образов
👀 Подводные камни и что делать:
• Нативные зависимости и postinstall хуки. При рендере учитывайте, что некоторые чарты рассчитывают поведение во время выполнения. Обязательный этап – прогон тестов в staging.
• Избежание версионных конфликтов Helm чартов, за счет фиксирования версий чарта; используйте lock-файлы чарта или helmfile для управления групповыми релизами.
Делимся полезными ресурсами:
⚙️ Интеграция ConfigHub-workflow с CI/CD (build → render → store → apply), примеры для GitHub Actions/GitLab CI и рекомендации по кэшированию здесь.
❕ How-to по Variants и GitOps (ArgoCD/Flux) – синхронизация «данных-конфигураций» с Git и кластерами (Kustomize в ArgoCD), подробнее тут.
#confighub #kubernetes #helm #devops
В этот понедельник поговорим о переходе от классического Helm-подхода с values.yaml к модели Configuration as Data, которая реализует себя в ConfigHub. Если вы всё ещё храните values.yaml для разных сред, при аварийных запросах запускаете
helm template и парсите YAML – рекомендуем сменить подход. В ConfigHub реализуется модель «конфигурация как данные»: вместо того чтобы каждый раз генерировать YAML из шаблонов по запросу, вы создаёте готовый манифест один раз.Как внедрить подход?
1. Добавляем репозиторий Helm:
helm repo update
2. Разворачиваем базовое окружение для инфраструктуры:
cub space create infra
3. Устанавливаем Helm-чарт через ConfigHub:
cub helm install --space infra \
--use-placeholder=false \
--namespace monitoring \
prometheus prometheus-community/kube-prometheus-stack \
--version 79.6.1
• ConfigHub использует движок Helm для однократного рендеринга чарта.
• Результат сохраняется как материализованный, версионируемый и индексируемый артефакт (Config Unit).
1. Создаем пространства для каждого целевого окружения:
cub space create dev
cub space create prod2. В качестве альтернативы – создаем пространства через UI ConfigHub, используем кнопку [Add] на странице списка Spaces.
3. Каждое пространство будет содержать копии базовых конфигураций для конкретного окружения.
Variant – это копия Config Unit, которая создается через операцию Clone.
1. Создаем Dev Variant из базового окружения:
2. Выбираем чарты в infra space.
3. Выбираем dev space как цель.
4. Нажимаем [Clone Units].
5. Создаем Prod Variant из Dev Variant аналогично.
[infra's Helm charts] → [dev's Helm charts] → [prod's Helm charts]
Аналогичную концепцию можем использовать в Kustomize. Мы начинаем с базовых ресурсов, а затем добавляем к ним «Dev Overlays».
1. После клонирования не требуется повторный рендеринг.
2. Получаем точные манифесты для окружений:
Dev
cub unit get --space dev prometheus --data-only
Prod
cub unit get --space prod prometheus --data-only
Получаем готовый YAML, а не шаблон или переменную.
1. Так как конфигурации сохранены как данные, можно выполнять поиск и анализ без повторного рендеринга:
Поиск уязвимых образов
cub unit list --space "*" \
--resource-type monitoring.coreos.com/v1/Prometheus \
--where-data "spec.image ~ '.*registry.compromised.com.*'"
Поиск образов
cub unit list --space "*" \
--resource-type monitoring.coreos.com/v1/Prometheus \
--where-data "spec.image ~ '.*quay.io.*'"
• Нативные зависимости и postinstall хуки. При рендере учитывайте, что некоторые чарты рассчитывают поведение во время выполнения. Обязательный этап – прогон тестов в staging.
• Избежание версионных конфликтов Helm чартов, за счет фиксирования версий чарта; используйте lock-файлы чарта или helmfile для управления групповыми релизами.
Делимся полезными ресурсами:
#confighub #kubernetes #helm #devops
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍12❤5🔥4👎2
Пятничное чтиво от DevOps FM
Сегодня поговорим об инфраструктурных мелочах с большими последствиями.
👀 Что могло пойти не так, но с версией Kubernetes 1.35 будет работать корректно
• Под уверенно занял порт на хосте, а потом мы выяснили, что все процессы внутри работали как root. Хорошо, что теперь это можно настроить.
• Для распределённой задачи требуется 10 рабочих подов, а запустилось только 5. Что с этим делает Kubernetes 1.35?
• Образ на узле, ресурсов хватает, но под не стартует – kubelet проверяет наличие imagePullSecrets.
• Кластер не поднялся после обновления узлов. При чём тут cgroup v1 и релиз 1.35? Читайте в статье.
👀 5 ошибок DevOps стартапа (версия 2025)
• DevOps как набор инструментов
Контуры процессов, технический стек внедрены, а совместной ответственности и быстрой обратной связи всё ещё нет.
• Команды работают разрозненно
Разработка, эксплуатация и безопасность живут в своих мирах – потом долго ищут виноватых и чинят одно и то же.
• Гонка за скоростью без прозрачности.
Релизы частые, но без мониторинга и логов проблемы находят пользователи, а не команда.
• Ручные операции там, где давно нужна автоматизация.
Деплой «по инструкции», инфраструктура «на память», подборка ошибок – человеческих и повторяющихся.
• Безопасность на «потом»
Сканирование, политики и контроль доступа подключают после инцидента, когда уже поздно.
Подробности читайте здесь.
👀 Побойтесь DevOps-а…
Компания искала DevOps-инженера, чтобы навести порядок в инфраструктуре, и наняла специалиста с полными правами на продовые серверы. Прошло время и сотрудничество прекратили: доступы отозвали, пароли сменили, учётки заблокировали. Спустя пять дней прод внезапно упал: сервисы недоступны, логи выглядели «разорванными», массовая утечка данных. В ходе внутреннего расследования выяснили – до увольнения был создан скрытый пользователь с правами root, через VPN добавлена отложенная cron-задача на уничтожение системы, а после срабатывания последовал шантаж с требованием выкупа. Как всё закончилось? Читайте здесь.
🚀 Приятного чтения! Пусть все инциденты сегодня будут только на Habr.
#пятничноечтиво #kubernetes #devops #security
Сегодня поговорим об инфраструктурных мелочах с большими последствиями.
• Под уверенно занял порт на хосте, а потом мы выяснили, что все процессы внутри работали как root. Хорошо, что теперь это можно настроить.
• Для распределённой задачи требуется 10 рабочих подов, а запустилось только 5. Что с этим делает Kubernetes 1.35?
• Образ на узле, ресурсов хватает, но под не стартует – kubelet проверяет наличие imagePullSecrets.
• Кластер не поднялся после обновления узлов. При чём тут cgroup v1 и релиз 1.35? Читайте в статье.
• DevOps как набор инструментов
Контуры процессов, технический стек внедрены, а совместной ответственности и быстрой обратной связи всё ещё нет.
• Команды работают разрозненно
Разработка, эксплуатация и безопасность живут в своих мирах – потом долго ищут виноватых и чинят одно и то же.
• Гонка за скоростью без прозрачности.
Релизы частые, но без мониторинга и логов проблемы находят пользователи, а не команда.
• Ручные операции там, где давно нужна автоматизация.
Деплой «по инструкции», инфраструктура «на память», подборка ошибок – человеческих и повторяющихся.
• Безопасность на «потом»
Сканирование, политики и контроль доступа подключают после инцидента, когда уже поздно.
Подробности читайте здесь.
Компания искала DevOps-инженера, чтобы навести порядок в инфраструктуре, и наняла специалиста с полными правами на продовые серверы. Прошло время и сотрудничество прекратили: доступы отозвали, пароли сменили, учётки заблокировали. Спустя пять дней прод внезапно упал: сервисы недоступны, логи выглядели «разорванными», массовая утечка данных. В ходе внутреннего расследования выяснили – до увольнения был создан скрытый пользователь с правами root, через VPN добавлена отложенная cron-задача на уничтожение системы, а после срабатывания последовал шантаж с требованием выкупа. Как всё закончилось? Читайте здесь.
#пятничноечтиво #kubernetes #devops #security
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍7❤5🔥4🤔2
CPU limits в работе с Kubernetes
💬 В одном из недавних постов мы рассмотрели, как объяснить особенности Kubernetes CPU & Memory Requests, Limits по-человечески, сегодня обсудим опыт пользователей Reddit в работе с лимитами в проде. Весь тред можете прочесть здесь.
🗣 По результатам опроса, в котором приняло участие 247 человек, ~54% используют CPU limits, но с небольшими оговорками:
⏺ Чуть меньше половины опрошенных не видит смысла в CPU limits при наличии CPU requests:
Какой алгоритм работы в проде используете вы и ваши коллеги? Делитесь опытом в комментариях👀
#kubernetes #cpu #cpu_limits #cpu_requests
ThePapanoob
В вопросе не отражены нюансы. Существует множество кейсов и в некоторых действительно нужно применять CPU limits, в других они только мешают работе
lulzmachine
Обычно начинаю без них, но всегда добавляю позже. Всеми способами избегаю «шумных соседей» (поды или контейнеры, которые
потребляют много ресурсов
и мешают другим подам нормально работать на том же ноде)
Xeroxxx
Да, мы используем лимиты в проде. Requests и Limits устанавливаются одинаково. Для скейлинга используем karpenter.
romeo_pentium
CPU limits становится причиной троттлинга и неиспользованных CPU. Мы всегда можем работать с CPU requests. Преимущество в том, что контейнер не будет использовать CPU request другого контейнера.
Linux kernel троттлит ваш CPU по мере его приближения к лимиту.
Без лимитов производительность выше, и я не нашел преимуществ в их установке.
Ariquitaun
CPU limits обычно приводят к снижению производительности. Нам нужны только CPU requests для гарантии базового уровня производительности на проде.
С памятью дела обстоят по-другому – ООМ приведет к прекращению рабочих нагрузок в самое неподходящее время, а иногда к «убийству» нодов.
th0th
Я преимущественно использую requests, limits очень редко. Я предпочитаю следить за фактическим использованием и обвновлять request по необходимости.
У меня установлены алерты на превышение CPU в нодах, использовании памяти. Мне кажется, безопаснее опираться на систему оповещений, чем на последствия использования лимитов, по типу троттлинга.
Какой алгоритм работы в проде используете вы и ваши коллеги? Делитесь опытом в комментариях
#kubernetes #cpu #cpu_limits #cpu_requests
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥11👍7❤2🤔1
Сегодня разбираем, как обеспечить безопасность цепочки поставок в Docker на примере практического гайда Shamsher Khan: Advanced Docker Security: From Supply Chain Transparency to Network Defense. Подробно разберем обеспечение прозрачности цепочки поставок с помощью SBOM, спецификации ПО (Lab 07), а подробнее об установке эшелонированной защиты от DDoS и ботов (Lab 08) можете прочесть здесь.
• В 2021 инцидент с Log4Shell, ошибкой в библиотеке Log4j, указал на большую проблему современной разработки – незнание состава контейнеров.
• Кибератака SolarWinds произошла в том же году, что инцидент выше.
1. Обеспечение прозрачности цепочки поставок с помощью SBOM (Lab 07)
2. Эшелонированная защита от DDoS и ботов (Lab 08)
Рассмотрим Dockerfile:
FROM python:3.11-slim
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY app.py . CMD ["python", "app.py"]
Вопрос знатокам: какие пакеты в этом образе?
SBOM позволяет получить полный список всех компонентов, версий и лицензий, сгенерированный за секунды.
В статье представлен демо-скрипт для выполнения с последовательностью из 12-ти шагов.
# Install Syft (SBOM generation)
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
# Install Grype (vulnerability scanning)
curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin
# Verify installation
syft version grype version
From a Docker image
syft nginx:alpine -o spdx-json > nginx-sbom.json
# From a directory
syft dir:./myapp -o cyclonedx-json > myapp-sbom.json
# Multiple formats at once
syft nginx:alpine -o spdx-json=sbom.spdx.json -o cyclonedx-json=sbom.cdx.json
# Scan the SBOM
grype sbom:./nginx-sbom.json
# Or scan image directly
grype nginx:alpine
# Generate SBOMs for two versions
syft myapp:v1.0 -o json > v1.0-sbom.json
syft myapp:v2.0 -o json > v2.0-sbom.json
# Compare (using provided script)
./compare-sboms.sh v1.0-sbom.json v2.0-sbom.json
# Scan the SBOM
grype sbom:./nginx-sbom.spdx.json
# Or scan image directly
grype nginx:alpine
# Only show CRITICAL and HIGH
grype nginx:alpine --fail-on high
# Only show CRITICAL
grype nginx:alpine --fail-on critical
# Show only specific severity
grype nginx:alpine -o json | jq '.matches[] | select(.vulnerability.severity == "High")'
# Export vulnerabilities to JSON
grype nginx:alpine -o json > vulnerabilities.json
В шагах 7 и 8 сравниваем версии SBOM и ищем конкретные пакеты, а в 9 – рассматривает отчёт/журнал SBOM
azure-pipeline.yml
- task: Docker@2
inputs:
command: build
dockerfile: '**/Dockerfile'
tags: $(Build.BuildId)
- script: |
syft $(imageName):$(Build.BuildId) -o spdx-json > sbom.json
displayName: 'Generate SBOM'
- script: |
grype sbom:./sbom.json --fail-on high
displayName: 'Scan for Vulnerabilities'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: 'sbom.json'
artifactName: 'SBOM'
• Syft – установка SBOM
• Grype – выявление уязвимостей
• Docker Security Practical Guide – полный гайд с Lab 07 и Lab 08
#devsecops #SBOM #zerotrust #kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍7❤4🔥4