DevOps Portal | Linux
13.1K subscribers
991 photos
134 videos
10 files
1.03K links
Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps

Сотрудничество, реклама: @devmangx

Менеджер: @Spiral_Yuri

РКН: https://clck.ru/3P8kFH
Download Telegram
Большинство пользователей Kubernetes до сих пор не знают о существовании этого типа томов

Он называется ImageVolume.

Вот как он работает

Функция Image Volume позволяет использовать OCI-образы в качестве томов непосредственно внутри Pod’ов Kubernetes.

Что такое OCI-образы?

Это стандартизированный формат, который определяет структуру контейнерных образов.

С помощью ImageVolume можно хранить в образах файлы моделей, бинарные файлы, конфигурации и другие данные, а затем монтировать их в Pod’ы.

Вот практическое руководство, в котором показано, как работает эта функция и как её использовать.

Полезная возможность, о которой стоит знать.

https://devopscube.com/oci-image-volume-kubernetes-pods/

Примечание: ImageVolume подходит для любых workload’ов, которым удобно поставлять данные внутри образа: файлы моделей, датасеты, конфигурации, статические ресурсы и даже инструменты.


👉 DevOps Portal
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
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.

Несколько задач для практики в безопасном и контролируемом окружении с полезными подсказками:

— Написать простой 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


Удачного хакинга!

👉 DevOps Portal
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
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: короткие встречи с опытными специалистами, где можно обсудить технические и карьерные вопросы;
научпоп: рассказ о кибернетическом подходе к управлению сложностью от Александра Нозика, директора центра научного программирования.

Форматы: офлайн и онлайн.

Участие бесплатное, регистрация обязательна.
😁32🥱1
В этом репозитории собрано более 20 инструментов, которые автоматически генерируют архитектурные диаграммы Kubernetes на основе манифестов, Helm-чартов или текущего состояния кластера.

https://github.com/philippemerle/Awesome-Kubernetes-Architecture-Diagrams

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Небольшой совет по Linux

При создании новой директории часто приходится выполнять:
$ mkdir project
$ cd project

Эти два шага можно объединить в одну команду:
$ mkdir app && cd $_

Переменная $_ разворачивается в последний аргумент предыдущей команды, которым в данном случае является app.

Небольшой трюк, который позволяет сэкономить несколько нажатий клавиш при работе в терминале

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍8🌚4
Прокачайте навыки работы с Kubernetes на реалистичных сценариях:

Создать собственный 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


👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🤯2
Как собрать мультиплатформенный контейнерный образ из отдельных одноплатформенных сборок?

Собрать мультиплатформенный образ несложно, когда все его варианты можно описать одним Dockerfile. Но так получается не всегда. Например, если приложение мигрирует с одного стека на другой, а поддержка одной из платформ всё ещё отстаёт, в итоге приходится использовать как минимум два разных Dockerfile и собирать два независимых варианта образа.

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

Разобраться в магии этого процесса можно здесь:
https://labs.iximiuz.com/challenges/docker-push-multi-platform-image

👉 DevOps Portal
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
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
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Webernetes — браузерный симулятор Kubernetes, который позволяет запускать ограниченный набор возможностей Kubernetes, включая Pod, Service и Deployment, полностью в браузере и без какой-либо бэкенд-инфраструктуры.

https://github.com/ngrok/webernetes

👉 DevOps Portal
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
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
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Паттерны проброса портов в Kubernetes

Ты находишься внутри dev-кластера, доступ к сети ограничен, и сервис, который ты только что задеплоил, ведёт себя странно.

Нет ни LoadBalancer, ни настроенного ingress-контроллера, и «просто открыть порт» – не вариант, потому что сетевики либо тормозят, либо отвечают отказом.

Вот здесь тебя и выручает kubectl port-forward.

Вот простая инфографика, чтобы было легче понять.

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Небольшой совет по работе с командной строкой Linux

Чтобы скрыть каталоги . и .., но при этом показать остальные скрытые файлы и директории, используйте:
ls -A

вместо:
ls -a


👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥104👍1
Запуск распределённого обучения ИИ в Kubernetes – это не просто добавление GPU

В выпуске Kubeflow Pipelines рассказывали, что этап обучения в пайплайне обычно передаётся Kubeflow Trainer.

И вот почему.

Некоторые задачи обучения ML-моделей и дообучения LLM требуют нескольких GPU, распределённых между несколькими нодами Kubernetes.

Для этого необходимо:

— создавать и управлять несколькими worker-подами;
— выделять GPU-ресурсы;
— настраивать взаимодействие между воркерами;
— отслеживать статус обучающих джобов и многое другое.

Kubeflow Trainer решает эти задачи в Kubernetes-native формате с помощью CRD и скрывает большую часть связанной с этим сложности.

В этом выпуске MLOps-рассылки разобрали:

— основы распределённого обучения;
— архитектуру Kubeflow Trainer: TrainJob, Runtimes и JobSet;
— установку Trainer и запуск первого распределённого TrainJob на CPU-нодах;
— запуск ML-задач на GPU-нодах;
— каким моделям действительно нужны GPU.

Читать: https://newsletter.devopscube.com/p/kubeflow-trainer

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥2👍1
Ozon Tech опубликовал часть программы E-CODE. И по части инфраструктуры там такие бриллианты:

• опыт обмена множества кастомных схем доставки данных на единую платформу
• история крупной гибридной инфры, мигрировавшей в K8-s
• анатомия хранилища артефактов (и не одного — обещают вскрытие сразу семи решений)
• путь сетевого оборудования к декларативному описанию через DSL
• противостояние конечности облаков за счёт capacity management
• перевод кластеров под управлением Patroni с kube-api на etcdv3 без сплитбрейна

Озонтеховцы уже традиционно радуют серьёзным подходом к официальной части конфы. Ну а гастрофест и вечеринки — это уже на вкус и цвет. В этом году, кстати, заявлены ещё и DJ-сеты.

Короче, годная конфа. И если вы ещё не забили в календаре 12 и 13 сентября под E-CODE, пора этим заняться: https://ecode.ozon.tech/
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Вышел годный инструмент, который помогает изучать Linux на практике

Shell Gym – интерактивный тренажёр командной строки Linux, созданный на основе многолетнего опыта преподавания. По сути, автор выделил ядро iximiuz Labs и превратил его в отдельный демон.

https://github.com/iximiuz/shellgym

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74
Forwarded from infosec
• Друзья, пришло время провести очередной конкурс. На этот раз мы разыгрываем бумажную версию книги "The Ultimate Kali Linux Book" - это новое издание книги по изучению Kali Linux, которое перевели на русский язык.

• К слову, книга содержит более 800 страниц информации и будет полезна как новичкам, так и опытным специалистам.

Итоги подведём 8 августа в 10:00, при помощи бота, который рандомно выберет 8 победителей. Доставка для победителей бесплатная в зоне действия СДЭК. Удачи

Для участия нужно:

1. Быть подписанным на наш канал: Infosec.
2. Подписаться на канал наших друзей: Мир Linux.
3. Нажать на кнопку «Участвовать»;
4. Ждать результат.

Бот может немного подвиснуть — не переживайте! В таком случае просто нажмите еще раз на кнопку «Участвовать».

#Конкурс
Please open Telegram to view this post
VIEW IN TELEGRAM