DevOps FM
5.28K subscribers
754 photos
15 videos
10 files
863 links
♾️ Канал для тех, кто живёт слиянием разработки и эксплуатации (DevOps) и сис. администрированием.

Новости, статьи, практики, инструменты и развлекательный контент. Cloud Native, Docker, Kubernetes, БД, мониторинг и пр.

Алена @alyona2780
Download Telegram
Атака в GitHub Actions: Trivy, Microsoft, DataDog, CNCF

👩‍💻 ИИ-бот hackerbot-claw получил доступ к репозиториям в GitHub Actions, недавно писали об этом – здесь. Пользователи Reddit поделились мнением об атаке и собрали подборку советов для обеспечения безопасности в CI/CD.

Friendly-Ask6895
pull_request_target – это убийца. Проблема существует столько лет, но никто не хочет проверять конфиги, пока не стало поздно. Удивительно, что понадобился ИИ-бот, чтобы инженеры позаботились о безопасности в CI/CD.


Emotional-Drawing761
Безопасность в GitHub Actions о-очень важна, это порог входа. В нашей компании внедрили ротацию токенов, придерживаемся строгих политик для пайплайнов. Как в других компаниях обеспечивают безопасность?


Extra-Pomegranate-50
Комбо pull_request_target + checkout-of-fork уже много лет как оружие массового поражения, но атака на Trivy и Datadog все равно удивила.
Я, конечно, больше думаю о цепочках поставок. Если извлекли бинарники Trivy, запушили пустой репо, то сканер безопасности сам по себе становится вектором атаки.

davidadamns
Несмотря на негативные последствия, урок вышел ценным:
1. Проверяйте скачанные бинарники и контейнерные образы, подтверждайте подписи через Cosign/Sigstore.
2. Держите резервные инструменты безопасности (Checkov, Grype).
3. Используйте OIDC-токены вместо долгоживущих секретов.
4. Проводите аудит в GitHub Actions: не используйте pull_request_target с кодом форков, следите за ${{ }} в run.
5. Настройте автоматическую проверку зависимостей перед запуском.
6. Все образы должны быть подписаны.
7. Непроверенный код запускайте в изолированных средах (gVisor, Firecracker).
8. Включите аудит логов с хранением на несколько дней.

👩‍💻 И подборка репо:
zizmorcore/zizmor
boostsecurityio/poutine


Весь тред – найдете здесь.

👀А как вы следите за безопасностью в CI/CD? Делитесь опытом в комментариях!

#devops #reddit #инцидент
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍73🔥3
Дайджест в DevOps FM!

☀️Солнечная среда и свежие релизы. Что может быть лучше в середине рабочей недели?

Весеннее обострение или атака в цепочке поставок.
На этот раз в PyPI нашли вредонос библиотеки LiteLLM. Были украдены API-ключи для подключения к OpenAI, Anthropic и другим провайдерам. Проблема коснулась SSH-ключей, конфигураций Kubernetes, Docker, токенов AWS, GCP, Azure, секретов непрерывной интеграции и доставки (CI/CD). Безопасная версия доступна с 22 марта. Атака – одна из серии от команды PCP. Если у вас были установлены версии LiteLLM 1.82.7 или 1.82.8, рекомендуем заменить API-ключи и проверить пайплайны в CI/CD.

Подробнее – на GitHub, а разбор мартовских атак от команды PCP – в блоге Wiz.

Вы в зоне риска, если работали с aquasec/trivy, применяли теги версий 0.69.4, 0.69.5, or 0.69.6 или последней версии с 19 по 23 марта. В блоге Docker дали рекомендации для проверки окружения: найдите скомпрометированный образ Trivy по его digest’ам, удалите все затронутые образы, обновитесь до aquasec/trivy:0.69.3, а затем проведите полную ротацию секретов на всех системах, где этот образ мог работать.

Пошаговая инструкция – здесь.

CNCF опубликовали отчёт за Q1: что нового?
Сообщество значительно приросло – с 15.6 до 19.9 миллионов, что составляет 28% за 6 месяцев. Облачный гибрид – самый популярный формат, 34% разработчиков включили его в рабочий цикл. Тенденция связана с новыми политиками регуляторов. Практики платформенной инженерии, инженерии хаоса и работы со множеством управляемых кластеров внедрили 88% разработчиков. В сфере ИИ до 7.3 миллионов специалистов работают в рамках подхода Cloud Native. Подробности – в отчёте.

Выкатили релиз KubeVirt v1.8 с поддержкой Kubernetes v1.35. В нём улучшили политики конфиденциальности для работы с ВМ, представили прослойку Hypervisor Abstraction для работы со множественными уровнями системы виртуализации (бэкенды гипервизора) за пределами KVM, а так же включили ворклоады ИИ и HPC. Теперь KubeVirt лучше понимает, как устроены CPU, память и PCIe-устройства на хосте. Все обновления в SIG – в заметках о релизе и обзоре от CNCF.

Дождались – Ingress2Gateway 1.0, ассистент при миграции. Основное изменение – поддержка более 30 аннотаций вместо 3 (CORS, TLS между балансировщиком, сопоставление с регулярным выражением (regex matching)). В Ingress2Gateway 1.0 улучшили форматирование и систему уведомлений. Теперь не нужно тратить время на поиск подводных камней и устранение ошибок в конфигах. Пошаговый туториал оставили – здесь.

Kyverno, инструмент политики как кода, прошел все уровни ревью на GitHub. В честь "выпуска" Брайан Грант, СТО CofigHub-а, выкатил статью с описанием основных функций: ограничение ресурсов Kubernetes на примере запрета использования :latest тега, проверку политик и работу триггеров.
Всё интересное – здесь.

DataDog описали архитектуру Karpenter, автоскейлера кластеров Kubernetes. Логика сервиса учитывает пропускную способность, оптимизирует потребление ресурсов и улучшает работу приложений. Речь идет о поддержке оптимизации NodePool-ум, агностическим провайдером, и учёте особенностей инфрастуктуры облачных окружений провайдером NodeClass.
Подробнее об инструменте наблюдаемости – тут.

#devops #инциденты #kubernetes #cncf #новостная_подборка
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍75🔥4
Пятничное чтиво от DevOps FM

💬 Неделя подходит к концу, а смельчаки-инженеры вовсю готовятся к развертыванию (ни пуха!). Сегодня обсудим вечную дилемму – железо или облако? Внизу вынесли популярные мнения пользователей Reddit, а весь тред оставили – здесь.

BuffaloJealous2958
Многие из тех, кто вырос на железе, скучают по ощущениям от настройки. Раньше ты мог встроить серверы, затюнить Linux руками, знать как и где протекают рабочие процессы. В облаке ощущение, что предоставляешь управляемые услуги и пытаешься не сжечь весь бюджет компании за месяц.
Облако никуда не денется, но и on-prem решения тоже. Всё меняется, от действий регуляторов до развития гибридных решений.


CaptainPonahawai

Ещё важно смотреть на масштаб и текущие цели компании. По личному опыту, на работе всё в облаке, тк нет ни ресурсов, ни времени для поддержания железа.


AlterTableUsernames

Да вы, сэр, зрите в корень. В Европе сейчас растущий спрос на личные облака, железо и в принципе уход с аренды.


rvm1975

Глобально нет никакой разницы между EC2 и VMware/Proxmox VM. Практически те же компоненты, типа хранилищ и тд. Разница лишь в цене за ошибку и ведению FinOps.


red_00

Облако дает доступ к управляемым услугам. Так, в работе я сосредотачиваюсь на архитектуре, безопасности и не думаю о поддержке.


👀Вопрос остается открытым: что выбрать? Если хотите узнать чуть больше – смотрите запись выступления тех. руководителя НИКСИС | NIXYS Петра Рукина.

Хороших выходных и спокойных смен!

#devops #облако #железо #reddit
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍64🔥3
💻 История про GitOps, платформы и Kubernetes

Всем DevOps! Сегодня делимся обзором на kubara, фреймворка для построения платформы Kubernetes на GitOps. Артём Лайко в статье портала Medium рассказывает, как kubara помогает платформенным командам уйти от разрозненных Helm-чартов, Terraform-модулей и повторяющихся решений к единой структуре.

В статье kubara представлен как:
• единый бинарник CLI на Go
• фреймворк для платформы Bootstrap
• основа для hub-and-spoke мультикластерной архитектуры
• инструмент, который позволяет поднять рабочую платформу за ~30 минут

Особое внимание уделили формату:
Инструменты, дашборды, операторы и менеджеры (Argo CD, Kyverno, Prometheus, Grafana, Loki, Traefik) собираются в единый цикл GitOps для декларативного управления. С помощью kubara можно строить стек под платформу и требования вашей команды.

👩‍💻 Обзор kubara – тут, документация здесь и репо.

Желаем вам вдохновения и ровных Application-синков! 👍

#devops #kubernetes #gitops
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍41🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🫯 Модель запустили. А как теперь жить с ней в production?

26 июня в Новосибирске соберёмся на закрытой встрече DevOps Lab: ML in Production: поговорить о том, что происходит после того, как модель попадает в production.

В программе:

🟡 Как AI-агенты помогают DevOps-инженеру справляться с задачами команды из 50 разработчиков.

🟡 Как запускать приватные LLM в Kubernetes: KServe, Modelcar, OCI, оптимизация GPU и ускорение инференса.

🟡 Интерактивный разбор production-инцидентов: масштабирование, наблюдаемость и безопасность ML-сервисов.

Без маркетинга и теории — только практические кейсы, вопросы и обмен опытом.

📍 26 июня, 18:00
📍 Новосибирск, офис Nixys (офлайн)
📍 Количество мест ограничено

Регистрация: [ссылка]

#devops #mlops #kubernetes #sre #nixys
36👍6🔥4
Подвели итоги DevOps Lab: как это было

🤩В прошлую пятницу прошел первый митап серии DevOps Lab: ML in Production. В офисе Никсис собрались инженеры, руководители команд и технические лидеры Новосибирска, чтобы обсудить работу агентов и ML-сервисов в производственной среде.

Спешим поделиться атмосферой обсуждений и споров в кругу своих. И самое важное – говорим спасибо каждому, кто стал частью первого DevOps Lab в Сибири. Надеемся, мы стали местом, где можно открыто обсуждать реальные кейсы, обмениваться опытом и искать решения вместе.

🟡Совсем скоро выйдем в эфир с записью выступления с разбором рабочей архитектуры приватных LLM на базе Kubernetes.

А пока желаем продуктивной недели без инцидентов :)

#devops #никсис #митап
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥8👍65
👾Ловим покемонов в кластерах

Пятница, конец рабочей недели и Pokémon в Kubernetes. Разработчик Анубхав Саньял вдохновился играми для Game Boy и любовью к DevOps. Так, на свет появился Project Yellow Olive, TUI-симулятор на языке Python. Подробнее об архитектуре – тут.

Вместо покемонов, вам предстоит анализировать работу покеподов, устранять проблемы K8S в локальном кластере Minikube, продвигаясь по аркам:

Oakwood Meadows с фокусом на подах
Signal Town с практикой работы с сетью и взаимодействием между компонентами (DNS, Ingress)
Gold Rush City и упор на политики безопасности (RBAC)
Sakura Harbour с развертыванием, масштабированием и обновлениями приложений.

Последняя локация появилась недавно, и включает масштабирование реплик, работу с ReplicaSet, сценариями отката (rollback) и отладкой неудачных развёртываний.

Желаем хороших выходных и успешного прохождения!

#DevOps #kubernetes #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
27🔥5👍3
Как Codex обнаружил регрессию в Kubernetes

👩‍💻 Начинаем рабочую неделю с фотоотчёта DevOps Lab и рабочего кейса портала HeyOnCall.

После обновления Kubernetes до версии 1.36 Майк Роббинс заметил проблему на небольшом тестовом кластере. kubelet постепенно «съедал» всю память. Поды работали нормально, но pprof обнаружил миллион объектов контекста.

Проблема возникла из-за небольшого регресса в коде startPodSync, и при каждом цикле синхронизации создавался новый context.WithCancel(), а старый никогда не освобождался. С Codex Роббинс быстро обнаружил проблемный коммит, подготовил исправление, прошёл ревью и добился включения патча в основную ветку и бэкпорта для релиза 1.36.3.

🔵В статье о том, как найти утечку памяти в kubelet с Go pprof и сократить потребление с 1 ГБ до 110 МБ, почему подобные ошибки сложно поймать на тестировании и какая строка кода может привести к утечке сотен мегабайт памяти на каждой ноде.

➡️А здесь мы оставили фото участников лабы, делимся атмосферой. Отмечайте @DevOps_FM в соц.сетях и расскажите о своих впечатлениях – тут 💙

#kubernetes #devops #kubelet #никсис
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍54🔥4
Новостной дайджест от DevOps FM!

🔔Выходим в эфир с подборкой новостей и практических разборов.

В блоге Sysdig опубликовали отчёт по безопасности. В июне среди причин инцидентов выделили ошибки конфигурации, свободный доступ к открытым ресурсам в облаке.

Также в отчёте разобрали атаки от 8 июня на Tchap с кражей 13,5 ГБ данных, и от 11 июня с выводом 1,3 ТБ данных. В первом случае в открытый доступ попали email-адреса и сведения об организациях более 73 тыс. из 600 тыс. учетных записей. Детали отчёта – здесь.

В понедельник вышел релиз OpenSSH версии 10.4. Из нового добавили экспериментальную поддержку схемы подписи ML-DSA 44 + Ed25519, включили реализацию на основе NFA и ужесточили требования к протоколу SSH при обмене ключами. Усилили безопасность и устранили уязвимости в ssh(1), sshd(8), scp(1) и sftp(1). Подробнее об улучшениях – тут.

С релизом Docker Desktop 4.81.0 от 6 июля обновили Docker Compose до версии 5.2.0 и Docker Scout CLI v1.22.0. Также внесли исправления для работы с kind-кластерами, улучшили загрузку образов и устранили проблему с остановкой контейнеров. В новой версии Docker Desktop учитывает заданные таймауты вместо принудительного завершения через 1 секунду. Все изменения – здесь.

На портале FreeCodeCamp вышла статья о включении политик нулевого доверия в Kubernetes. Дестини Эрхабор подробно разбирает идентификацию рабочих нагрузок через SPIFFE, SPIRE и Cilium.

На примере Kind-кластера он показывает, почему традиционные политики безопасности, не работают в динамической среде Kubernetes, а также объясняет, как Cilium реализует аутентификацию (mTLS) без Sidecar. Демо – тут.

На Info Q Мэтт Сондерс разобрал архитектуру HubSpot и рассказал, как компания масштабировала платформу семантического поиска до 20 млрд векторов.

Внутренняя платформа Vector as a Service (VaaS) работает поверх Qdrant и обеспечивает контроль доступа, версионирование данных и сбор обратной связи. Сейчас система обслуживает 38+ команд, включает 200+ индексов, 140+ кластеров в пяти регионах и двух окружениях, а пиковая нагрузка достигает 100 тыс. запросов в секунду.

Как HubSpot сократил время запуска кластеров с Kubernetes Operator читайте – здесь.

#новостная_подборка #devops #kubernetes #openssh #zerotrust
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍53🔥3
🚨 Что убивает этот под разбор инцидента

Всем DevOps! В конце недели подготовили для вас кейс прямиком из производственной среды.

После выката нового ML-инференс-сервиса в Kubernetes поды один за другим уходят в CrashLoopBackOff. На первый взгляд кажется, что проблема в приложении. Но все ли так очевидно?


STATUS: CrashLoopBackOff


При этом в событиях Kubernetes видно:


Liveness probe failed:
connect: connection refused


А в логах контейнера:


Starting model server...
Loading model weights...
Loaded shard 1/4
Loaded shard 2/4
<SIGTERM received, shutting down>


И фрагмент Deployment:


livenessProbe:
initialDelaySeconds: 10
periodSeconds: 5
failureThreshold: 3


👨‍💻Что здесь происходит? Почему сервис так и не успевает запуститься и оказывается в бесконечном CrashLoopBackOff?

Голосуйте в опросе ниже ⬇️

#devops #kubernetes #k8s #разборинцидента
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥4👍32💅1