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

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

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

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

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
👨‍💻 Быстрые бэкапы без лишних гигабайт в k8s

В Kubernetes появилась новая фича — Changed Block Tracking для CSI-драйверов, но она пока в альфе. Суть простая: вместо того чтобы копировать весь том при бэкапе, система отслеживает только изменившиеся блоки данных и забирает именно их.

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

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

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
🙏 CLI-команда для подписки

Сегодня покажем вам команду для подписки на наш канал в X:
proglib follow https://x.com/_proglib --notify


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

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2👍1
🤖 Курс «ИИ-агенты для DS-специалистов»

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

📚 Бонус: при оплате до 30 сентября вы получите дополнительный лонгрид для подготовки к курсу. Это отличный способ подойти к занятиям уже с базой.

🔥 А ещё после прохождения курса у вас будет достаточно знаний, чтобы участвовать в хакатоне с призовым фондом 1 125 000 ₽.

🔗 Записаться на курс и узнать подробности
🐧 Linux 6.17

Линус Торвальдс объявил релиз Linux 6.17. По его словам, неделя вышла спокойной: никаких «бомб», только ровная полировка.

Самое заметное — фиксы гонок в Bluetooth, которые могли приводить к use-after-free. Плюс привычный набор мелочей: драйверы (в основном GPU и сеть), файловые системы, ядро и память, апдейты selftests.

➡️ Анонс обновления

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

#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
📡 Конец эпохи диалап

Компания AOL официально прекращает поддержку dial-up — того самого интернета с писком модема и долгим ожиданием соединения.

В 90-е и начале 2000-х это был главный способ выйти в сеть, и многие именно с него начинали знакомство с интернетом.

Dial-up остаётся в прошлом — вместе со звуками соединения и лимитированными тарифами на часы онлайна.

А когда вы в последний раз пользовались dial-up интернетом

📎 Источник

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

#dev_null
Please open Telegram to view this post
VIEW IN TELEGRAM
📎 Как дебажить distroless-контейнеры в Kubernetes

Distroless-образы стали популярны благодаря минимализму: внутри только ваше приложение и рантайм: Java, Go, Node.js. Никакого bash, curl или apt. Это повышает безопасность, ускоряет скачивание и снижает поверхность атаки.

Но у такого подхода есть обратная сторона — как отлаживать контейнер без шелла и утилит?

В обычном контейнере вы просто делаете kubectl exec -it pod -- bash и изучаете логи, процессы, сетевые соединения. В distroless — так не получится: шелла и инструментов там нет.

Kubernetes позволяет «прикреплять» временные контейнеры к работающему Pod без его рестарта. Вы можете подключить образ с нужными утилитами и дебажить приложение вживую:
kubectl debug pod/<имя-пода> -it --image=busybox --target=<контейнер>


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


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

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰6👏5👍3
Есть поле int _counter; инкрементируется из нескольких потоков. Требование: корректный подсчёт, минимальные накладные расходы, без блокировок. Что выбрать?

👾 — Объявить _counter как volatile и использовать ++_counter
👍 — Использовать Interlocked.Increment(ref _counter)
🥰 — Оборачивать ++_counter в lock
⚡️ — Вставить Thread.MemoryBarrier() до и после ++_counter

Библиотека задач по DevOps
👾1
🎓 Как вайб-кодинг меняет рынок IT-образования

За последние годы подход к обучению программированию меняется быстрее, чем сами языки. На смену долгим упражнениям с синтаксисом приходит работа с идеями и концепциями, где код во многом генерируется автоматически.

Этот сдвиг называют «вайб-кодингом». Он уже влияет на университетские программы, онлайн-курсы и требования к выпускникам.

➡️ В статье о том, что стоит за этим термином и как он меняет обучение IT-специалистов.

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
🚑 Как проверить, жив ли сервис в Kubernetes за одну команду

Обычно, чтобы понять, доступен ли сервис внутри кластера, приходится делать port-forward или искать под с установленным curl. Но есть более короткий путь:
kubectl run curl --rm -it --image=alpine/curl -- -sS myservice.default:8443


👉 А вы чаще используете для диагностики kubectl exec, port-forward или держите отдельный debug-pod?

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

#root@prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Зачем нужен Control Plane в Kubernetes

Когда говорят о Kubernetes, чаще всего представляют себе кластер из множества узлов, где запускаются контейнеры. Но вся эта система работает не сама по себе — ей нужен мозг, управляющий всеми процессами. Этим мозгом и является Control Plane.

Control Plane — это набор компонентов, которые принимают решения о том, что, где и как должно выполняться в кластере. Если рабочие узлы можно сравнить с мускулами, то Control Plane — это нервная система и голова.

В состав Control Plane входят:

• kube-apiserver — главный вход в кластер. Все команды kubectl и взаимодействия с API проходят через него. Он обеспечивает проверку запросов, аутентификацию и валидацию.

• etcd — распределённое хранилище, где держится всё состояние кластера. По сути, это “база данных” Kubernetes, в которой записано, какие ресурсы есть, какое у них состояние и какие должны быть цели.

• kube-scheduler — отвечает за то, на какой рабочий узел попадут новые поды. Он анализирует доступные ресурсы, ограничения, правила и принимает решение.

• kube-controller-manager — набор контроллеров, которые следят, чтобы желаемое состояние совпадало с фактическим. Например, если вы сказали, что должно быть три пода, а осталось два, контроллер поднимет третий.

• cloud-controller-manager (опционально) — компонент для интеграции с облаками (AWS, Azure, GCP и др.), который умеет управлять балансировщиками, дисками и сетями в зависимости от платформы.

Главная сила Control Plane в том, что он реализует декларативную модель управления. Вы описываете в манифесте YAML, что «хочу три реплики приложения», а Control Plane сам добивается этого состояния: запускает поды, следит за их здоровьем и пересоздаёт при сбоях.

Любое действие с кластером — от деплоя приложения до масштабирования или обновления — в конечном счёте проходит через Control Plane. И если он работает стабильно, то и весь кластер предсказуемо выполняет ваши инструкции.

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

#Арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM