Библиотека девопса | DevOps, SRE, Sysadmin
10.4K subscribers
1.79K 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
💻 Сервисные аккаунты в 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
🛠 Менеджер сервисов для минималистов

Знакомимся с легковесной альтернативой systemd для управления сервисами в Linux.

s6-rc — это менеджер сервисов для систем на базе s6, который умеет запускать и останавливать службы в правильном порядке согласно дереву зависимостей.

s6-rc следует Unix-философии:

• Делает одну вещь хорошо
• Минимальные зависимости
• Простота и предсказуемость
• Открытый исходный код

Основные возможности

• Управление long-running демонами под s6.

• Запуск одноразовых init-скриптов в контролируемом окружении.

• Разрешение зависимостей между сервисами.

• Компиляция конфигураций в оптимизированную базу данных.

В отличие от systemd, который парсит unit-файлы при каждом запуске, s6-rc компилирует их в оптимизированную структуру данных.

➡️ Подробнее

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

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

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1
👨‍💻 Советы стажёрам SRE

Разбираем, что реально спрашивают на собеседованиях для стажёров в Site Reliability Engineering и как к этому готовиться.

Главный секрет: вас оценивают не за знания
На интервью для SRE intern проверяют не то, сколько инструментов вы знаете, а как вы думаете.


Интервьюеры смотрят на:

•Логику рассуждений
• Спокойствие при решении проблем
• Способность признать «не знаю» и объяснить, как найдёте ответ

Стажёра будут учить инструментам. А вот научить правильно мыслить — гораздо сложнее.

Три типа вопросов, которые точно будут

— Сервис упал в 3 часа ночи. Ваши действия?

Таким вопросом проверяют методологию диагностики, а не конкретное решение. История «У меня сломался WiFi, я проверил роутер и перезагрузил его» показывает системный подход к проблемам. Главное — объяснить почему вы делали каждый шаг.

— Что происходит, когда вы вводите google.com в браузер

Не нужно знать всё до мельчайших деталей. Опишите процесс на высоком уровне и честно скажите, где неуверены. Обычно ждут понимание: DNS, TCP/IP, HTTP(S), кэширование.

— Контейнеры и автоматизация

Минимум знаний: что такое Docker и зачем он нужен, базовая идея Kubernetes и почему нельзя всё запустить в докере, понимание CI/CD на уровне концепции.

SRE — это не про заучивание kubectl команд. Это парадигма, фокусирующаяся на наблюдаемости систем и автоматизации процессов.

💬 Накидайте своих историй или советов в комменты 👇

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

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

#холиварня
Please open Telegram to view this post
VIEW IN TELEGRAM
👾1
📄 Windows-desktop на Linux

Представьте Linux-дистрибутив, где всё рабочее окружение — это Win32-софт, работающий под WINE. Полностью свободная и открытая ОС, где можно просто скачивать .exe файлы и запускать их. Не для хардкорных юниксоидов, а для обычных пользователей, которым нужна просто работающая система.

ReactOS пытается переписать ядро Windows NT с нуля, и это всегда было его ахиллесовой пятой — проблемы с совместимостью оборудования и стабильностью.

Концепция loss32 — достичь похожего результата, но построенного на более надёжном фундаменте: ядро Linux, WINE, всё что их связывает, и немного userland-компонентов от ReactOS.

Это технически остаётся Linux-дистрибутивом, так что можно запускать Linux-софт когда нужно. ReactOS так не может.

➡️ Сайт проекта

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

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

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