Кладезь практических материалов по изучению eBPF 🐝
Эта насыщенная иллюстрациями серия от Теодора Подобника поможет вам быстро войти в eBPF-разработку и начать писать собственные программы. Теодор стартует с самых основ и последовательно проводит вас путь от полного нуля в eBPF до написания сначала простых, а затем и гораздо более продвинутых программ:
Серия построена на реальных production-кейcах, а примеры из статей гарантированно компилируются и запускаются вне зависимости от вашего Linux-дистрибутива и версии ядра.
Happy hacking!🚀
👉 DevOps Portal
Эта насыщенная иллюстрациями серия от Теодора Подобника поможет вам быстро войти в 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!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2
Прочитай это – и ты больше никогда не забудешь разницу между CMD и ENTRYPOINT в Docker.
Ответ:
🔹 ENTRYPOINT → Думай об этом как об основной команде, которая всегда выполняется при старте контейнера.
🔹 CMD → Это аргументы по умолчанию для этой команды (их можно переопределить при запуске контейнера).
Пример на картинке
➡️ Когда контейнер запускается → он выполняет ping http://google.com
➡️ Если переопределить CMD →
тогда выполнится
Запомни:
- ENTRYPOINT = что запускать
- CMD = с какими аргументами
👉 DevOps Portal
Ответ:
Пример на картинке
docker run myimage http://yahoo.comтогда выполнится
ping http://yahoo.comЗапомни:
- ENTRYPOINT = что запускать
- CMD = с какими аргументами
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26❤5😁2
Как работает контейнерный нетворкинг 🧐
Docker, Podman и Kubernetes (через CRI) под капотом используют очень похожую схему – виртуальную bridge-сеть.
Собрать bridge-сеть с нуля, используя только базовые Linux-утилиты (ip, nsenter, iptables) – отличный способ разобраться в теме на практике:
https://labs.iximiuz.com/tutorials/container-networking-from-scratch
👉 DevOps Portal
Docker, Podman и Kubernetes (через CRI) под капотом используют очень похожую схему – виртуальную bridge-сеть.
Собрать bridge-сеть с нуля, используя только базовые Linux-утилиты (ip, nsenter, iptables) – отличный способ разобраться в теме на практике:
https://labs.iximiuz.com/tutorials/container-networking-from-scratch
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤4
SBOM становится критически важным для DevOps-команд, управляющих современными CI/CD пайплайнами
Вот почему его стоит внедрить каждой команде
Помните уязвимость Log4j? Тогда компании в спешке пытались определить, какие приложения оказались затронуты.
При наличии SBOM (Software Bill of Materials) этот процесс проходит значительно быстрее.
SBOM предоставляет полный инвентарь всех программных компонентов, входящих в состав приложения.
Сюда входят прямые зависимости, транзитивные зависимости, системные библиотеки, сторонние пакеты, а также ключевые метаданные – лицензии и известные уязвимости.
Традиционные файлы зависимостей, такие как
SBOM обеспечивает более глубокую прозрачность, трекинг безопасности и возможности комплаенса, которые стандартные manifest-файлы обеспечить не могут.
Вот подробный гайд по SBOM:
https://newsletter.devopscube.com/p/sbom-what-why
👉 DevOps Portal
Вот почему его стоит внедрить каждой команде
Помните уязвимость Log4j? Тогда компании в спешке пытались определить, какие приложения оказались затронуты.
При наличии SBOM (Software Bill of Materials) этот процесс проходит значительно быстрее.
SBOM предоставляет полный инвентарь всех программных компонентов, входящих в состав приложения.
Сюда входят прямые зависимости, транзитивные зависимости, системные библиотеки, сторонние пакеты, а также ключевые метаданные – лицензии и известные уязвимости.
Традиционные файлы зависимостей, такие как
pom.xml или package.json, дают лишь поверхностное представление о составе проекта.SBOM обеспечивает более глубокую прозрачность, трекинг безопасности и возможности комплаенса, которые стандартные manifest-файлы обеспечить не могут.
Вот подробный гайд по SBOM:
https://newsletter.devopscube.com/p/sbom-what-why
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍6
Поды не "падают" на ноды случайным образом.
В следующем уроке курса "Kubernetes the Very Hard Way" подробно разбирается, как
https://labs.iximiuz.com/courses/kubernetes-the-very-hard-way-0cbfd997/control-plane/kube-scheduler
👉 DevOps Portal
kube-scheduler оценивает каждое размещение с учётом доступных ресурсов, ограничений и политик.В следующем уроке курса "Kubernetes the Very Hard Way" подробно разбирается, как
kube-scheduler работает изнутриhttps://labs.iximiuz.com/courses/kubernetes-the-very-hard-way-0cbfd997/control-plane/kube-scheduler
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2
В этой статье объясняется, как предотвратить сбои системы, вызванные несбалансированным масштабированием в Kubernetes, используя KEDA с корректной настройкой триггеров и стратегий автоскейлинга
Читайте тут
👉 DevOps Portal
Читайте тут
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3
Изучите Kubernetes и подготовьтесь к сдаче экзамена Certified Kubernetes Administrator (CKA)
Этот курс разработан, чтобы дать глубокое практическое понимание администрирования K8s – от базовых концепций до продвинутого траблшутинга
https://youtu.be/l57xKN6OBhY?si=ye6hGpF2lezRyvgB
👉 DevOps Portal
Этот курс разработан, чтобы дать глубокое практическое понимание администрирования K8s – от базовых концепций до продвинутого траблшутинга
https://youtu.be/l57xKN6OBhY?si=ye6hGpF2lezRyvgB
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🤔1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁34❤8🏆4🌭2🥱1
Вы когда-нибудь использовали
Следующий урок в курсе «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
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
Быстрый совет по Linux
Во время редактирования файла в nano нажмите
Nano выполнит команду и вставит её вывод в текущий файл – это удобно, когда нужно быстро добавить результат команды или сгенерированный текст прямо в процессе редактирования
👉 DevOps Portal
Во время редактирования файла в nano нажмите
Ctrl + T, чтобы выполнить shell-команду, не выходя из редактора.Nano выполнит команду и вставит её вывод в текущий файл – это удобно, когда нужно быстро добавить результат команды или сгенерированный текст прямо в процессе редактирования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22👀7❤3🤔1
Одна из концепций Istio, которую стоит понимать: HBONE
HBONE расшифровывается как HTTP-Based Overlay Network Environment.
По сути, это механизм, с помощью которого Istio безопасно гоняет трафик внутри Kubernetes-кластера.
Вот что он делает:
HBONE создаёт защищённый туннель, по которому передаётся трафик между сервисными прокси.
До появления HBONE каждое соединение между workload’ами приводило к созданию отдельных соединений между их sidecar-прокси.
С HBONE множество соединений мультиплексируются через один общий защищённый туннель.
Как это работает?
HBONE объединяет три веб-стандарта:
Даже если вы напрямую не администрируете service mesh, как DevOps-инженеру вам важно понимать, как все эти компоненты состыкуются между собой.
Если вы работаете с service mesh, разберитесь в базовых принципах и понимайте, что именно происходит под капотом
Примечание: HBONE существует только внутри экосистемы Istio. Это не стандартный сетевой протокол, который можно встретить в спецификациях TCP/IP или HTTP
👉 DevOps Portal
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤4
This media is not supported in your browser
VIEW IN TELEGRAM
Когда понимаешь, что DevOps/SRE – одна из немногих ролей, куда ИИ не сможет полностью проникнуть
👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁17❤15🌚3💊3
This media is not supported in your browser
VIEW IN TELEGRAM
Это всегда DNS!
Независимо от того, дебажишь ли ты проблемы с DNS или просто хочешь узнать, где хостится твой любимый сайт,
👉 DevOps Portal
Независимо от того, дебажишь ли ты проблемы с DNS или просто хочешь узнать, где хостится твой любимый сайт,
nslookup тебя выручит!Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3
Как использовать playground’ы iximiuz Labs в качестве удалённого Docker-контекста.
Пара команд – и ты можешь запускать контейнеры на удалённых VM через локальный docker CLI. Удобно, безопаснее и подходит даже для удалённой сборки образов.
https://labs.iximiuz.com/docs/playground-recipes/remote-docker-host#remote-docker-context
👉 DevOps Portal
Пара команд – и ты можешь запускать контейнеры на удалённых VM через локальный docker CLI. Удобно, безопаснее и подходит даже для удалённой сборки образов.
https://labs.iximiuz.com/docs/playground-recipes/remote-docker-host#remote-docker-context
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2
Как приручить сетевую инфраструктуру? 🤯
Пройти бесплатный мини-курс по компьютерным сетям от Академии Selectel.
Программа курса нацелена на практические навыки. За 4 урока вы научитесь выстраивать базовые сетевые схемы, поднимать выделенные и облачные серверы.
И сразу отработаете навыки — получите промокод на 500 бонусных рублей, чтобы практиковаться в панели управления Selectel бесплатно.
Курс будет интересен как начинающим, так и более опытным сисадминам. Начните обучение сейчас ➡️ https://slc.tl/wfoft?2W5zFGhwrND
Больше инструкций и курсов по сетевому администрированию — в Telegram-канале @selectel_academy. Подписывайтесь!
Пройти бесплатный мини-курс по компьютерным сетям от Академии Selectel.
Программа курса нацелена на практические навыки. За 4 урока вы научитесь выстраивать базовые сетевые схемы, поднимать выделенные и облачные серверы.
И сразу отработаете навыки — получите промокод на 500 бонусных рублей, чтобы практиковаться в панели управления Selectel бесплатно.
Курс будет интересен как начинающим, так и более опытным сисадминам. Начните обучение сейчас ➡️ https://slc.tl/wfoft?2W5zFGhwrND
Больше инструкций и курсов по сетевому администрированию — в Telegram-канале @selectel_academy. Подписывайтесь!
Развертывание Rancher в кластере Kubernetes
- Начните с базового кластера Kubernetes.
- Установите cert-manager для управления SSL-сертификатами.
- Разверните Rancher с помощью Helm-чартов.
- Получите доступ к веб-интерфейсу и импортируйте дополнительные кластеры.
- Управляйте ворклоадами, RBAC и мониторингом во всех кластерах из единой консоли.
Подробное руководство: https://devopscube.com/setup-rancher-on-kubernetes-cluster/
👉 DevOps Portal
- Начните с базового кластера Kubernetes.
- Установите cert-manager для управления SSL-сертификатами.
- Разверните Rancher с помощью Helm-чартов.
- Получите доступ к веб-интерфейсу и импортируйте дополнительные кластеры.
- Управляйте ворклоадами, RBAC и мониторингом во всех кластерах из единой консоли.
Подробное руководство: https://devopscube.com/setup-rancher-on-kubernetes-cluster/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Супер простой Docker-челлендж: напишите Dockerfile и соберите образ для веб-сервиса на Node.js (Express).
Хороший способ начать контейнеризировать свои проекты:
https://labs.iximiuz.com/challenges/docker-write-simple-dockerfile
👉 DevOps Portal
Хороший способ начать контейнеризировать свои проекты:
https://labs.iximiuz.com/challenges/docker-write-simple-dockerfile
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3
kubectl и бесконечные CI-скрипты? Хотите, чтобы деплой был воспроизводимым, контролируемым и прозрачным?ArgoCD — де-факто стандарт GitOps для Kubernetes, который используют в крупных компаниях.
В курсе:
- GitOps — что это и зачем он нужен.
- Установка и настройка ArgoCD.
- Application и App of Apps.
- GitOps-деплой приложений.
- ArgoCD Image Updater (автокоммиты новых образов).
- Notifications (Telegram).
- SOPS и шифрование секретов в Git.
Курс подойдёт, если у вас есть базовые знания Docker и Kubernetes, вы DevOps или просто хотите прокачать практический GitOps-навык, который точно встретится в работе!
👉 Открыть курс на Stepik
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍1
Глубокое погружение в Kubelet: разбираемся с причинами сбоев при старте Pod’ов
Подробный гайд по архитектуре kubelet, управлению жизненным циклом Pod’ов и системному траблшутингу проблем запуска контейнеров
https://issaouiadam.medium.com/the-kubelet-deep-dive-understanding-pod-startup-failures-155f94ba7433
👉 DevOps Portal
Подробный гайд по архитектуре kubelet, управлению жизненным циклом Pod’ов и системному траблшутингу проблем запуска контейнеров
https://issaouiadam.medium.com/the-kubelet-deep-dive-understanding-pod-startup-failures-155f94ba7433
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Финальный урок по control plane в Kubernetes the Very Hard Way, посвящённый kube-controller-manager, уже опубликован:
https://labs.iximiuz.com/courses/kubernetes-the-very-hard-way-0cbfd997/control-plane/kube-controller-manager
👉 DevOps Portal
https://labs.iximiuz.com/courses/kubernetes-the-very-hard-way-0cbfd997/control-plane/kube-controller-manager
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Фаерволы ненавидят этот один трюк
Можно туннелировать TCP-пакеты, например SSH, прямо поверх обычных ICMP Echo Request и Echo Reply, что помогает незаметно обходить эти надоедливые фаерволы.
👉 DevOps Portal
Можно туннелировать TCP-пакеты, например SSH, прямо поверх обычных ICMP Echo Request и Echo Reply, что помогает незаметно обходить эти надоедливые фаерволы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥5❤4