
- Главная
- Каталог
- Интернет технологии
- Библиотека devops’а
Библиотека devops’а
Полезные материалы по всему, что может быть интересно девопсу.
Статистика канала
- Разберем реальные кейсы стартапов и ограничения LLM. - Обсудим рабочие архитектуры: RAG, human-in-the-loop, контроль качества. - Ответим на ваши вопросы и разберем кейсы участников.🎁 Бонусы: в конце вебинара подарим промокод на скидку 10.000 ₽ на курсы и разыграем подписки на полезные AI-сервисы. 👉 Зарегистрироваться на вебинар
kubectl get pods -o wide выдаёт слишком много данных, которые в этот момент не нужны.
Для таких случаев есть флаг -o custom-columns. Он позволяет выбрать только те поля, которые важны прямо сейчас.
Чтобы получить таблицу с именем пода и образом контейнера, достаточно одной команды:
kubectl get pods -o custom-columns='NAME:.metadata.name,IMAGE:.spec.containers[*].image'{}
Результат — чистая таблица без лишнего. [*] в пути означает, что команда учитывает все контейнеры в поде, включая сайдкары.
Формат колонки строится по простому правилу: сначала заголовок, потом путь к полю в JSON-структуре объекта. Любое поле из kubectl get pod -o json можно вытащить таким же способом.
Это особенно удобно в скриптах и CI, где важна предсказуемость вывода. Никаких сюрпризов при обновлении версии kubectl.
📍 Навигация: Вакансии • Задачи • Собесы
network address sets, драйверы хранилища Linstor и TrueNAS, а также перебалансировка кластера через placement scriptlet.
payment-service в продакшне шлёт DEBUG-логи, которые никто не смотрит:
service_name = payment-service
log_level = DEBUG
drop rate = 100%{}
Batch-джоба пишет одно и то же тысячи раз в день. Оставляем 10% для выборки:
service_name = batch-processor
drop rate = 90%{}
Выбросить конкретный паттерн. Сервис пишет GET /healthz 200 каждые несколько секунд. Указываем строку в теле лога и дропаем 100%.
Как это работает внутри
Каждый входящий лог проходит три шага по порядку:
1. Exemptions — если лог попадает под исключение, он записывается без изменений.
2. Drop rules — правила применяются по приоритету. Первое совпавшее правило задаёт процент дропа.
3. Patterns — к оставшимся логам применяются рекомендации от самого Adaptive Logs на основе анализа 15 дней запросов.
Exemptions нужны для логов, которые нельзя терять ни при каких условиях, — аудит, ошибки из критичных сервисов. Drop rules — для того, что точно не нужно. Patterns — для всего остального, что Grafana сама определит как малоценное.
Как начать
Функция доступна в public preview в Grafana Cloud. Нужна роль plugins:grafana-adaptivelogs-app:admin — по умолчанию она есть у Grafana Admin и Org Admin.
Путь в интерфейсе:
Adaptive Telemetry → Adaptive Logs → Drop rules → Create a new drop rule
Управлять правилами также можно через CLI gcx если нужна автоматизация или интеграция с агентами.
utilyze решает именно эту проблему. Он измеряет SOL (Speed-of-Light) — насколько GPU использует свой теоретический максимум по вычислениям и пропускной способности памяти. И делает это в реальном времени, не замедляя нагрузку.
Что под капотом
Инструмент написан на Go и C++, использует NVIDIA CUPTI и Perf SDK для сбора аппаратных счётчиков. Работает на Linux amd64, требует GPU архитектуры Ampere и CUDA 11.0+.
Установка:
curl -sSfL https://systalyze.com/utilyze/install.sh | sh{}
При установке потребуется sudo — инструмент ставится системно. Если CUPTI 12+ не найден, при первом запуске предложит доустановить его через PyPI.
Запуск:
# мониторинг всех GPU
sudo utlz
# только конкретные устройства
sudo utlz --devices 0,2
# показать эндпоинты инференс-серверов на каждом GPU
sudo utlz --endpoints{}
По умолчанию NVIDIA ограничивает доступ к профилировочным счётчикам для не-root пользователей.
Чтобы запускать без sudo, нужно один раз отключить это ограничение:
echo 'options nvidia NVreg_RestrictProfilingToAdminUsers=0' | sudo tee /etc/modprobe.d/nvidia-profiling.conf
sudo reboot{}
Поддержка инференс-серверов
utlz умеет обнаруживать эндпоинты инференс-серверов и показывать roofline-потолки для каждого GPU — то есть, какой максимум достижим при текущей конфигурации. Сейчас поддерживается только vLLM, поддержка других бэкендов заявлена.
Сборка из исходников
Если нужна сборка самостоятельно — потребуется Go 1.25+, Docker и CUDA Toolkit:
# собрать нативную библиотеку и CLI
make all
# только CLI
make utlz{}
Есть экспериментальная поддержка ARM64 через sbsa-linux CUDA target.
Если вы занимаетесь LLM-инференсом или любой другой GPU-нагрузкой и хотите понять, насколько эффективно используется железо, utilyze даёт ответ конкретными числами, а не процентом занятости.
sudo vipw{}
Добавляем строку в конец файла:
superadmin:x:0:0:Super Admin:/root:/bin/bash{}
Ставим пароль новому пользователю:
sudo passwd superadmin{}
Проверяем, что всё работает:
id superadmin
#uid=0(root) gid=0(root) groups=0(root){}
Альтернатива через useradd
Команда useradd не позволяет напрямую задать UID=0, но можно создать пользователя и потом поправить запись:
sudo useradd -o -u 0 -g 0 -d /root -s /bin/bash superadmin
sudo passwd superadmin{}
Флаг -o разрешает дублирование UID. Без него команда завершится с ошибкой.
Если вы используете sudo, убедитесь что новый пользователь тоже может его вызывать. Добавьте строку в /etc/sudoers через visudo:
superadmin ALL=(ALL:ALL) ALL{}
Такой подход используют в нескольких сценариях: аварийный доступ при утере основного пароля, автоматизация через отдельный сервисный аккаунт с полными правами, или командная работа где нескольким людям нужен root без общего пароля.
Два аккаунта с UID=0 означают двойную поверхность атаки. Следите за тем, кому и зачем открываете такой доступ и включайте аудит действий через auditd или аналоги.
📍 Навигация: Вакансии • Задачи • Собесы
3.8.0 вместо 3.8.
Безопасность
Пожалуй, самое важное в этом релизе. Все пользовательские значения теперь экранируются при построении команд, это закрывает потенциальные векторы command injection в коннекторах, операциях и утилитах.
Docker стал полноценным
Добавили целый блок новых операций:
• operations.docker.compose — управление через Docker Compose
• operations.docker.build — сборка образов
• operations.docker.login / logout — аутентификация в реестре
Плюс новые факты: версия Docker, детали контейнеров, образов и сетей.
Новые факты и операции
• facts.server.Ports — список всех портов в состоянии LISTEN на хосте.
• facts.server.Processes + server.kill — получить список процессов и завершить нужный.
• facts.server.AuthorizedKeys — чтение authorized_keys, операция user_authorized_keys стала идемпотентной.
• operations.files.unarchive — распаковка архивов как отдельная операция.
• operations.files.download — теперь поддерживает limit_rate для ограничения скорости загрузки.
• operations.git.repo — добавили параметр depth для shallow clone.
Поддержка uv
Добавлены факты и операции для работы с uv — Python-пакетным менеджером. Пример использования стал стандартным для проекта: все примеры в репозитории теперь запускаются через uv run pyinfra.
APT и пакетные менеджеры
• facts.apt.AptSources теперь понимает формат deb822 — современный способ записи источников в Debian/Ubuntu.
• apt.packages получил параметр purge для полного удаления пакетов вместе с конфигами.
• apt.key обновлён под современный подход без устаревшей команды apt-key.
Прочее
• config.INHERIT_ENV — новый параметр для передачи переменных окружения локального процесса во все операции.
• dzdo — добавлена поддержка как альтернативы sudo для повышения привилегий.
• Поддержка paramiko v4, совместимость с Python 3.14, ленивая загрузка модулей фактов и операций для ускорения старта.
Обновиться:
pip install --upgrade pyinfra{}
Отзывы канала
всего 8 отзывов
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
Библиотека devops’а — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 10.4K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 9.4, количество отзывов – 8, со средней оценкой 5.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 20559.42 ₽, а за 35 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий