Библиотека девопса | DevOps, SRE, Sysadmin – Telegram
Библиотека девопса | DevOps, SRE, Sysadmin
10.3K subscribers
1.65K photos
75 videos
4 files
2.94K links
Все самое полезное для девопсера в одном канале.

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

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

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

РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787
Download Telegram
🧑‍💻 Когда сервис есть, а эндпоинтов ноль

В Kubernetes сервис живет за счет совпадения селектора и меток у pod’ов. Стоит им разъехаться сервис останется без эндпоинтов и трафик просто перестанет доходить.

Классика сервис ищет pod’ы по селектору app: frontend, а Deployment размечает их как component: frontend или app: ui. В итоге сервис существует, DNS работает, но kubectl get endpoints my-service показывает пустой список, а наружу это выглядит как «все крутится, но запросы висят».

Пример:
# Service
spec:
selector:
app: frontend
---
# Deployment pod labels
metadata:
labels:
app: ui


Такая мелочь превращает все реплики в осиротевшие поды. Сервис их не видит и не проксирует к ним трафик. Диагностика всегда начинается с kubectl get endpoints <svc> и проверки kubectl get pods -l key=value.

Чтобы не ловить тихие простои держите правило селекторы и метки описываются в одном месте и копируются, а не набираются с клавиатуры плюс при любом изменении сразу проверяйте kubectl get endpoints и kubectl describe svc прежде чем считать rollout успешным.

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

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

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
CI/CD для твоих скиллов

DevOps — это вечное обучение. Инструменты меняются, подходы устаревают. Чтобы твой пайплайн развития не упал, нужно вовремя накатывать обновления.

Спецпредложение 1 + 2:

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

Что пригодится инженеру:

— программирование на Python (для автоматизации всего);
— основы IT (структурировать хаос).

Настроить пайплайн

До 31 декабря.
Саппорт: @manager_proglib
1
🔄 Вышел Kali Linux 2025.4

Kali выкатили релиз 2025.4. Главное изменение — GNOME обновили до версии 49, полностью перевели на Wayland и выкинули X11 сессии. Заодно чуть причесали UX заменили Totem на Showtime, научили грид приложений складывать Kali tools в папки.

Live образ стал жертвой роста всего подряд его размер окончательно пробил лимит Cloudflare CDN в районе 5 ГБ, поэтому команда официально перевела доставку Live ISO исключительно на BitTorrent.

На стороне тулзов добавили bpf-linker, evil-winrm-py и hexstrike-ai и заодно подтянули ядро до 6.16. NetHunter получил поддержку Android 16 для нескольких устройств, обновленный Terminal с поддержкой новых версий Magisk, косметику в UI и новые шаблоны для WiFi атак.

➡️ Release Notes

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

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

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👨‍💻 Автоматизация настройки балансировщика нагрузки HAProxy

Настройка балансировщика нагрузки — важная задача для любого масштабируемого сервиса. Автоматизация с помощью Playbook помогает быстро и без ошибок развернуть HAProxy на нужных серверах.

Пример Ansible плейбука для установки и настройки HAProxy:
- name: Install and configure HAProxy
hosts: lb_servers
become: yes
tasks:
- name: Install HAProxy
apt:
name: haproxy
state: present

- name: Configure HAProxy
template:
src: haproxy.cfg.j2
dest: /etc/haproxy/haproxy.cfg


Пример шаблона haproxy.cfg.j2 с базовыми настройками:
    log /dev/log local0
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners
user haproxy
group haproxy
daemon

defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms

frontend http_front
bind *:80
default_backend http_back

backend http_back
balance roundrobin
server web1 192.168.1.101:80 check
server web2 192.168.1.102:80 check


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

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

#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
🧑‍💻 Появилась дорожная карта по DevSecOps

roadmap.sh дропнули новую роадмапу по DevSecOps. Если думали перейти, но не было внятного плана, то это отличный и продуманный путь на 2026 год.

Можно быстро прикинуть, чего не хватает от secure coding и контейнерной безопасности до мониторинга, инцидент респонса и комплаенс.

➡️ Начать путь секьюрщика

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

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

#архитектура_на_салфетке
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👾1
🔒 Невидимый защитник ваших файлов

Когда вы создаёте файл в Linux, вы думаете, что указываете ему права доступа. Но на самом деле происходит кое-что более сложное. umask — это скрытый охранник, который удаляет права из ваших файлов без вашего ведома.

Проблема: Файл создался, но прав меньше, чем ожидалось

Представьте ситуацию:
$ touch myfile.txt
$ ls -l myfile.txt
-rw-r--r-- 1 user user 0 Dec 16 10:00 myfile.txt


Вы ожидали, что файл будет доступен для записи группе и другим пользователям. Но этого не произошло. Вместо ожидаемых 0666 rw-rw-rw- вы получили 0644 rw-r--r--.

umask — это маска вычитания прав доступа. Это не то, что добавляет права, а то, что их удаляет.

Выглядит это примерно так:
Желаемые права файла:      0666 (rw-rw-rw-)
Текущий umask: 0022 (----w--w-)
Результат (0666 & ~0022): 0644 (rw-r--r--)


Как узнать текущий umask:
$ umask
0022


Как изменить umask в текущей сессии:
$ umask 0077
$ touch secret.txt
$ ls -l secret.txt
-rw------- 1 user user 0 Dec 16 10:00 secret.txt


Постоянно: добавить в ~/.bashrc или ~/.zshrc

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

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

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩6
📎 Простой скрипт для мониторинга ресурсов системы

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

Небольшой Python-скрипт с библиотекой psutil поможет быстро контролировать эти показатели:
import psutil

def check_system_resources():
cpu_usage = psutil.cpu_percent(interval=1)
memory_usage = psutil.virtual_memory().percent

if cpu_usage > 80:
print(f"High CPU usage: {cpu_usage}%")
if memory_usage > 80:
print(f"High Memory usage: {memory_usage}%")

check_system_resources()


Что делает скрипт:

• Измеряет загрузку процессора за 1 секунду
• Проверяет процент занятой оперативной памяти
• При использовании CPU или памяти выше 80% выводит предупреждение

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

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

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

#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
3😁3🌚1
🏆 Топ-вакансий для девопсов за неделю

DevOps Engineer от 175 000 ₽ в Санкт-Петербург.

DevOps-инженер
от 300 000 ₽ в Москву.

Lead DevOps Specialist до 350 000 ₽ на удалёнку. Хотели стать лидом? Это ваш шанс.

➡️ Еще больше топовых вакансий — в нашем канале Devops Jobs

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

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

#вакансия_недели
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳 Локальные LLM на винде

Docker добавили поддержку vLLM в Docker Model Runner на Windows через Docker Desktop с WSL2 и NVIDIA GPU. Теперь можно гонять высокопроизводительный inference LLMов локально почти теми же командами, что и в Linux.

Базовый сценарий: включаете Model Runner, ставите backend vLLM с CUDA и запускаете подготовленные образы с суффиксом -vllm:
docker desktop enable model-runner --tcp 12434
docker model install-runner --backend vllm --gpu cuda

docker model run ai/smollm2-vllm "Tell me about Docker."

➡️ Блог разработчиков

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

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

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🌐 Cтандартизация правил файрвола

Защита серверов — обязательный элемент работы любой инфраструктуры. Настройка правил файрвола с помощью Ansible Playbook помогает быстро и единообразно обезопасить все серверы.

Пример плейбука для конфигурации UFW:
- name: Configure UFW Firewall Rules
hosts: all
become: yes
tasks:
- name: Allow SSH
ufw:
rule: allow
port: '22'
proto: tcp

- name: Allow HTTP and HTTPS
ufw:
rule: allow
port: '{{ item }}'
proto: tcp
loop:
- 80
- 443

- name: Enable UFW
ufw:
state: enabled
policy: deny


Что делает этот плейбук:

• Разрешает входящие соединения по SSH (порт 22)
• Открывает HTTP (80) и HTTPS (443) для веб-трафика
• Включает UFW с политикой блокировки всех остальных подключений по умолчанию

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

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

#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
5😁1
🐞 Первая уязвимость в Rust коде ядра Linux

В ядре Linux поймали первую CVE на Rust коде CVE‑2025‑68260 в драйвере rust_binder, который переписывает Android Binder на Rust. Баг не в Rust, а в участке unsafe вокруг двусвязного списка. Два потока могут одновременно трогать один и тот же элемент, в итоге портятся prev/next и ядро падает с крэшем, то есть по сути DoS уязвимость.

Баг не в Rust, а ровно в том участке, где автор сознательно вышел в unsafe ради работы с низкоуровневой структурой списка.

➡️ Источник

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

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

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
🛠 Куча папок за одну команду

Новичок в shell-скриптинге рассуждает логично: создам папку через mkdir. Просто же. Запускает:
mkdir /app/data/logs/2025/01/17


mkdir создаёт только последнюю папку в цепочке. Если пути не существует, то ничего не сработает. Нужно создавать по одной:
mkdir /app
mkdir /app/data
mkdir /app/data/logs
mkdir /app/data/logs/2025
mkdir /app/data/logs/2025/01
mkdir /app/data/logs/2025/01/17


Спасает один флаг:
mkdir -p /app/data/logs/2025/01/17


Все папки создаются сразу. Как по волшебству. Eсли какая-то из папок уже существует, mkdir -p не будет ругаться. Просто пропустит её.

Флаг -v выведет список всех созданных папок. Полезно при отладке:
mkdir -pv /app/data/logs


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

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

#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🥱2
🔒 Установка SSL сертификата с Certbot через Ansible

Безопасность веб-приложений начинается с правильной настройки SSL/TLS. Let’s Encrypt предлагает бесплатные сертификаты, а их развёртывание можно автоматизировать с помощью Certbot.

Пример простого плейбука для установки и настройки SSL на серверах с Nginx:
- name: Install and configure Let's Encrypt SSL
hosts: web_servers
become: yes
tasks:
- name: Install Certbot
apt:
name: certbot
state: present

- name: Obtain SSL certificate
shell: certbot certonly - standalone -d example.com -email admin@example.com -agree-tos -non-interactive

- name: Configure Nginx to use SSL
template:
src: nginx_ssl.conf.j2
dest: /etc/nginx/sites-available/default
notify:
- Restart Nginx

handlers:
- name: Restart Nginx
systemd:
name: nginx
state: restarted


Что делает этот плейбук:

• Устанавливает Certbot — инструмент для автоматической работы с сертификатами Let’s Encrypt.

• Получает SSL-сертификат для домена example.com в безголовом режиме non-interactive.

• Копирует шаблон конфигурации nginx_ssl.conf.j2 для включения SSL в настройках Nginx.

• Перезапускает Nginx, чтобы применить новые настройки.

Для масштабируемых проектов рекомендуется дополнить playbook обновлением сертификатов и настройкой их автоматического продления.

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

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

#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
⚡️ Сисадмина в Amazon уволили из-за задержки

Amazon вычислила подставного сисадмина, который работал как удаленный сотрудник из США, но на деле был связан с КНДР.

По данным Amazon подозрение вызвала нетипичная задержка ввода с клавиатуры у нового админа, ноутбук которого числился в Аризоне. Для обычного американского удаленного сотрудника задержка составляет десятки миллисекунд, а у него она превышала 110 миллисекунд, что выглядело как работа через дополнительный удаленный доступ.

CSO Amazon Стивен Шмидт рассказал, что с апреля 2024 года компания сорвала более 1800 попыток проникновения северокорейских работников и видит рост таких атак примерно на 27 процентов квартал к кварталу.

➡️ Источник

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

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

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
Под капотом управляемой базы данных в MWS Cloud Platform

Разбираем внутренности managed баз в 10-м выпуске реалити-проекта Building the Cloud.

Покажем, как устроена архитектура управляемых баз данных, как работают агенты и реконсиляция, и что нужно сделать инженеру managed-решения, чтобы оно было безопасным.

📅 Эфир 25 декабря, 14:00 (мск)

🎁 Розыгрыш мерча MWS за лучший вопрос

👉 Регистрация
Пятничный вопрос и можно отдыхать

Последний рывок перед выходными. Ответьте на вопрос: зачем используется команда terraform taint?

👇 Свои ответы пишите в комменты, а правильный ответ в нашем канале с задачами

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

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

#задача_со_звёздочкой
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥2
🔍 15 AI сервисов, которые берут на себя рутину поиска работы за границей

Если вы метите в рынок США или Европы, поиск работы превращается в отдельный проект со своими процессами и метриками. На сайте Библиотеки программиста опубликовали подборку из 15 AI сервисов, которые помогают не только оформить резюме, но и выстроить внятный пайплайн поиска.

➡️ Список сервисов

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

🐸 Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🎓 Твой опыт стоит дорого — стань экспертом Proglib Academy

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

Мы ищем сильных практиков, которые хотят попробовать себя в роли:

— преподавателей;
— авторов курсов;
— наставников.

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

👉 Заполни короткую анкету
🤔 Пора развиваться

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

Не обязательно знать язык как разработчик, но подтягивать базу нужно. У нашего джависта две страсти — красивые виды и Java. Он понятно расскажет про фичи языка.

Подпишитесь 👉 @javaproglib

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

🐸 Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM