Библиотека девопса | DevOps, SRE, Sysadmin
10.4K subscribers
1.8K photos
76 videos
4 files
3.15K links
Все самое полезное для девопсера в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/25874ec4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787
Download Telegram
LLMOps: развёртывание RAG-систем в Kubernetes

23 января в 19:00 на открытом уроке к курсу «Разработка ИИ агентов» обсудим архитектурную сторону внедрения LLM. Узнаем, как организовать инфраструктуру для агентов, работающих с внутренними данными через RAG в закрытом контуре.

Спикер — Игорь Стурейко, тимлид в «Газпроме» и эксперт по архитектуре решений на базе Kubernetes. Игорь подготовил видео о том, как эффективно масштабировать AI-сервисы и какие инженерные вызовы стоят за созданием автономных агентов.

В фокусе урока:

— интеграция векторных баз (FAISS, Chroma) в продакшн-окружение;
— оркестрация пайплайнов с помощью LangChain;
— выбор между Fine-tuning и RAG с точки зрения ресурсов и поддержки.

📅 Когда: 23.01 в 19:00 МСК

Узнать подробности
👍 Топ-вакансий для девопсов за неделю

DevOps-инженер
— до 250 000 ₽. Удалёнка.

DevOps / SRE — до 3 000 $ и удалёнка.

DevOps-инженер — удалёнка.

📍 Навигация: ВакансииЗадачиСобесы

🐸Библиотека devops'a

#вакансия_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
👀 10 лет root без пароля

В telnetd из GNU InetUtils нашли уязвимость, которая позволяет любому подключиться к серверу под root без проверки пароля. Проблема живет с марта 2015 года (версия 1.9.3) и до сих пор не исправлена в актуальном релизе 2.7.0.

Когда telnetd запускает утилиту login для проверки пароля, он передает ей имя пользователя из подключения. У login есть опция -f, которая пропускает аутентификацию.

Разработчики добавили поддержку автоматического входа через переменную окружения USER, но забыли проверить её содержимое. Результат — подставив в USER значение -f root, можно войти без пароля.

USER='-f root' telnet -a имя_сервера


В 2015 году разработчики фиксили проблему с Kerberos-аутентификацией. Добавили получение имени пользователя из переменной окружения, но не добавили проверку на спецсимволы и опции.

Хотя telnet давно считается небезопасным протоколом и большинство перешло на SSH, эта уязвимость напоминает о том, что стоит проверять даже старое ПО.

➡️ Источник

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#разбор_полётов
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3
🛠 Fence — изоляция процессов через namespace без root-прав

Docker отлично подходит для контейнеризации, но иногда он избыточен. Проверить скрипт из интернета, запустить непроверенный бинарник или изолировать процесс при тестировании — для таких задач нужно что-то проще и быстрее.

Fence — это CLI-утилита, которая создаёт изолированное окружение через Linux namespaces за секунды и без root-доступа.

Что умеет

Fence использует возможности ядра Linux для создания изолированных пространств. Процесс внутри не видит вашу файловую систему, может быть отрезан от сети и работает в собственном namespace процессов.

При этом никаких образов, слоёв или daemon'ов — просто оборачиваете команду и получаете изоляцию.

Примеры использования:
# Установка через cargo
cargo install fence-cli

# Базовый запуск с изоляцией ФС
fence run -- ./untrusted-binary

# Отключить сеть для процесса
fence run --no-network -- python script.py

# Пробросить конкретную директорию
fence run --mount $(pwd):/workspace -- make build


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

Никогда не знаешь, когда такое пригодиться, сохраните к себе в закладки 💾

➡️ GitHub репо

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
3
💻 Сервисные аккаунты в Kubernetes

Сервисные аккаунты позволяют подам в Kubernetes обращаться к API-серверу без использования учетных данных администратора. Они упрощают автоматизацию задач для приложений внутри кластера.

Что такое сервисные аккаунты

По умолчанию каждый под получает токен сервисного аккаунта при запуске. Этот токен монтируется как том в /var/run/secrets/kubernetes.io/serviceaccount и используется для запросов к API. Разработчики используют их для чтения конфигураций или записи метрик без лишних настроек.

Автоматическое создание токена происходит через контроллер допуска ServiceAccount. Без указания serviceAccountName под использует default аккаунт в пространстве имен.

Как работают токены

Токены сервисных аккаунтов представляют собой JWT, подписанные приватным ключом API-сервера. Они содержат утверждения с именем аккаунта, пространством имен и группами вроде system:serviceaccounts. Kubernetes проверяет подпись и срок годности перед авторизацией.

Создание и настройка

Чтобы создать сервисный аккаунт, примените YAML с apiVersion: v1, kind: ServiceAccount. Свяжите с подом через spec.serviceAccountName в манифесте пода. Для ролей используйте RoleBinding или ClusterRoleBinding, чтобы назначить permissions вроде get pods.

Пример команды:
kubectl create serviceaccount my-sa; kubectl create rolebinding my-sa-role --clusterrole=view -sa=default:my-sa


В итоге сервисные аккаунты упрощают доступ к кластеру, но требуют внимательной настройки для защиты от утечки привилегий.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
🔒 Шесть способов аутентификации в Kubernetes

Kubernetes предлагает несколько методов аутентификации — от сертификатов до интеграции с внешними провайдерами. Разбираемся, какой вариант использовать в разных сценариях.

• X.509 сертификаты — основной способ для пользователей и kubelet. Генерируете приватный ключ, создаете Certificate Signing Request и подписываете его CA кластера. Три команды openssl — и у вас готовый сертификат для доступа.

• Static Token File — простой, но небезопасный метод. API-сервер читает CSV-файл с токенами. Подходит только для разработки, в проде лучше не использовать.

• Bootstrap Tokens — то, что использует kubeadm при развертывании кластера. Токены хранятся как Secrets в namespace kube-system. Команда kubeadm token create выдаст готовую строку для присоединения нод.

• Service Account Tokens — для подов, которым нужен доступ к API. Kubernetes автоматически создает JWT-токен и монтирует его внутрь контейнера. Просто указываете serviceAccountName в спеке пода.

• OIDC — интеграция с внешними провайдерами типа Google, Okta или Azure AD. Настраиваете API-сервер с параметрами --oidc-issuer-url и --oidc-client-id, и получаете полноценный SSO для корпоративного окружения.

• Webhook Authentication — когда нужна кастомная логика. API-сервер отправляет запросы на внешний endpoint, который решает, пускать пользователя или нет.

Отключите анонимную аутентификацию (--anonymous-auth=false), не используйте дефолтный service account, регулярно ротируйте сертификаты и токены.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
👓 KDE научили работать в виртуальной реальности

Для оконного менеджера KWin появился экспериментальный плагин, который превращает KDE в полноценную среду рабочего стола для VR. Вместо физического монитора интерфейс отображается на виртуальных экранах в 3D-пространстве, управляемых через VR-очки или шлемы.

Под капотом используется Qt Quick 3D Xr с поддержкой OpenXR runtime. Разработчики тестировали на платформе Monado с очками Rokid Max и HP G2, а также на сервере WiVRn с Quest 3.

➡️ Источник

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
😢1
Пятница, 19:00. Худшее время для деплоя, но идеальное, чтобы осознать: AI в проде — это не только API-ключ, но и гора инфраструктуры вокруг векторных БД.

Внедрение LLM требует настройки новых типов хранилищ и управления контекстом. Разберём это на открытом уроке.

В программе занятия:

— как деплоить и масштабировать системы на базе RAG;
— стек технологий: FAISS, Chroma, LangChain;
— live coding: пайплайн для ответов по вашим документам.

Один из спикеров — Алексей Яндутов, ML-инженер в поиске Яндекса.

Это первый урок курса «Разработка AI-агентов». Мы обсуждаем не «будущее ИИ», а архитектуру и код.

Записаться на урок
🖇 Несколько имён для одного файла

Команда ln создаёт ссылки на файлы.

У вас есть файл project.txt. Он лежит на диске и занимает место.

Два способа сослаться на него:
# Первый способ - жёсткая ссылка
ln project.txt backup.txt

# Второй способ - символическая ссылка
ln -s project.txt shortcut.txt


Жёсткая ссылка = ещё одно имя.Это как если бы у человека было два имени. Иван и Ваня — это один и тот же человек.

$ echo "важные данные" > file.txt
$ ln file.txt copy.txt
$ rm file.txt # удалили оригинал
$ cat copy.txt
важные данные # но данные на месте!


file.txt и copy.txt — это просто два имени для одних и тех же данных. Удалили одно имя — второе осталось, данные целы.

Символическая ссылка = стрелка-указатель. Это как ярлык на рабочем столе Windows.
$ ln -s /очень/длинный/путь/к/файлу.txt ~/удобно.txt
$ cat ~/удобно.txt # читаем файл по короткому пути


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

Полезные команды:
# Проверить, куда ведёт symlink
readlink link.txt

# Посмотреть файл и все его hard links
ls -l file.txt # второе число показывает сколько имён

# Создать symlink для папки
ln -s /var/log ~/logs


📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
👨‍💻 Под не запускается по порядку

Ситуация: разворачиваете базу данных в Kubernetes, но поды стартуют хаотично, а после перезапуска теряют данные.

Коллега предлагает попробовать StatefulSet вместо Deployment.

В голове тут же всплывёт вопрос: «Что такое Stateful Set и за что он отвечает»

Ответ: в нашем канале с задачами

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#задача_со_звёздочкой
Please open Telegram to view this post
VIEW IN TELEGRAM
🔄 MySQL 9.6.0

20 января вышел свежий MySQL, разбираем что нового.

• Безопасность и аудит

MySQL перешёл на модульную архитектуру аудита — монолитный Audit Log разбит на компоненты mysql.

MD5() и SHA1() теперь вынесены в отдельный компонент classic_hashing mysql. Хотите использовать устаревшие алгоритмы? Устанавливайте компонент явно. Не хотите? Не устанавливайте.

Performance Schema

Добавлена таблица TEMPORARY_ACCOUNT_LOCKS для просмотра временно заблокированных аккаунтов. В таблицу HOST_CACHE добавлены колонки для подсчёта ошибок от постоянно и временно заблокированных аккаунтов mysql.

Контейнеры

Новая опция container_aware позволяет серверу автоматически обнаруживать и соблюдать лимиты CPU и памяти, установленные контейнером mysql.

Репликация и GTID

Представлена новая структура данных для GTID set — более простая, современная и эффективная библиотека для работы с Global Transaction IDs mysql.

JSON Duality Views

Теперь можно явно указывать разрешённые DML-операции (INSERT, UPDATE, DELETE) для каждой таблицы при создании JSON Duality View mysql. Есть и запрещающие теги вроде NO INSERT.

ИИ факт: релизные заметки созданы с помощью MySQL HeatWave GenAI mysql.

➡️ Release notes

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
💡 Резюме в PDF — это как монолитное приложение

Пока вы шлёте Word-документ с перечислением технологий, другие кандидаты:

• Разворачивают персональный сайт через CI/CD

• Делают changelog-резюме в стиле release notes: v2.5 - Fixed: убрал legacy Ansible, мигрировал на Kubernetes

• Создают Grafana-дашборд с визуализацией карьерных метрик

➡️ В статье 6 нестандартных форматов резюме, которые помогают не затеряться среди сотен кандидатов

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
Конфиги копятся, а ты всё ещё вручную «жаришь» деплои и промпты?

Это работа в забегаловке. Настоящий Шеф не фиксит скрипты вечно — он проектирует Систему. 🛠️

