loose_code | Unsorted

Telegram-канал loose_code - DevOps Portal | Linux

13139

Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps Сотрудничество, реклама: @devmangx Менеджер: @Spiral_Yuri РКН: https://clck.ru/3P8kFH

Subscribe to a channel

DevOps Portal | Linux

Одна из концепций Istio, которую стоит понимать: HBONE

HBONE расшифровывается как HTTP-Based Overlay Network Environment.

По сути, это механизм, с помощью которого Istio безопасно гоняет трафик внутри Kubernetes-кластера.

Вот что он делает:

HBONE создаёт защищённый туннель, по которому передаётся трафик между сервисными прокси.

До появления HBONE каждое соединение между workload’ами приводило к созданию отдельных соединений между их sidecar-прокси.

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

Как это работает?

HBONE объединяет три веб-стандарта:

• HTTP/2 — позволяет передавать несколько потоков в рамках одного TCP-соединения

• HTTP CONNECT — используется для построения туннеля поверх существующего соединения

• mTLS (mutual TLS) — шифрует туннель и обеспечивает взаимную аутентификацию сторон


Даже если вы напрямую не администрируете service mesh, как DevOps-инженеру вам важно понимать, как все эти компоненты состыкуются между собой.

Если вы работаете с service mesh, разберитесь в базовых принципах и понимайте, что именно происходит под капотом

Примечание: HBONE существует только внутри экосистемы Istio. Это не стандартный сетевой протокол, который можно встретить в спецификациях TCP/IP или HTTP

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

Вы когда-нибудь использовали curl для работы с Kubernetes API или смотрели, что именно сохраняется в etcd после выполнения kubectl apply?

Следующий урок в курсе «Kubernetes the Very Hard Way» разбирает, как kube-apiserver интегрируется в Kubernetes и как он работает под капотом:
https://labs.iximiuz.com/courses/kubernetes-the-very-hard-way-0cbfd997/control-plane/kube-apiserver#overview

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

Изучите Kubernetes и подготовьтесь к сдаче экзамена Certified Kubernetes Administrator (CKA)

Этот курс разработан, чтобы дать глубокое практическое понимание администрирования K8s – от базовых концепций до продвинутого траблшутинга

https://youtu.be/l57xKN6OBhY?si=ye6hGpF2lezRyvgB

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

Поды не "падают" на ноды случайным образом. kube-scheduler оценивает каждое размещение с учётом доступных ресурсов, ограничений и политик.

В следующем уроке курса "Kubernetes the Very Hard Way" подробно разбирается, как kube-scheduler работает изнутри

https://labs.iximiuz.com/courses/kubernetes-the-very-hard-way-0cbfd997/control-plane/kube-scheduler

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

Как работает контейнерный нетворкинг 🧐

Docker, Podman и Kubernetes (через CRI) под капотом используют очень похожую схему – виртуальную bridge-сеть.

Собрать bridge-сеть с нуля, используя только базовые Linux-утилиты (ip, nsenter, iptables) – отличный способ разобраться в теме на практике:
https://labs.iximiuz.com/tutorials/container-networking-from-scratch

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

Кладезь практических материалов по изучению eBPF 🐝

Эта насыщенная иллюстрациями серия от Теодора Подобника поможет вам быстро войти в eBPF-разработку и начать писать собственные программы. Теодор стартует с самых основ и последовательно проводит вас путь от полного нуля в eBPF до написания сначала простых, а затем и гораздо более продвинутых программ:

От нуля до первого eBPF-приложения
https://labs.iximiuz.com/tutorials/my-first-ebpf-program-5120140e

Хранение данных в eBPF: создаём первую eBPF map
https://labs.iximiuz.com/tutorials/ebpf-maps-tutorial-3efd4617

Инспекция и мониторинг eBPF-приложений
https://labs.iximiuz.com/tutorials/inspecting-ebpf-using-bpftool-43dfa319

eBPF Verifier: почему ядро может безопасно выполнять eBPF-программы
https://labs.iximiuz.com/tutorials/ebpf-verifier-3bd2e199

eBPF-челлендж для начинающих
https://labs.iximiuz.com/challenges/ebpf-beginner-challenge-89ffd924

eBPF Tracepoints, Kprobes или Fprobes: что выбрать?
https://labs.iximiuz.com/tutorials/ebpf-tracing-46a570d1

Почему eBPF-программа работает на одном ядре и падает на другом?
https://labs.iximiuz.com/tutorials/portable-ebpf-programs-46216e54

Разработка по-настоящему переносимых eBPF-программ и BTFHub
https://labs.iximiuz.com/tutorials/truly-portable-ebpf-a7554c66

Разные способы доставки событий ядра из eBPF в user space
https://labs.iximiuz.com/tutorials/user-space-event-delivery-2197d020

Rate limiting сетевого трафика с помощью eBPF/XDP
https://labs.iximiuz.com/tutorials/ebpf-ratelimiting-dbc12915

Практика с XDP: eBPF для высокопроизводительного сетевого стека
https://labs.iximiuz.com/tutorials/ebpf-xdp-fundamentals-6342d24e

Разработка firewall на базе eBPF с матчингом диапазонов IP через LPM trie
https://labs.iximiuz.com/tutorials/ebpf-firewall-ed03d648

С нуля: L4 load balancer на базе eBPF/XDP с использованием NAT
https://labs.iximiuz.com/tutorials/xdp-load-balancer-700a1d74

С нуля: L2 Direct Server Return load balancer на eBPF/XDP
https://labs.iximiuz.com/tutorials/xdp-dsr-layer2-lb-92b02f3e

С нуля: IP-in-IP Direct Server Return load balancer на eBPF/XDP
https://labs.iximiuz.com/tutorials/xdp-dsr-load-balancer-b701a95a


Серия построена на реальных production-кейcах, а примеры из статей гарантированно компилируются и запускаются вне зависимости от вашего Linux-дистрибутива и версии ядра.

Happy hacking! 🚀

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

Небольшое, но интересное упражнение по отладке Kubernetes — сможете ли вы отредактировать файл в уже запущенном pod’е?

Если задача кажется слишком простой, попробуйте пройти её:
https://labs.iximiuz.com/challenges/edit-file-in-running-kubernetes-pod

Почему-то этот челлендж помечен как «hard» 😉

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

🚨 Как защитить IT-инфраструктуру от сбоев и простоев?

NetPing — опытный производитель решений для мониторинга серверных комнат и управления электропитанием. С 2005 года мы помогаем снижать риски и обеспечивать стабильную работу IT-оборудования.

🌡 Что вы получаете с NetPing?
• Контроль за температурой, влажностью, протечками и задымлением.
• Мониторинг напряжения, тока и мощности.
• Управление доступом: движение, двери и сигнализация.
• Оповещения о проблемах в реальном времени.

💡 Почему выбирают нас?
• Надёжные «коробочные» решения, которые работают у тысяч пользователей.
• Интеграция с оборудованием других брендов.
• Полный контроль качества: от разработки до производства.

Доверьтесь опыту инженеров NetPing — выбирайте надежные решения!

#мониторингсерверных #сетевоеоборудование #контрольэлектропитания

Реклама.
О рекламодателе.

Читать полностью…

DevOps Portal | Linux

Как работает NAT?

Несколько устройств внутри сети используют приватные IP-адреса.
Маршрутизатор применяет NAT, чтобы сопоставить их с одним публичным IP-адресом в интернете.

Исходящий трафик → NAT подменяет приватный IP на публичный IP

Входящий ответ → NAT подменяет публичный IP обратно на приватный IP

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

Kide — это платформа наблюдаемости (observability), которая в реальном времени принимает и индексирует логи и метрики, позволяя вам искать, анализировать данные кластеров и приложений и настраивать алерты без ожидания.

GitHub: kide

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

Почему Zsh такой крутой 😍

В стандартных шеллах вроде bash, чтобы поработать со строками, обычно приходится пайпить переменные в sed, basename и прочие утилиты. В Zsh эта логика встроена прямо в синтаксис расширения переменных.

Да, это ломает переносимость скриптов из-за несовместимости с POSIX. Но для интерактивной работы и личных конфигов это на порядок быстрее и удобнее.

Самый полезный модификатор? :r (root) — отрезает расширение файла.

Синтаксис такой: ${file:r}

Допустим, нужно передать имя файла (game.cpp) и чтобы итоговый бинарник назывался так же (game), не прописывая имя дважды.

Используем ${1:r}, чтобы автоматически убрать расширение из аргумента. Пример функции в Zsh:

function grun() {
# $1 это "game.cpp"
# ${1:r} станет "game"

g++ -Wall -std=c++17 "$1" -o "${1:r}" && ./"${1:r}"
}


Запуск grun main.cpp скомпилирует и сразу запустит main – одним махом.

Как только начинаешь активно использовать модификаторы, назад уже не хочется.

Ещё полезные модификаторы:

:e — получить только расширение

:a — получить абсолютный путь

:h — получить имя родительской директории

:t — получить basename

И да, снова: переносимость скриптов ограничена из-за несовместимости с POSIX.

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

Тренировка для линуксоидов ⚔️👁⚔️

Всего 34 уровня. Ваша задача на каждом из них — найти ключ к следующему.

Примеры уровней:

🟢 Дан файл, внутри которого лежит hexdump несколько раз сжатого разными алгоритмами контента. Вам нужно, соответственно, реверснуть хекс и несколько раз правильными утилитами (gzip, bzip2, tar) разжать файл.
🟢 На локалхосте несколько процессов слушают порты в диапазоне от 31000 до 32000. Вам нужно найти правильный порт и отправить на него ключ от текущего уровня, используя SSL/TLS-шифрование.

Я залип на день в этой штуке. Всем советую ☺️

https://overthewire.org/wargames/bandit/

P.S. Ссылка не открывается без VPN, хотя к самим тачкам-уровням по SSH без него подключиться можно.

Больше полезных материалов для девопсов/линуксоидов в канале @davydovpage

Читать полностью…

DevOps Portal | Linux

А вы знали, что можно запускать поды на ноде Kubernetes без control plane?

Или что с kubelet можно общаться напрямую через его API?

Зацените следующий урок курса «Kubernetes the Very Hard Way». В нём подробно разбирается, как работает kubelet изнутри:
https://labs.iximiuz.com/courses/kubernetes-the-very-hard-way-0cbfd997/worker-node/kubelet

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

Простой YAML для деплоя EKS-кластера

В этом туториале по Kubernetes вы научитесь за несколько минут создавать AWS EKS-кластер с помощью YAML-конфига eksctl.

Также будут рассмотрены ключевые концепции eksctl.

Так как же работает eksctl?

Когда вы применяете YAML-файл eksctl или выполняете команду создания кластера, под капотом деплоятся шаблоны CloudFormation.

По сути, именно шаблоны CloudFormation и разворачивают кластер.

eksctl – это всего лишь обёртка над CloudFormation.

Читайте подробнее:
https://devopscube.com/create-aws-eks-cluster-eksctl/

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

⚡ Повысить производительность СУБД или сократить расходы на IT-инфраструктуру?

Не нужно выбирать. Selectel расскажет и покажет, как найти баланс на примере собственного сервиса.

Подключайтесь к бесплатному вебинару для тех, кто работает с базами данных
🗓 5 февраля, 12:00
📍 Онлайн

Вы узнаете:

- как работают базы данных на выделенном облачном сервере,
- какие особенности архитектуры позволяют повысить производительность сервиса в 10 раз и получить до 1,5 млн IOPS и 7000 Мб/c в облаке,
- как клиентам Selectel удается экономить до 47% на IT-инфраструктуре.

Регистрируйтесь по ссылке: https://slc.tl/60r6y

👉 Чтобы не пропустить новые мероприятия, воркшопы и бесплатные курсы Selectel, подписывайтесь на @selectel_events

Реклама. АО "Селектел". erid:2W5zFJvxwXN

Читать полностью…

DevOps Portal | Linux

Быстрый совет по Linux

Во время редактирования файла в nano нажмите Ctrl + T, чтобы выполнить shell-команду, не выходя из редактора.

Nano выполнит команду и вставит её вывод в текущий файл – это удобно, когда нужно быстро добавить результат команды или сгенерированный текст прямо в процессе редактирования

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

Kubernetes за 60 секунд

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

В этой статье объясняется, как предотвратить сбои системы, вызванные несбалансированным масштабированием в Kubernetes, используя KEDA с корректной настройкой триггеров и стратегий автоскейлинга

Читайте тут

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

SBOM становится критически важным для DevOps-команд, управляющих современными CI/CD пайплайнами

Вот почему его стоит внедрить каждой команде

Помните уязвимость Log4j? Тогда компании в спешке пытались определить, какие приложения оказались затронуты.

При наличии SBOM (Software Bill of Materials) этот процесс проходит значительно быстрее.

SBOM предоставляет полный инвентарь всех программных компонентов, входящих в состав приложения.

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

Традиционные файлы зависимостей, такие как pom.xml или package.json, дают лишь поверхностное представление о составе проекта.

SBOM обеспечивает более глубокую прозрачность, трекинг безопасности и возможности комплаенса, которые стандартные manifest-файлы обеспечить не могут.

Вот подробный гайд по SBOM:
https://newsletter.devopscube.com/p/sbom-what-why

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

Прочитай это – и ты больше никогда не забудешь разницу между CMD и ENTRYPOINT в Docker.

Ответ:

🔹 ENTRYPOINT → Думай об этом как об основной команде, которая всегда выполняется при старте контейнера.
🔹 CMD → Это аргументы по умолчанию для этой команды (их можно переопределить при запуске контейнера).

Пример на картинке

➡️ Когда контейнер запускается → он выполняет ping http://google.com
➡️ Если переопределить CMD → docker run myimage http://yahoo.com
тогда выполнится ping http://yahoo.com

Запомни:

- ENTRYPOINT = что запускать
- CMD = с какими аргументами

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

Объявляем конкурс грантов на новый поток курса AI в DevOps 💫

Это курс для тех, кто давно хочет автоматизировать рутину, стандартизировать работу с AI и разобраться во множестве AI-инструментов.

При выполнении всех условий вы сможете получить один из трех вариантов гранта:

⭐️ 1 место — скидка 100%;
⭐️ 2 места — скидка 60%;
⭐️ 3 места — скидка 40%.

За время учёбы вы:
🔹 Научитесь основам работы LLM и промпт-инжинирингу.
🔹 Узнаете причины уязвимости LLM и как с ними бороться.
🔹 Погрузитесь в Low-Code Automation (на базе n8n).
🔹 Создадите эффективный CLAUDE.md для своего проекта.
И многое другое.

Условия:
• Быть подписанным на Telegram-канал Слерма.
• Выполнить до 18:00 17 февраля задание по ссылке.
• Дождаться результатов — они появятся в канале Слерма 20 февраля.

Программа обучения здесь 👈

Читать полностью…

DevOps Portal | Linux

Docker за 60 секунд

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

Можно ли защитить непреднамеренно открытый порт сервера с помощью файрвола?

Очевидно, что такого вообще не должно было произойти, но это уже случилось. Теперь у вас есть проблема, и при этом нет возможности перезапустить сервис с корректной конфигурацией.

Удачи: https://labs.iximiuz.com/challenges/linux-protect-ports

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

Создание тестовых сред: история замаскированной базы
Вебинар | 🗓️ 12.02.2026 в 11:00 МСК

По данным отчёта DBIR Verizon, до 95% инцидентов связаны с
ошибками в работе с данными, а каждый третий кейс — с передачей данных между командами и подрядчиками.

❗В прямом эфире разберём реальную историю одной тестовой базы: от срочной задачи до последствий для DevOps, QA, аналитики и бизнеса.

На вебинаре обсудим:
✔️ почему «замаскировали по правилам» ≠ данные остались рабочими
✔️ что именно ломается в аналитике, скоринге и ML при ошибочном маскировании
✔️ какие ошибки в non-prod выглядят безобидно, но позже обходятся неделями переделок
✔️ как выстроить процесс маскирования, при котором ИБ спокойна, а разработка и аналитика могут работать без стопов
✔️ как избежать пересборки баз, ручных согласований и постоянных конфликтов между командами

👉 Регистрируйтесь на вебинар
#реклама
О рекламодателе

Читать полностью…

DevOps Portal | Linux

Как превратить init-container в sidecar-container?

В Kubernetes 1.28 появилась нативная поддержка sidecar-контейнеров через механизм init-containers.

Это стало возможным благодаря новому полю restartPolicy, которое устанавливается в значение "Always".

Фича основана на концепции "персистентного init-контейнера". Init-container стартует первым, а за счёт restartPolicy получает поведение sidecar-контейнера.

Такой контейнер работает на протяжении всего жизненного цикла Pod’а.

Проще говоря, чтобы превратить init-container в sidecar, достаточно добавить в его спецификацию атрибут:

restartPolicy: Always


Это опциональная настройка. Если restartPolicy не указан, контейнер будет работать как обычный init-container.

Нативный sidecar поддерживает поля livenessProbe, readinessProbe и startupProbe. Также можно добавить lifecycle-хуки PostStart и PreStop.

Чтобы подробнее разобраться в init-контейнерах и нативных sidecar-контейнерах, читайте статью:
https://devopscube.com/kubernetes-init-containers/

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

Перестаньте вручную опрашивать Pod’ы на предмет их готовности

Используйте команду kubectl wait в своих CI/CD пайплайнах или скриптах. В связке с нативными sidecar-контейнерами образца 2026 года это поможет гарантировать, что ваши logging/security агенты уже поднялись до старта основного приложения

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

etcd — это высокодоступное и строго согласованное key-value хранилище, которое обеспечивает работу Kubernetes, храня в нём всё состояние кластера.

Следующий урок из серии «Kubernetes the Very Hard Way», посвящённый etcd, доступен на iximiuz Labs:
https://labs.iximiuz.com/courses/kubernetes-the-very-hard-way-0cbfd997/control-plane/etcd

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

Развертывание «Штурвала 2.12.1» под таймер ⏰

Разработчики из «Лаборатории Числитель» выкатили новый релиз, в котором исправления затронули процедуры обновления кластеров, работу графического интерфейса, создание и удаление кластеров на разных провайдерах.

5 февраля в 11:00 на вебинаре ребята пройдут весь процесс инсталляции в графическом интерфейсе на oVirt (zVirt, ROSA Virtualization, РЕД Виртуализация) в режиме реального времени.

Для кого вебинар: DevOps-инженеров и архитекторов, разработчиков, специалистов служб эксплуатации.

📌 Зарегистрироваться

Читать полностью…

DevOps Portal | Linux

Kubelet – это "руки и ноги" Kubernetes: компонент, который работает на каждом узле и приводит желаемое состояние к фактическому

Следующий урок курса «Kubernetes the Very Hard Way» даёт углублённое представление о kubelet

Доступно на iximiuz Labs: https://labs.iximiuz.com/courses/kubernetes-the-very-hard-way-0cbfd997/worker-node/kubelet

👉 DevOps Portal

Читать полностью…

DevOps Portal | Linux

Dockadvisor - быстрый, легковесный линтер Dockerfile написанный на Go, который помогает найти различные общие проблемы и анти-паттерны.

В его составе порядка 60 правил, все достаточно стандартно для подобных инструментов (Dockle*, Hadolint, KICS, Checkov, Semgrep). Из приятного есть наличие красивого web-интерфейса с подсветкой и при этом можно использовать как и чисто go библиотеку.

GitHub: dockadvisor

👉 DevOps Portal

Читать полностью…
Subscribe to a channel