DevOps-инструмент недели: Inspektor Gadget
При работе с Kubernetes возможности eBPF позволяют видеть каждый системный вызов (syscall) и каждый сетевой пакет на уровне ядра Linux. Но сама по себе эта информация не отвечает на главный вопрос: какому Pod, контейнеру или Namespace принадлежит событие?
Именно эту проблему решает Inspektor Gadget — open-source инструмент для диагностики и отладки Kubernetes-кластеров и Linux-хостов на базе eBPF.
Он автоматически связывает события ядра с объектами Kubernetes, что значительно упрощает поиск проблем. Что умеет Inspektor Gadget?
В режиме реального времени отслеживает:
• DNS-запросы;
• TCP-соединения;
• открытие файлов;
• запуск процессов внутри контейнеров.
Захватывает сетевые пакеты внутри любого контейнера с использованием фильтров в стиле
Позволяет мгновенно обнаруживать:
• OOM Kill;
• потерю TCP-пакетов;
• TCP Retransmissions;
• другие проблемы на уровне ядра.
Фильтрует события по имени Pod или контейнера, причём фильтрация выполняется непосредственно в ядре, что минимизирует накладные расходы.
Помогает автоматически генерировать:
• Seccomp Profiles;
• Kubernetes NetworkPolicies
• на основе реального поведения приложений во время выполнения.
GitHub: https://github.com/inspektor-gadget/inspektor-gadget
👉 DevOps Portal
При работе с Kubernetes возможности eBPF позволяют видеть каждый системный вызов (syscall) и каждый сетевой пакет на уровне ядра Linux. Но сама по себе эта информация не отвечает на главный вопрос: какому Pod, контейнеру или Namespace принадлежит событие?
Именно эту проблему решает Inspektor Gadget — open-source инструмент для диагностики и отладки Kubernetes-кластеров и Linux-хостов на базе eBPF.
Он автоматически связывает события ядра с объектами Kubernetes, что значительно упрощает поиск проблем. Что умеет Inspektor Gadget?
В режиме реального времени отслеживает:
• DNS-запросы;
• TCP-соединения;
• открытие файлов;
• запуск процессов внутри контейнеров.
Захватывает сетевые пакеты внутри любого контейнера с использованием фильтров в стиле
tcpdump (pcap).Позволяет мгновенно обнаруживать:
• OOM Kill;
• потерю TCP-пакетов;
• TCP Retransmissions;
• другие проблемы на уровне ядра.
Фильтрует события по имени Pod или контейнера, причём фильтрация выполняется непосредственно в ядре, что минимизирует накладные расходы.
Помогает автоматически генерировать:
• Seccomp Profiles;
• Kubernetes NetworkPolicies
• на основе реального поведения приложений во время выполнения.
Важно: Inspektor Gadget запускается как privileged DaemonSet, поскольку eBPF требует доступа к ядру Linux. Для многопользовательских кластеров рекомендуется использовать встроенные механизмы ограничения запуска отдельных gadgets.
GitHub: https://github.com/inspektor-gadget/inspektor-gadget
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥5
У небольших команд GPU-запросы очень прикладные:
прогнать модель, ускорить рендер, обработать тяжелые данные. Дальше DevOps раскладывает задачу на рабочие параметры — модель GPU, количество карт на сервер, срок запуска, питание, SLA, формат доступа к ресурсу.
Крупные игроки резервируют GPU заранее и надолго, а под небольшую, но нагруженную задачу мощности надо искать.
Из свежего, и пока мало кто в курсе — Московский кластер видеоигр и анимации начал сдавать в аренду выделенные GPU. Посмотрел, что там по конфигурации 👇
Из карт — H100 и RTX Ada 5000/6000, от 1 до 8 GPU на сервер, ресурс закрепляется за арендатором. Закрывает AI/ML, LLM, inference, 3D/Render, VDI.
Если нужен не отдельный GPU-сервер, а колокейшн — там же от 1U до полной стойки 42U на 10 кВт (можно расширить до 20), два независимых ввода питания на стойку.
Цены конкурируют с коммерческими ЦОДами — площадку субсидирует город.
👉 DevOps Portal
прогнать модель, ускорить рендер, обработать тяжелые данные. Дальше DevOps раскладывает задачу на рабочие параметры — модель GPU, количество карт на сервер, срок запуска, питание, SLA, формат доступа к ресурсу.
Крупные игроки резервируют GPU заранее и надолго, а под небольшую, но нагруженную задачу мощности надо искать.
Из свежего, и пока мало кто в курсе — Московский кластер видеоигр и анимации начал сдавать в аренду выделенные GPU. Посмотрел, что там по конфигурации 👇
Из карт — H100 и RTX Ada 5000/6000, от 1 до 8 GPU на сервер, ресурс закрепляется за арендатором. Закрывает AI/ML, LLM, inference, 3D/Render, VDI.
Если нужен не отдельный GPU-сервер, а колокейшн — там же от 1U до полной стойки 42U на 10 кВт (можно расширить до 20), два независимых ввода питания на стойку.
Цены конкурируют с коммерческими ЦОДами — площадку субсидирует город.
Please open Telegram to view this post
VIEW IN TELEGRAM
Московский кластер видеоигр и анимации
Центр обработки данных — Кластер видеоигр и анимации
Надёжный ЦОД для игровых студий, ML-команд и медиапроизводства. 21 стойка, 400+ кВт, SLA 99,95%.
❤6👍2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Нативные sidecar-контейнеры в Kubernetes
Основная сложность - правильно управлять жизненным циклом sidecar-контейнера: он должен запускаться раньше приложения, продолжать работать вместе с ним, перезапускаться при неожиданном завершении и останавливаться только после завершения самого приложения.
Раньше для реализации паттерна sidecar приходилось писать собственные скрипты, но нативная поддержка sidecar-контейнеров в Kubernetes через init-контейнеры с
В этом практическом туториале рассказывают, как работают нативные sidecar-контейнеры в Kubernetes, чем они отличаются от обычных и init-контейнеров, а также как попрактиковаться в их использовании на нескольких реалистичных сценариях:
https://labs.iximiuz.com/tutorials/kubernetes-native-sidecars
👉 DevOps Portal
Sidecar — это вспомогательный процесс, который запускается рядом с основным приложением. Такой паттерн удобен, когда дополнительную функциональность лучше подключить отдельно: например, сетевой прокси, сборщик и отправщик логов, коллектор метрик или агент, который загружает секреты.
Основная сложность - правильно управлять жизненным циклом sidecar-контейнера: он должен запускаться раньше приложения, продолжать работать вместе с ним, перезапускаться при неожиданном завершении и останавливаться только после завершения самого приложения.
Раньше для реализации паттерна sidecar приходилось писать собственные скрипты, но нативная поддержка sidecar-контейнеров в Kubernetes через init-контейнеры с
restartPolicy: Always заметно упростила этот процесс.В этом практическом туториале рассказывают, как работают нативные sidecar-контейнеры в Kubernetes, чем они отличаются от обычных и init-контейнеров, а также как попрактиковаться в их использовании на нескольких реалистичных сценариях:
https://labs.iximiuz.com/tutorials/kubernetes-native-sidecars
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2
Большинство инструментов безопасности для Kubernetes лишь уведомляют о проблеме уже после того, как она произошла.
KubeArmor работает иначе.
Это опенсорсный инструмент безопасности, который на уровне ядра контролирует, какие процессы могут запускаться, к каким файлам можно обращаться и какие сетевые запросы разрешены внутри ворклоадов.
Вместо простого алерта он блокирует действие ещё до его выполнения.
Что умеет KubeArmor
— Блокирует неожиданный запуск процессов или доступ к файлам внутри пода ещё до того, как это произойдёт.
— Применяет принцип минимально необходимых прав с помощью вайтлистинга процессов и сетевых подключений для каждого ворклоада.
— Ограничивает доступ к чувствительным путям, например к бандлам сертификатов и секретам, чтобы их нельзя было прочитать или изменить.
— Применяет политики харденинга, сопоставленные с MITRE, CIS и STIG, без необходимости писать их самостоятельно.
— Обеспечивает детальную видимость происходящего в рантайме с помощью eBPF, включая информацию о подах, контейнерах и неймспейсах.
https://github.com/kubearmor/KubeArmor
👉 DevOps Portal
KubeArmor работает иначе.
Это опенсорсный инструмент безопасности, который на уровне ядра контролирует, какие процессы могут запускаться, к каким файлам можно обращаться и какие сетевые запросы разрешены внутри ворклоадов.
Вместо простого алерта он блокирует действие ещё до его выполнения.
Что умеет KubeArmor
— Блокирует неожиданный запуск процессов или доступ к файлам внутри пода ещё до того, как это произойдёт.
— Применяет принцип минимально необходимых прав с помощью вайтлистинга процессов и сетевых подключений для каждого ворклоада.
— Ограничивает доступ к чувствительным путям, например к бандлам сертификатов и секретам, чтобы их нельзя было прочитать или изменить.
— Применяет политики харденинга, сопоставленные с MITRE, CIS и STIG, без необходимости писать их самостоятельно.
— Обеспечивает детальную видимость происходящего в рантайме с помощью eBPF, включая информацию о подах, контейнерах и неймспейсах.
https://github.com/kubearmor/KubeArmor
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍1😁1
Создаём контейнер наподобие Docker с нуля
Освойте ключевые пространства имён Linux, собрав небольшой, но реалистичный контейнер, используя только штатные команды Linux:
Изучаем здесь
👉 DevOps Portal
Освойте ключевые пространства имён Linux, собрав небольшой, но реалистичный контейнер, используя только штатные команды Linux:
unshare, mount и pivot_root. Никакой магии рантайма и (почти) никаких упрощений.Изучаем здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3
Radar обеспечивает наглядное представление Kubernetes-кластера с помощью топологических графов, таймлайнов событий и визуализации трафика между сервисами.
Инструмент распространяется в виде одного бинарника, напрямую подключается к Kubernetes API и не требует установки компонентов внутри кластера.
➜ https://github.com/skyhook-io/radar
👉 DevOps Portal
Инструмент распространяется в виде одного бинарника, напрямую подключается к Kubernetes API и не требует установки компонентов внутри кластера.
➜ https://github.com/skyhook-io/radar
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥4
Большинство пользователей Kubernetes до сих пор не знают о существовании этого типа томов
Он называется ImageVolume.
Вот как он работает
Функция Image Volume позволяет использовать OCI-образы в качестве томов непосредственно внутри Pod’ов Kubernetes.
Что такое OCI-образы?
Это стандартизированный формат, который определяет структуру контейнерных образов.
С помощью ImageVolume можно хранить в образах файлы моделей, бинарные файлы, конфигурации и другие данные, а затем монтировать их в Pod’ы.
Вот практическое руководство, в котором показано, как работает эта функция и как её использовать.
Полезная возможность, о которой стоит знать.
https://devopscube.com/oci-image-volume-kubernetes-pods/
👉 DevOps Portal
Он называется ImageVolume.
Вот как он работает
Функция Image Volume позволяет использовать OCI-образы в качестве томов непосредственно внутри Pod’ов Kubernetes.
Что такое OCI-образы?
Это стандартизированный формат, который определяет структуру контейнерных образов.
С помощью ImageVolume можно хранить в образах файлы моделей, бинарные файлы, конфигурации и другие данные, а затем монтировать их в Pod’ы.
Вот практическое руководство, в котором показано, как работает эта функция и как её использовать.
Полезная возможность, о которой стоит знать.
https://devopscube.com/oci-image-volume-kubernetes-pods/
Примечание: ImageVolume подходит для любых workload’ов, которым удобно поставлять данные внутри образа: файлы моделей, датасеты, конфигурации, статические ресурсы и даже инструменты.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🥱1
Как работает сетевая подсистема контейнеров
Большинство Docker-инсталляций и Kubernetes-кластеров используют одинаковую схему сетей на основе мостов. Как лучше всего разобраться, как это устроено?
Попробуйте воссоздать такую сетевую конфигурацию с нуля, используя только стандартные Linux-команды: https://labs.iximiuz.com/tutorials/container-networking-from-scratch
👉 DevOps Portal
Большинство Docker-инсталляций и Kubernetes-кластеров используют одинаковую схему сетей на основе мостов. Как лучше всего разобраться, как это устроено?
Попробуйте воссоздать такую сетевую конфигурацию с нуля, используя только стандартные Linux-команды: https://labs.iximiuz.com/tutorials/container-networking-from-scratch
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥3
В этом руководстве показано, как построить SaaS-архитектуру с отдельным окружением для каждого пользователя в EKS Auto Mode: один pod, один поддомен и один persistent volume на пользователя, wildcard TLS и общий ALB.
➜ Читайте тут
👉 DevOps Portal
➜ Читайте тут
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Компьютерные сети 101: сокеты
Лучший способ понять, что такое сокеты и как они работают - написать несколько простых клиент-серверных программ. Хорошая новость: для этого достаточно нескольких строк на Python или Go. А если хочется испытать себя, попробуйте C - кода будет больше, зато вы окажетесь максимально близко к реальному системному API.
Несколько задач для практики в безопасном и контролируемом окружении с полезными подсказками:
Удачного хакинга!
👉 DevOps Portal
Лучший способ понять, что такое сокеты и как они работают - написать несколько простых клиент-серверных программ. Хорошая новость: для этого достаточно нескольких строк на Python или Go. А если хочется испытать себя, попробуйте C - кода будет больше, зато вы окажетесь максимально близко к реальному системному API.
Несколько задач для практики в безопасном и контролируемом окружении с полезными подсказками:
— Написать простой TCP Echo-сервер
https://labs.iximiuz.com/challenges/write-tcp-echo-server
— Задача попроще: написать клиент для сервера телеметрии
https://labs.iximiuz.com/challenges/write-tcp-client-for-telemetry-server
— Задача посложнее: написать клиент для чат-сервера
https://labs.iximiuz.com/challenges/write-tcp-client-for-chat-server
— Сделать сервер, который работает и с TCP-, и с Unix-сокетами
https://labs.iximiuz.com/challenges/write-stream-echo-server
Удачного хакинга!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥3
Linux 101: монтируем диск с уже записанными данными и читаем его содержимое
Практика по работе с накопителями в Linux:
1. Найти неподключённый диск
2. Примонтировать его к директории в корневой файловой системе
3. Найти флаг на примонтированном диске
Практическое задание: https://labs.iximiuz.com/challenges/storage-simple-mount
👉 DevOps Portal
Практика по работе с накопителями в Linux:
1. Найти неподключённый диск
2. Примонтировать его к директории в корневой файловой системе
3. Найти флаг на примонтированном диске
Практическое задание: https://labs.iximiuz.com/challenges/storage-simple-mount
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
This media is not supported in your browser
VIEW IN TELEGRAM
Kuber Community Day возвращается
30 июля в Москве все неравнодушные к технологии встречаются на инженерной конференции Kuber Community Day.
На сцене выступят практики из Ænix, MWS, «Райффайзенбанка», «СберЗдоровья», «Лаборатории Числитель», «Почтатех», «Инфосистемы Джет», Hilbert Team и других компаний.
Что вас ждет:
◾доклады без маркетинга: 30 спикеров расскажут об использовании ИИ в Kubernetes, мониторинге контейнеров, обзоре инструментов экосистемы, получении сертификаций и пр.;
◾мастер-класс по созданию Kubernetes-оператора: в конце все участники задеплоят его в кластер Yandex Managed Kubernetes;
◾arch dating: короткие встречи с опытными специалистами, где можно обсудить технические и карьерные вопросы;
◾научпоп: рассказ о кибернетическом подходе к управлению сложностью от Александра Нозика, директора центра научного программирования.
Форматы: офлайн и онлайн.
Участие бесплатное, регистрация обязательна.
30 июля в Москве все неравнодушные к технологии встречаются на инженерной конференции Kuber Community Day.
На сцене выступят практики из Ænix, MWS, «Райффайзенбанка», «СберЗдоровья», «Лаборатории Числитель», «Почтатех», «Инфосистемы Джет», Hilbert Team и других компаний.
Что вас ждет:
◾доклады без маркетинга: 30 спикеров расскажут об использовании ИИ в Kubernetes, мониторинге контейнеров, обзоре инструментов экосистемы, получении сертификаций и пр.;
◾мастер-класс по созданию Kubernetes-оператора: в конце все участники задеплоят его в кластер Yandex Managed Kubernetes;
◾arch dating: короткие встречи с опытными специалистами, где можно обсудить технические и карьерные вопросы;
◾научпоп: рассказ о кибернетическом подходе к управлению сложностью от Александра Нозика, директора центра научного программирования.
Форматы: офлайн и онлайн.
Участие бесплатное, регистрация обязательна.
❤3😁3🥱1
В этом репозитории собрано более 20 инструментов, которые автоматически генерируют архитектурные диаграммы Kubernetes на основе манифестов, Helm-чартов или текущего состояния кластера.
https://github.com/philippemerle/Awesome-Kubernetes-Architecture-Diagrams
👉 DevOps Portal
https://github.com/philippemerle/Awesome-Kubernetes-Architecture-Diagrams
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Небольшой совет по Linux
При создании новой директории часто приходится выполнять:
Эти два шага можно объединить в одну команду:
Переменная
Небольшой трюк, который позволяет сэкономить несколько нажатий клавиш при работе в терминале
👉 DevOps Portal
При создании новой директории часто приходится выполнять:
$ mkdir project
$ cd project
Эти два шага можно объединить в одну команду:
$ mkdir app && cd $_
Переменная
$_ разворачивается в последний аргумент предыдущей команды, которым в данном случае является app.Небольшой трюк, который позволяет сэкономить несколько нажатий клавиш при работе в терминале
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👍8🌚4
Прокачайте навыки работы с Kubernetes на реалистичных сценариях:
👉 DevOps Portal
Создать собственный PriorityClass и назначить его рабочей нагрузке
https://labs.iximiuz.com/challenges/create-and-assign-a-custom-priorityclass-to-a-workload-b3699c08
Расширить кластер дополнительным диапазоном Service CIDR для команды разработки
https://labs.iximiuz.com/challenges/extend-the-cluster-with-an-additional-service-cidr-for-the-dev-team-5251bc66
Включить отдельные DNS-записи для каждого Pod в Deployment
https://labs.iximiuz.com/challenges/enable-per-pod-dns-records-for-deployment-1c6a4201
Разобраться, почему Pod’ы приложения-календаря со списком задач зависли в состоянии Pending
https://labs.iximiuz.com/challenges/troubleshoot-why-the-calendar-todo-app-pods-are-stuck-in-pending-9f571aa2
Повторно подключить сохранённый PV с помощью нового PVC и восстановить потерянную базу данных MariaDB
https://labs.iximiuz.com/challenges/reclaim-retained-pv-with-new-pvc-and-restore-lost-mariadb-database-783fe3ae
Настроить обязательное использование TLS для продакшен-Deployment с Nginx
https://labs.iximiuz.com/challenges/enforce-tls-policy-on-production-nginx-deployment-a9190dec
Подключить конфигурационный файл, не перезаписывая существующую директорию из образа
https://labs.iximiuz.com/challenges/inject-configmap-file-without-overwriting-existing-directory-23bcc10e
Закрепить клиента за одним и тем же Pod с помощью Session Affinity в Service
https://labs.iximiuz.com/challenges/pin-a-client-to-the-same-pod-using-service-session-affinity-6b19b89f
Настроить Health Probes и корректное завершение работы для Kubernetes Deployment
https://labs.iximiuz.com/challenges/configure-health-probes-and-graceful-shutdown-kubernetes-deployment-90e57daa
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4🤯2
Как собрать мультиплатформенный контейнерный образ из отдельных одноплатформенных сборок?
Собрать мультиплатформенный образ несложно, когда все его варианты можно описать одним Dockerfile. Но так получается не всегда. Например, если приложение мигрирует с одного стека на другой, а поддержка одной из платформ всё ещё отстаёт, в итоге приходится использовать как минимум два разных Dockerfile и собирать два независимых варианта образа.
К счастью, отдельные одноплатформенные сборки можно сшить в один мультиплатформенный образ, аккуратно работая с индексом образа.
Разобраться в магии этого процесса можно здесь:
https://labs.iximiuz.com/challenges/docker-push-multi-platform-image
👉 DevOps Portal
Собрать мультиплатформенный образ несложно, когда все его варианты можно описать одним Dockerfile. Но так получается не всегда. Например, если приложение мигрирует с одного стека на другой, а поддержка одной из платформ всё ещё отстаёт, в итоге приходится использовать как минимум два разных Dockerfile и собирать два независимых варианта образа.
К счастью, отдельные одноплатформенные сборки можно сшить в один мультиплатформенный образ, аккуратно работая с индексом образа.
Разобраться в магии этого процесса можно здесь:
https://labs.iximiuz.com/challenges/docker-push-multi-platform-image
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Forwarded from Мир Linux
DevOps-инструмент недели: HAMi
Обычно Kubernetes-кластер выделяет целый GPU под одну рабочую нагрузку.
В результате часть ресурсов GPU простаивает.
HAMi решает эту проблему.
Это опенсорс middleware для Kubernetes, которое позволяет распределять, изолировать и планировать GPU и другие AI-ускорители между Pod’ами без изменений в коде приложения.
Что умеет HAMi:
- Делит один GPU на несколько частей по объёму памяти, количеству ядер или числу устройств
- Задаёт жёсткие лимиты памяти и вычислительных ресурсов для каждой рабочей нагрузки, чтобы один Pod не мог занять ресурсы другого
- Оптимально распределяет задачи по GPU: уплотняет их для экономии ресурсов или разносит по разным устройствам, чтобы избежать снижения производительности
- Управляет NVIDIA GPU, NPU, DCU, MLU и другими типами ускорителей через единый механизм планирования
- Позволяет запускать мультитенантные задачи обучения, инференса и среды с ноутбуками в общем пуле GPU
GitHub: https://github.com/Project-HAMi/HAMi
@linuxos_tg
Обычно Kubernetes-кластер выделяет целый GPU под одну рабочую нагрузку.
В результате часть ресурсов GPU простаивает.
HAMi решает эту проблему.
Это опенсорс middleware для Kubernetes, которое позволяет распределять, изолировать и планировать GPU и другие AI-ускорители между Pod’ами без изменений в коде приложения.
Что умеет HAMi:
- Делит один GPU на несколько частей по объёму памяти, количеству ядер или числу устройств
- Задаёт жёсткие лимиты памяти и вычислительных ресурсов для каждой рабочей нагрузки, чтобы один Pod не мог занять ресурсы другого
- Оптимально распределяет задачи по GPU: уплотняет их для экономии ресурсов или разносит по разным устройствам, чтобы избежать снижения производительности
- Управляет NVIDIA GPU, NPU, DCU, MLU и другими типами ускорителей через единый механизм планирования
- Позволяет запускать мультитенантные задачи обучения, инференса и среды с ноутбуками в общем пуле GPU
GitHub: https://github.com/Project-HAMi/HAMi
@linuxos_tg
❤5🔥1
В качестве движка выполнения пайплайнов Kubeflow Pipelines использует Argo Workflows.
Это Kubernetes-native движок оркестрации DAG.
Что именно это означает?
DAG (Directed Acyclic Graph, направленный ациклический граф) описывает задачи и зависимости между ними.
Например:
- Сначала выполняется задача A
- После A запускаются задачи B и C
- Задача D запускается только после завершения B и C
Самое интересное — как Argo выполняет эти задачи.
В большинстве инструментов DAG описываются на Python.
В Argo DAG задаётся декларативно в YAML в виде CRD, а каждую задачу Argo выполняет как отдельный Kubernetes Pod.
Kubeflow использует Argo Workflows в качестве бэкенда и добавляет поверх него слой для задач AI/ML.
При работе с Kubeflow Pipelines вместо того, чтобы напрямую писать YAML-манифесты Argo Workflow, пайплайны нужно описывать в виде DAG на Python.
Для ML-команд это значительно удобнее, чем поддерживать сотни строк YAML с Kubernetes CRD.
Kubeflow SDK компилирует описание пайплайна на Python в YAML в формате Intermediate Representation (IR).
Затем оно преобразуется в специфичное для Argo описание и передаётся на выполнение.
👉 DevOps Portal
Это Kubernetes-native движок оркестрации DAG.
Что именно это означает?
DAG (Directed Acyclic Graph, направленный ациклический граф) описывает задачи и зависимости между ними.
Например:
- Сначала выполняется задача A
- После A запускаются задачи B и C
- Задача D запускается только после завершения B и C
Самое интересное — как Argo выполняет эти задачи.
В большинстве инструментов DAG описываются на Python.
В Argo DAG задаётся декларативно в YAML в виде CRD, а каждую задачу Argo выполняет как отдельный Kubernetes Pod.
Kubeflow использует Argo Workflows в качестве бэкенда и добавляет поверх него слой для задач AI/ML.
При работе с Kubeflow Pipelines вместо того, чтобы напрямую писать YAML-манифесты Argo Workflow, пайплайны нужно описывать в виде DAG на Python.
Для ML-команд это значительно удобнее, чем поддерживать сотни строк YAML с Kubernetes CRD.
Kubeflow SDK компилирует описание пайплайна на Python в YAML в формате Intermediate Representation (IR).
Затем оно преобразуется в специфичное для Argo описание и передаётся на выполнение.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Webernetes — браузерный симулятор Kubernetes, который позволяет запускать ограниченный набор возможностей Kubernetes, включая Pod, Service и Deployment, полностью в браузере и без какой-либо бэкенд-инфраструктуры.
➜ https://github.com/ngrok/webernetes
👉 DevOps Portal
➜ https://github.com/ngrok/webernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2
Kubeflow — это уже не просто MLOps-платформа.
Она развивается в полноценную cloud-native AI-платформу для:
• распределённого обучения AI-моделей
• дообучения LLM
• GenAI-пайплайнов
• AI-воркфлоу в Kubernetes
Если вы DevOps-инженер и хотите перейти в AI-инфраструктуру, Kubeflow — одна из лучших платформ, которые стоит изучать сегодня.
В последних релизах Kubeflow расширилась поддержка GenAI-сценариев, распределённого обучения и современных воркфлоу для AI-платформ.
Как лучше всего разобраться?
Собрать всё самостоятельно.
Вот пошаговый практический гайд, в котором показано, как:
✅ развернуть Kubeflow Pipelines в Kubernetes
✅ создавать пайплайны с помощью Kubeflow SDK
✅ запускать пайплайны и отслеживать их выполнение
- https://devopscube.com/setup-kubeflow-pipelines-kubernetes/
Если вы только начинаете знакомство с Kubeflow, сначала изучите этот материал:
- https://devopscube.com/kubeflow-pipelines/
👉 DevOps Portal
Она развивается в полноценную cloud-native AI-платформу для:
• распределённого обучения AI-моделей
• дообучения LLM
• GenAI-пайплайнов
• AI-воркфлоу в Kubernetes
Если вы DevOps-инженер и хотите перейти в AI-инфраструктуру, Kubeflow — одна из лучших платформ, которые стоит изучать сегодня.
В последних релизах Kubeflow расширилась поддержка GenAI-сценариев, распределённого обучения и современных воркфлоу для AI-платформ.
Как лучше всего разобраться?
Собрать всё самостоятельно.
Вот пошаговый практический гайд, в котором показано, как:
- https://devopscube.com/setup-kubeflow-pipelines-kubernetes/
Если вы только начинаете знакомство с Kubeflow, сначала изучите этот материал:
- https://devopscube.com/kubeflow-pipelines/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥2
В этой статье показано, как использовать Kubernetes ConfigMap в качестве лёгковесного хранилища состояния в реальном времени: отслеживать изменения ConfigMap и распределять события с помощью Python asyncio.
➜ https://medium.com/sahibinden-technology/using-kubernetes-configmaps-as-a-real-time-state-store-483c47ee23cd
👉 DevOps Portal
➜ https://medium.com/sahibinden-technology/using-kubernetes-configmaps-as-a-real-time-state-store-483c47ee23cd
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4