В понедельник, 26 января, стартует интенсив по разработке ИИ-агентов. Мы научим создавать автономные решения, которые закроют инфраструктурные задачи, пока ты занимаешься архитектурой.

В программе:

— мультиагентные системы в CrewAI: делегирование рутины и автоматизация ревью;
— сложная логика в LangGraph: управление состоянием инфраструктурных графов;
tool use интеграция: подключение агентов к CLI, API и облачным сервисам. ☁️

Записаться на курс
🌐 Новости недели

Освежим в памяти события недели.

Wine 11.1

Экспериментальный релиз Wine 11.1 получил сопровождающий выпуск Wine Staging 11.1 с набором нестабильных патчей, который добавляет недостающую функциональность mshtml и msxml3 и тем самым позволяет устанавливать Adobe Photoshop 2021–2025 и другие приложения Adobe Creative Cloud под Linux.

KDE в виртуальной реальности

Изоляция процессов через namespace

Полигон для драйверов FreeBSD

Let’s Encrypt добавили короткоживущие сертификаты

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#дайджест_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
Завтра стартуем: курс по разработке ИИ-агентов для автоматизации 🛠️

Пора внедрять ИИ в инфраструктурные процессы. Мы научим создавать автономных агентов на CrewAI, управлять логикой в LangGraph и подключать нейросети к CLI, API и вашим облачным сервисам.

👉 Успейте занять место до начала занятий
🔒 Ловите ошибки безопасности Kubernetes до прода

Guardon — это браузерное расширение с открытым исходным кодом, которое сканирует YAML-файлы Kubernetes на наличие проблем безопасности прямо в вашем браузере. Просто откройте любой манифест на GitHub или GitLab, кликните на иконку расширения — и получите список уязвимостей с готовыми исправлениями.

Типичные проблемы, которые ловит Guardon:
# Привилегированные контейнеры
securityContext:
privileged: true # Guardon пометит это

# Отсутствие лимитов ресурсов
containers:
- name: app
image: nginx # Guardon предложит добавить limits

# Тег latest в продакшне
containers:
- name: app
image: nginx:latest # Guardon предложит конкретную версию


➡️ Репозиторий | Chrome Extension

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
От DevOps к LLMOps: деплой и оркестрация агентов

Развернуть мультиагентную систему сложнее, чем обычный микросервис. Нужно учитывать контекстное окно, задержки API и стоимость токенов.

Сегодня в 19:00 МСК начинаем курс «Углубленные AI-агенты».

Стек для работы:

— деплой и масштабирование ИИ-решений;
— оркестрация работы нескольких моделей;
— мониторинг агентских циклов и tracing;
— автоматизация рабочих процессов через ИИ.

Освойте стек, который станет стандартом автоматизации в ближайшие годы.

Записаться
🔄 GNU C Library 2.43

Команда GNU опубликовала новую версию стандартной библиотеки GNU C Library 2.43, которая добавляет полную поддержку стандартов ISO C23 и POSIX.1-2024.

Основные изменения:

• Добавлена экспериментальная поддержка компилятора Clang для архитектур aarch64-linux-gnu и x86_64-linux-gnu

• Поддержка процессоров Intel Nova Lake и Wildcat Lake

• Исправлены уязвимости: CVE-2026-0861 — переполнение буфера в memalign, CVE-2026-0915 — утечка памяти в getnetbyaddr и CVE-2025-15281 — некорректная обработка памяти в wordexp.

Реализованы новые функции из стандарта C23: free_sized, free_aligned_sized — освобождение памяти с указанием размера, memset_explicit — безопасная очистка чувствительных данных и memalignment — проверка выравнивания указателя

Новые системные вызовы Linux:

mseal() — предотвращает непреднамеренные изменения защищённых областей памяти процесса.

openat2() — расширенная версия openat() с дополнительными флагами безопасности:ограничение прав доступа, символических ссылок, magic-линков.

➡️ Источник

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM