В Kubernetes появилась новая фича — Changed Block Tracking для CSI-драйверов, но она пока в альфе. Суть простая: вместо того чтобы копировать весь том при бэкапе, система отслеживает только изменившиеся блоки данных и забирает именно их.
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня покажем вам команду для подписки на наш канал в X:
proglib follow https://x.com/_proglib --notify
Если не сработает, то всегда можно перейти по ссылке и подписаться вручную.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2👍1
🤖 Курс «ИИ-агенты для DS-специалистов»
Последняя возможность в этом году освоить ИИ-агентов — курс стартует уже 3 октября! Первый вебинар пройдёт в день старта, а подробности вебинара можно найти на сайте.
📚 Бонус: при оплате до 30 сентября вы получите дополнительный лонгрид для подготовки к курсу. Это отличный способ подойти к занятиям уже с базой.
🔥 А ещё после прохождения курса у вас будет достаточно знаний, чтобы участвовать в хакатоне с призовым фондом 1 125 000 ₽.
🔗 Записаться на курс и узнать подробности
Последняя возможность в этом году освоить ИИ-агентов — курс стартует уже 3 октября! Первый вебинар пройдёт в день старта, а подробности вебинара можно найти на сайте.
📚 Бонус: при оплате до 30 сентября вы получите дополнительный лонгрид для подготовки к курсу. Это отличный способ подойти к занятиям уже с базой.
🔥 А ещё после прохождения курса у вас будет достаточно знаний, чтобы участвовать в хакатоне с призовым фондом 1 125 000 ₽.
🔗 Записаться на курс и узнать подробности
Линус Торвальдс объявил релиз Linux 6.17. По его словам, неделя вышла спокойной: никаких «бомб», только ровная полировка.
Самое заметное — фиксы гонок в Bluetooth, которые могли приводить к use-after-free. Плюс привычный набор мелочей: драйверы (в основном GPU и сеть), файловые системы, ядро и память, апдейты selftests.
#пульс_индустрии
Please open Telegram to view this post
VIEW IN TELEGRAM
📡 Конец эпохи диалап
Компания AOL официально прекращает поддержку dial-up — того самого интернета с писком модема и долгим ожиданием соединения.
В 90-е и начале 2000-х это был главный способ выйти в сеть, и многие именно с него начинали знакомство с интернетом.
Dial-up остаётся в прошлом — вместе со звуками соединения и лимитированными тарифами на часы онлайна.
❓ А когда вы в последний раз пользовались dial-up интернетом
📎 Источник
🐸 Библиотека devops'a
#dev_null
Компания AOL официально прекращает поддержку dial-up — того самого интернета с писком модема и долгим ожиданием соединения.
В 90-е и начале 2000-х это был главный способ выйти в сеть, и многие именно с него начинали знакомство с интернетом.
Dial-up остаётся в прошлом — вместе со звуками соединения и лимитированными тарифами на часы онлайна.
📎 Источник
#dev_null
Please open Telegram to view this post
VIEW IN TELEGRAM
Distroless-образы стали популярны благодаря минимализму: внутри только ваше приложение и рантайм: Java, Go, Node.js. Никакого bash, curl или apt. Это повышает безопасность, ускоряет скачивание и снижает поверхность атаки.
Но у такого подхода есть обратная сторона — как отлаживать контейнер без шелла и утилит?
В обычном контейнере вы просто делаете kubectl exec -it pod -- bash и изучаете логи, процессы, сетевые соединения. В distroless — так не получится: шелла и инструментов там нет.
Kubernetes позволяет «прикреплять» временные контейнеры к работающему Pod без его рестарта. Вы можете подключить образ с нужными утилитами и дебажить приложение вживую:
kubectl debug pod/<имя-пода> -it --image=busybox --target=<контейнер>
Эфемерный контейнер делит тот же namespace, что и приложение, поэтому вы получаете доступ к файловой системе, процессам и сети. После завершения отладки контейнер исчезает.
#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰6👏5👍3
Forwarded from Библиотека задач по DevOps | тесты, код, задания
Есть поле int _counter; инкрементируется из нескольких потоков. Требование: корректный подсчёт, минимальные накладные расходы, без блокировок. Что выбрать?
👾 — Объявить _counter как volatile и использовать ++_counter
👍 — Использовать Interlocked.Increment(ref _counter)
🥰 — Оборачивать ++_counter в lock
⚡️ — Вставить Thread.MemoryBarrier() до и после ++_counter
Библиотека задач по DevOps
👾 — Объявить _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 exec, port-forward или держите отдельный debug-pod?
🐸 Библиотека devops'a
#root@prompt
Обычно, чтобы понять, доступен ли сервис внутри кластера, приходится делать port-forward или искать под с установленным curl. Но есть более короткий путь:
kubectl run curl --rm -it --image=alpine/curl -- -sS myservice.default:8443
👉 А вы чаще используете для диагностики kubectl exec, port-forward или держите отдельный debug-pod?
#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
#Арсенал_инженера
Когда говорят о 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. И если он работает стабильно, то и весь кластер предсказуемо выполняет ваши инструкции.
#Арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM