ar
Feedback
Библиотека девопса | DevOps, SRE, Sysadmin

Библиотека девопса | DevOps, SRE, Sysadmin

الذهاب إلى القناة على Telegram

Все самое полезное для девопсера в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/25874ec4 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787

إظهار المزيد

📈 نظرة تحليلية على قناة تيليجرام Библиотека девопса | DevOps, SRE, Sysadmin

تُعد قناة Библиотека девопса | DevOps, SRE, Sysadmin (@devopsslib) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 10 422 مشتركاً، محتلاً المرتبة 11 856 في فئة التكنولوجيات والتطبيقات والمرتبة 62 948 في منطقة روسيا.

📊 مؤشرات الجمهور والحراك

منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 10 422 مشتركاً.

بحسب آخر البيانات بتاريخ 12 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -3، وفي آخر 24 ساعة بمقدار -2، مع بقاء الوصول العام مرتفعاً.

  • حالة التحقق: غير موثّقة
  • معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 8.76‎%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 5.32‎% من ردود الفعل نسبةً إلى إجمالي المشتركين.
  • وصول المنشورات: يحصل كل منشور على متوسط 914 مشاهدة. وخلال اليوم الأول يجمع عادةً 555 مشاهدة.
  • التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 4.
  • الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل devops'a, навигация, скрипт, docker, git.

📝 الوصف وسياسة المحتوى

يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
Все самое полезное для девопсера в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/25874ec4 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787

بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 13 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.

10 422
المشتركون
-224 ساعات
+77 أيام
-330 أيام
أرشيف المشاركات
💡 Почему поды жрут друг-друга Самая частая ошибка в K8s: Pods без CPU/memory requests/limits конкурируют несправедливо. Без лимитов один Pod может сожрать все ресурсы ноды, вызывая голодание или вытеснение других подов под нагрузкой. Реальный кейс: Java-приложение без limits во время GC жрёт 4GB и выкидывает важные сервисы. Плохо (нет ресурсов):
containers:
- name: app
  image: myapp:latest
  # а где...
Правильно. Requests для планирования, limits для защиты:
resources:
  requests:
    memory: "256Mi"  # минимум для scheduler
    cpu: "250m"      # 0.25 CPU
  limits:
    memory: "512Mi"  # максимум памяти
    cpu: "500m"      # максимум CPU
Ставьте ресурсы везде. Это спасёт от 90% проблем с нестабильностью кластера. 🔹 AI-агенты для DS-специалистов 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸 Библиотека devops'a #root@prompt

🧑‍💻 Дебаг Kubernetes без kubectl k9sight это лёгкий open source интерфейс для k8s который работает прямо в терминале и упра
🧑‍💻 Дебаг Kubernetes без kubectl k9sight это лёгкий open source интерфейс для k8s который работает прямо в терминале и управляется только с клавиатуры. Инструмент заточен под дебаг: быстро показывает workloads логи и состояние подов без постоянного набора kubectl. Можно на лету переключаться между deployment и pod, раскрывать контейнеры, смотреть логи, делать exec и port forward одной клавишей. Работает поверх обычного kubeconfig, ставится как один Go бинарник и не требует агентов в кластере. ➡️ Репозиторий проека 🔹 Математика для Data Science 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸 Библиотека devops'a #арсенал_инженера

🖥 Автоматизация установки Jenkins Пример плейбука для Ansible, который устанавливает Jenkins на группу серверов:
- name: Install Jenkins
  hosts: cicd_servers
  become: yes
  tasks:
    - name: Install Java
      apt:
        name: openjdk-11-jdk
        state: present

    - name: Add Jenkins repository and install
      shell: |
        wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
        echo "deb http://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list
        apt update && apt install -y jenkins
Что делает этот плейбук: • Устанавливает нужную версию Java, обязательную для работы Jenkins. • Добавляет официальный репозиторий Jenkins и его ключ для безопасной установки. • Обновляет списки пакетов и устанавливает Jenkins. 🔹 ML для старта в Data Science 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸 Библиотека devops'a #root@prompt

⚙️ Grafana превращается в новый ELK Когда Grafana была просто красивым дашбордом поверх Prometheus и прочих источников метрик
⚙️ Grafana превращается в новый ELK Когда Grafana была просто красивым дашбордом поверх Prometheus и прочих источников метрик. Сейчас из лёгкой панели это выросло в полноценную платформу наблюдаемости с Loki, Tempo, Mimir и облачным сервисом Grafana Cloud и вместе с этим подтянулись сложность и ценники очень похожие на историю ELK. Для небольших команд такая платформа часто оказывается избыточной и опасной в деньгах особенно если нет чёткого понимания что именно нужно мониторить и сколько это будет стоить. 🔹 Программирование на языке Python 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸 Библиотека devops'a #арсенал_инженера

Летим зимовать ✈️ Когда холодает, айтишники пакуют чемоданы, а мы разыгрываем ваучер на 50 000 рублей в Островке. Поехать к морю или остаться среди снежных пейзажей — выбирайте сами! Чтобы участвовать, нужно оставить любую реакцию под этим постом и подписаться на каналы ниже: 😎 Типичный программист 🐸 Библиотека программиста 🟢 Ostrovok! Tech Теперь осталось нажать на кнопку участия под этим постом и вы в игре! Итоги подведём 12 декабря. Победителя выберем с помощью бота. Подробнее с правилами можно ознакомиться здесь. Всем удачи! Участников: 111 Призовых мест: 1 Дата розыгрыша: 19:00, 12.12.2025 MSK (3 дня)

👻 Ghostty стал некоммерческим проектом Ghostty теперь работает под финансовым зонтиком Club который зарегистрирован как неко
👻 Ghostty стал некоммерческим проектом Ghostty теперь работает под финансовым зонтиком Club который зарегистрирован как некоммерческая организация в США. Для пользователей и контрибьюторов важны два момента: Ghostty остаётся бесплатным и с той же MIT лицензией но при этом у проекта появляется прозрачная модель финансирования и защита от сценариев вроде продажи продукта или тихой смены миссии. Все торговые марки и права на название переданы некоммерческой структуре а деньги из донатов могут тратиться только на задачи проекта и его сообщества. ➡️ Источник Библиотека devops'a #пульс_индустрии

🌐 Как найти все открытые сетевые порты Чтобы понять, какие порты на вашем компьютере сейчас прослушиваются и ждут подключения, можно быстро проверить все активные сетевые точки с помощью команды:
netstat -tulnp | grep LISTEN
Она показывает все открытые порты и процессы, которые их используют. • netstat -tulnp выводит список TCP и UDP портов, которые прослушиваются, а также PID соответствующих процессов. • grep LISTEN отфильтровывает этот список, показывая только порты, которые на самом деле слушают входящие соединения. 🔹 Специалист по ИИ 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸 Библиотека devops'a #root@prompt

🐸 Библиотека devops'a #пятничный_деплой
🐸 Библиотека devops'a #пятничный_деплой

👨‍💻 Как пережить переход Let’s Encrypt на 45 дней Вот несколько вещей, которые стоит сделать уже сейчас, чтобы не ловить прод ночью без HTTPS. 1️⃣ Проверяйте срок сертификата из консоли Для локального PEM‑файла:
openssl x509 -enddate -noout -in /path/to/cert.pem
Для сертификата, который уже стоит на сервере (через SNI):
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -enddate
Удобно обернуть это в скрипт и повесить на мониторинг, который будет ругаться, если до истечения меньше, скажем, 7 дней. 2️⃣ Автоматизируйте продление certbot Если вы используете certbot, базовый cron может выглядеть так:
0 2 * * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload nginx"
• Запускайте чаще, чем раз в 30 дней: certbot сам решит, нужно ли обновлять, но у него будет больше попыток. • post-hook важен: Nginx (или другой веб‑сервер) должен перечитать новый сертификат. 3️⃣ Настройте acme.sh Для тех, кто предпочитает acme.sh за лёгкость и поддержку разных провайдеров DNS:
0 0 * * * "/home/user/.acme.sh"/acme.sh --cron --home "/home/user/.acme.sh" > /dev/null
Обратите внимание • acme.sh сам следит за сроком и обновляет вовремя. • После выпуска не забудьте один раз прописать перезагрузку сервиса, например:
/home/user/.acme.sh/acme.sh --install-cert -d example.com
--key-file /etc/ssl/example.com.key
--fullchain-file /etc/ssl/example.com.fullchain.pem
--reloadcmd "systemctl reload nginx"
4️⃣ Добавьте алерты Даже при настроенном cron бывает, что что‑то ломается: права, DNS, лимиты CA. Хорошая практика • В мониторинг (Prometheus, Zabbix, Grafana Agent, любой другой) добавить проверку срока сертификата. • Завести оповещение, если осталось меньше N дней или срок истёк. Избегайте жёстких «обновлять раз в 60 дней» При 45‑дневных сертификатах такая логика приведёт к просрочке. Без ARI или «умных» клиентов используйте правило: обновлять примерно на 2/3 срока жизни сертификата. Для 45 дней это где‑то на 30‑й день. Если у вас уже есть боевой контур на Let’s Encrypt, самое важное сейчас — убедиться, что: • продление полностью автоматизировано • веб‑сервер корректно перечитывает новые сертификаты • есть мониторинг и алерты на срок действия Тогда переход на более короткий срок будет почти незаметен для вас и ваших пользователей. 🔹 Математика для Data Science 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸 Библиотека devops'a #root@prompt

Чтобы не собирать вручную десятки однотипных команд для облачной CLI, мы в MWS Cloud Platform сделали генератор: он берёт Ope
Чтобы не собирать вручную десятки однотипных команд для облачной CLI, мы в MWS Cloud Platform сделали генератор: он берёт OpenAPI-спеки и сам создаёт готовый инструмент для управления облаком. В статье кратко: — почему выбрали Go + Cobra и кодогенерацию; — как из путей и методов рождаются mws <service> <component> <op>; — профили, автообновление, удобный вывод; — что получилось в итоге и зачем это бизнесу. Читать статью

🖇 Как быстро узнать публичный IP сервера Узнать публичный айпи можно за одну строку:
curl -s ifconfig.me
Эта команда отправляет запрос к сервису ifconfig.me, который возвращает текущий внешний IP вашего сервера. Ключ -s отключает лишний вывод, чтобы показать только сам IP. 🔹 Программирование на языке Python 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸 Библиотека devops'a #root@prompt

🐸 Библиотека devops'a #пятничный_деплой
🐸 Библиотека devops'a #пятничный_деплой

⚡️ Let’s Encrypt сократит срок жизни сертификатов Сегодня Let’s Encrypt выдаёт сертификаты на 90 дней, но постепенно этот сро
⚡️ Let’s Encrypt сократит срок жизни сертификатов Сегодня Let’s Encrypt выдаёт сертификаты на 90 дней, но постепенно этот срок урежут до 45 дней для всех публично доверенных сертификатов. Меняется не только срок действия сертификата, но и период повторного использования авторизации домена: сейчас домен‑валидация может переиспользоваться 30 дней, к 2028 году это окно сократят до 7 часов. То есть подтверждать контроль над доменом придётся намного чаще. Если у вас автоматизированный выпуск и продление сертификатов, скорее всего менять ничего не придётся, но автоматизация должна выдерживать более частые обновления. ➡️ Источник 🔹 Математика для Data Science 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸 Библиотека devops'a #пульс_индустрии

🐳 Почему секреты в Dockerfile остаются навсегда Хардкодить ключи и пароли в Dockerfile кажется быстрым решением, но в контейнерном мире это почти гарантированная утечка. Даже если потом удалить секрет, он уже может остаться в слоях образа, логах, кэше сборки и сторонних регистрах. Docker строит образ послойно, и каждый слой можно просмотреть через docker history или инструменты анализа образов. Если на каком то шаге в Dockerfile задать ENV с токеном или скопировать файл с секретами, этот слой останется в истории образа даже после последующих RUN rm и похожих команд. В результате любой, кто получил образ или доступ к реестру, может восстановить эти данные. Надежное правило для повседневной работы простое — в Dockerfile никогда не должно быть токенов, паролей и ключей. Секреты передаются только в рантайме через env file или встроенные механизмы секретов платформы, а процесс сборки остается максимально слепым к конфиденциальным данным. 🔹 Алгоритмы и структуры данных 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸 Библиотека devops'a #root@prompt

👨‍💻 Fedora на MacBook Pro 2019 На MacBook Pro 2019 с чипом T2 ставить Linux непросто. Но Fedora 42 запускается полностью, с
👨‍💻 Fedora на MacBook Pro 2019 На MacBook Pro 2019 с чипом T2 ставить Linux непросто. Но Fedora 42 запускается полностью, с Wi-Fi, звуком и тачпадом, если подготовиться заранее. Если кратко, то раз-раз и готово, а подробности в статье. ➡️ Вот пошаговый план действий 🔹 ML для старта в Data Science 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸 Библиотека devops'a

MLOps — это не только Docker и K8s Чтобы эффективно деплоить и мониторить модели, нужно понимать природу данных и метрик. Dev
MLOps — это не только Docker и K8s Чтобы эффективно деплоить и мониторить модели, нужно понимать природу данных и метрик. DevOps, знающий математику ML, стоит на рынке x1.5. Присоединяйтесь к курсу «Математика для разработки AI-моделей». Мы добавили живые вебинары. Что прокачаем: — понимание матричных операций (нагрузка на железо); — логику линейной регрессии (как модель учится); — SVD и сжатие данных (оптимизация хранения и передачи). Первый вебинар уже в записи. Регистрация до 9 декабря: https://clc.to/LojFzw

🔄 Вышла FreeBSD 15.0 Вышел стабильный релиз FreeBSD 15.0. Образы уже доступны для amd64, aarch64, armv7, powerpc64, powerpc6
🔄 Вышла FreeBSD 15.0 Вышел стабильный релиз FreeBSD 15.0. Образы уже доступны для amd64, aarch64, armv7, powerpc64, powerpc64le и riscv64, а также в форматах для виртуализации и облаков Главное: 15.x окончательно про 64‑битные системы. Поддержка 32‑битных платформ в ядре прекращена, но до конца жизни 16.x останется возможность собирать 32‑битные приложения и запускать их через COMPAT_FREEBSD32 в 64‑битном окружении. Теперь базовую систему можно ставить и обновлять через пакетный менеджер pkg, а классический монолитный подход через freebsd-update помечен как устаревающий и планируется к удалению к 16 версии. Часть старых компонентов объявлена устаревшими или удалена: gvinum, ftpd, shar, fdisk, syscons и ряд старых драйверов ➡️ Анонс релиза 🔹 Специалист по ИИ 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸 Библиотека devops'a #пульс_индустрии

💻 Настраиваем узлы Kubernetes автоматически Когда вы разворачиваете Kubernetes кластер вручную, нужно на каждый узел установить куча компонентов: kubeadm, kubelet, kubectl, добавить репозитории, настроить сеть, включить необходимые модули ядра. На одном узле это полчаса работы. На десяти узлах — это часы монотонной, однообразной работы, где легко что-то забыть или неправильно сделать. Подготовили для вас такой плейбук:
- name: Configure Kubernetes node
  hosts: nodes
  become: yes
  tasks:
    - name: Install kubeadm, kubelet, and kubectl
      apt:
        name: "{{ item }}"
        state: present
      loop:
        - kubeadm
        - kubelet
        - kubectl
hosts: nodes — плейбук выполняется на всех серверах, которые помечены как узлы (nodes) в вашем инвентаре Ansible. become: yes — нужны права администратора для установки пакетов и системных изменений. apt: — модуль для управления пакетами в Debian/Ubuntu. Установит из стандартных репозиториев. loop: — устанавливает три компонента: • kubeadm — инструмент для инициализации и управления кластером • kubelet — агент, который запускает контейнеры на узле • kubectl — команда для управления Kubernetes кластером state: present — пакеты должны быть установлены. После установки этих компонентов узел будет готов присоединиться к кластеру Kubernetes. 🔹 Математика для разработки AI-моделей 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸 Библиотека devops'a #root@prompt

🤩 Автоматический бэкап на Python Регулярные бэкапы — то, о чем вспоминают, когда уже поздно. Вот базовый пример скрипта, который архивирует директорию в tar.gz с таймстэмпом в имени и складывает в заданное место:
import shutil
import time

def backup_directory(source, destination):
    timestamp = time.strftime("%Y%m%d%H%M%S")
    backup_file = f"{destination}/backup_{timestamp}.tar.gz"
    # shutil.make_archive ожидает путь без расширения
    shutil.make_archive(backup_file.replace(".tar.gz", ""), "gztar", source)
    print(f"Backup completed: {backup_file}")

backup_directory("/path/to/important/data", "/path/to/backup/location")
Что делает скрипт: • Берёт путь к исходной директории source и каталогу для бэкапов destination. • Генерирует имя файла по текущему времени, чтобы каждый бэкап был уникальным. • Создаёт архив в формате tar.gz с помощью shutil.make_archive. • Печатает путь к созданному бэкапу. Как использовать в продакшене: • Положить скрипт в репозиторий инфраструктуры или ansible/helm-роль. • Прописать запуск через cron, systemd timer или CI-пайплайн. • Добавить логирование в файл и алерт при ошибке Минимальная доработка под боевое окружение: • Проверка существования директорий. • Конфиг через переменные окружения или .env. • Отправка бэкапа в S3 / объектное хранилище / удалённый сервер. Такой небольшой скрипт закрывает базовую задачу резервного копирования важных директорий без лишних зависимостей. 🔹 Программирование на языке Python 🔹 Получить консультацию менеджера 🔹 Сайт Академии 🔹 Сайт Proglib 🐸 Библиотека devops'a #арсенал_инженера