Обновить
100.46

Kubernetes *

ПО для работы с контейнерными приложениями

Сначала показывать
Порог рейтинга
Уровень сложности

Вооружаемся против мусорных кластеров: как автоматизировать уход за Kubernetes

Время на прочтение7 мин
Количество просмотров149

Вооружаемся против мусорных кластеров: как автоматизировать уход за Kubernetes

Привет! Меня зовут Роман Христевич, я DevOps-инженер в Cloud.ru, занимаюсь плагинами и безопасностью для кластеров Kubernetes. Сегодня расскажу, как я сражался с ветряными мельницами — мусором в кластерах Kubernetes после тестирования релизов, рандомных Helm Chart и просто в автотестах. И как я эти мельницы все-таки одолел.

Если вы DevOps, SRE или системный администратор, то вам не раз и не два приходилось вычищать кластеры от отработанных Jobs в статусе Complete или Configmaps с Secrets, которые создали руками для уже раскатанного Helm Chart. Разовая акция не вызывает особых забот, а вот если это надо делать несколько раз в неделю, это уже проблема или даже боль.

Под катом я расскажу, как прошел путь, усеянный граблями, от самописных решений до K8s-cleaner, и почему я теперь доволен. Если ты еще не прошел мой путь, приглашаю под кат!

Интересно

Новости

Kubernetes с поддержкой confidential containers (CoCo). Хакеры и облачные провайдеры останутся ни с чем

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров258

Kubernetes, который нельзя взломать.
Знакомьтесь с Confidential Containers - технология, которая скрывает ваши контейнеры ото всех.

В посте мы разберем:

1. Секреты архитектуры невидимых подов

2. Волшебство аппаратного шифрования (TEE) на практике

3. Kata Containers как ключ к конфиденциальности

4. Готовый манифест для запуска вашего первого «невидимого» контейнера

Читать далее

Мой путь в IT: от iOS до техлида в Альфа-Банке

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров436

Когда-то я просто хотел писать мобильные приложения. Никаких планов «стать техлидом», «управлять командами» или «строить архитектуру» у меня не было. Я просто любил разбираться в технологиях и доводить фичи до ума.

Но как это обычно бывает, если долго и упорно копать в одном направлении — горизонт начинает расширяться.

Расскажу коротко, как это произошло у меня.

Читать далее

Сколько производительности съедает Kubernetes: сравниваю native PostgreSQL и CloudNativePG в Yandex Cloud

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров4.9K

В этой статье я руками сравнил производительность PostgreSQL на «голой» VM в Yandex Cloud и в кластере CloudNativePG в Kubernetes. Один и тот же конфиг, одинаковые ресурсы, fio и pgbench, несколько типов хранилищ — и просадка до ~40% при работе через cnpg.

Разбираемся, где теряются TPS: на диске, в сети или в оболочке k8s, показываем все цифры в таблицах и схемах прохождения запроса «до VM» и «до Pod’а» — и в конце честно отвечаем, стоит ли игра свеч.

Читать далее

Helm v4: разбираем ключевые отличия от Helm v3

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров5.9K

На днях вышел первый за шесть лет мажорный релиз Helm — v4. В статье разберём ключевые изменения по сравнению с v3: Server-Side Apply вместо 3-Way Merge, реализацию поддержки WASM-плагинов, замену движка ожидания готовности ресурсов и content-based-кеширование чартов. А ещё посмотрим, какие проблемы по-прежнему остаются с Helm и предложим для них решение.

Читать далее

Простой Python, автоматический Spark: минус Kubernetes, плюс продуктивность

Время на прочтение13 мин
Количество просмотров1.2K

Установка и эксплуатация приложений Spark в облаке зачастую становятся препятствием для дата-инженеров (Data Engineer, DE): сложная работа с Helm-конфигурациями отвлекает внимание от анализа данных и замедляет подготовку среды. Но полностью отказываться от Spark зачастую нерационально, поэтому многие команды стремятся найти свое решение для обхода существующих сложностей.

Привет, Хабр. Меня зовут Юрий Орлов. Я руководитель команды разработки ML Platform в VK Tech. В этой статье я расскажу о том, как мы автоматизировали развертывание Spark в облаке и создали клиент на Python, который снижает требования к знаниям в области DevOps и Kubernetes, необходимым для начала работы со Spark.

Читать далее

Как установить Kubernetes-платформу за 10 минут через веб-интерфейс

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров4.7K

В статье показываем, как за 10 минут развернуть Kubernetes-платформу с помощью графического установщика Deckhouse Kubernetes Platform. Пройдём все этапы: настроим статический или облачный кластер, подключим модуль виртуализации и сразу начнём работать через встроенный веб-интерфейс — без DNS, Ingress и ручного YAML.

Читать далее

Как мы собрали ML-платформу на Kubernetes и не утонули в YAML

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.6K

Инфраструктура для машинного обучения — это не просто «поставить кубер и Jupyter». Любая команда, которая пыталась собрать MLOps-стек с нуля, знает: в теории всё просто, а на практике — год возни, YAML на сотни строк и бесконечные танцы с GPU-драйверами. Мы через это тоже прошли.

Так появилась Nova AI — новая редакция нашей платформы Nova, адаптированная под задачи искусственного интеллекта и машинного обучения. Базовая Nova уже несколько лет используется компаниями как Kubernetes-платформа для оркестрации контейнеров и управления инфраструктурой. Но в какой-то момент стало ясно: если поверх этого ядра добавить GPU Operator и специализированные ML-сервисы — такие как JupyterHub, MLflow, Airflow и KServe, — получится полноценная среда для ML-команд.

Меня зовут Никита Векессер, я лидер продукта Nova AI, и в этой статье будет инженерный разбор того, как мы собрали новую редакцию продукта: из чего она состоит, как устроено управление компонентами, как реализовано дробление GPU и почему мы сделали ставку на модульность, а не на монолитный стек вроде Kubeflow.

Читать далее

Обновления в S3, поддержка прерываемых ВМ в Managed Kubernetes и другие октябрьские апдейты Selectel

Время на прочтение5 мин
Количество просмотров1.6K

В этом насыщенном октябре команда Selectel добавила новый пул S3 в регионе СПб, интегрировала Karpenter с Managed Kubernetes, реализовала аттестованные ВМ под ключ и успела выполнить множество других важных задач. А еще мы провели флагманскую конференцию Selectel Tech Day и рассказали, как управлять IT-инфраструктурой в 2026 году.

Читать далее

Топ-10 ошибок деплоя в Kubernetes, почему они происходят и как их исправить

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров3.7K

Какие именно ошибки деплоя в Kubernetes встречаются чаще всего и как их устранять? Будь то CrashLoopBackOff, зависшие поды, проблемы в синтаксисе YAML — рассмотрим 10 распространенных проблем и к каждой приложим простые и проверенные советы, как избежать их появления в будущем.

Читать далее

Почему JSON и YAML мешают вам писать нормальные конфиги (и чем их заменить)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров19K

JSON, YAML, TOML, HCL - за последние годы человечество успело изобрести десяток языков для конфигурации.
Каждый обещал быть "простым", "удобным" и "читаемым человеком".
Но по факту - все они страдают от одних и тех же проблем: шумный синтаксис, хрупкие отступы, бесконечные кавычки и отсутствие элементарных возможностей вроде модульности и слияния конфигов.

Пора перестать с этим мириться и сделать конфигурации наконец человеческими.

Читать далее

User Namespaces в Kubernetes

Уровень сложностиСложный
Время на прочтение6 мин
Количество просмотров2.3K

Уважаемые коллеги, добрый день!

Одно из самых интересных последних фич в безопасности для Kubernetes, которое появилось, это реализация User Namespaces в Kubernetes. В этой статье мы разберемся, как простое включение User Namespaces одной строчкой может улучшить безопасность в несколько раз.

Читать далее

Мой домашний Kubernetes, или DevOps-«песочница» на домашнем ПК

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров15K

Наряду с развитием искусственного интеллекта, облачные вычисления названы основополагающей технологией будущего. Наверное, многие слышали, как важны и ценны знания Docker и Kubernetes в современном мире ИТ. Но как подступиться к этим технологиям, если ранее с ними вы не сталкивались?

Я всегда считал, что серьезные вещи начинаются с малого, но это малое должно быть самой сутью интересующего феномена. Предлагаю разобраться, как работает полнофункциональное веб-приложение, реализующее современный стек технологий и, конечно же, развёрнутое в кластере Kubernetes. Сделав первый шаг, вы всегда сможете продолжить свой путь исследования, заниматься самообразованием и отладкой разнообразных приложений, реализующих различные подходы, в том числе и самые современные.

Читать далее

Ближайшие события

Установка Langfuse в Kubernetes

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров2.3K

В этой статье разберу установку с минимальными усилиями с использованием Helm и локального однонодового кластера Kubeadm.

Читать далее

А кто у вас отвечает за kube-api? Безопасность Kubernetes при помощи CIS Benchmark

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров3.1K

Kubernetes в IT-инфраструктуре — это не просто про удобство деплоя. Это критическая часть сервиса. Одна неправильная настройка kube-apiserver или etcd — и вместо кластера вы получите бублик с дыркой, через который утекут и данные, и бизнес-процессы.

В этой статье разберем, какие стандарты защищают контейнерные среды, почему CIS-бенчмарк часто становится первой точкой опоры, какие практики дополняют его и как Managed Kubernetes превращается в автоматизированный рабочий процесс. Детали внутри.

Читать далее

Как мы освободили 7 ТиБ памяти

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров5.1K

Многие команды работают с кластерами Kubernetes побольше нашего. В них больше узлов, больше подов, больше ingress и так далее. По большинству размерностей нас кто-нибудь, да побеждает.

Но есть одна размерность, по которой, как мы подозреваем, мы почти на вершине: это пространства имён. Я думаю так, потому что мы постоянно сталкиваемся со странным поведением во всех процессах, которые их отслеживают. В частности, все процессы, выполняющие их listwatch, занимают на удивление много памяти и подвергают apiserver серьёзной нагрузке. Это стало одной из сложностей масштабирования, которую замечаешь, только достигая определённого порога. При увеличении оверхеда памяти эффективность снижается: каждый байт, который нам нужно использовать для управления — это байт, отнятый у пользовательских сервисов.

Проблема сильно усугубляется, когда daemonset должен выполнять listwatch пространств имён или сетевых политик (netpol), которые мы определяем для каждого пространства имён. Так как daemonset запускают под в каждом узле, каждый из этих подов выполняет listwatch одних и тех же ресурсов, из-за чего объём используемой памяти увеличивается при росте количества узлов.

Хуже того — эти вызовы listwatch серьёзно нагружали apiserver. Если одновременно перезапускалось множество подов daemonset, например, при развёртывании, то они могли перегрузить сервер запросами и вызвать реальный вылет.

Читать далее

Тонкости обновления драйверов NVIDIA в Yandex Managed Kubernetes

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров817

Привет! Я Алиса, DevOps-инженер в KTS.

В этой статье я расскажу о том, как мы настроили автоматическое обновление драйверов NVIDIA для работы с Jupyter и ML-стеком в управляемом кластере.

Проблема: когда контейнеры и ML-библиотеки обновляются чаще, чем системные образы GPU-нод, версия драйвера быстро перестает соответствовать версии CUDA в контейнере. В итоге при вызове  nvidia-smi возвращает ошибку Driver/library version mismatch, а CUDA просто не видит драйвер на хосте.

Нам нужно было обновить Jupyter с ML-стеком, зависящим от CUDA. Как следствие, встал вопрос обновления драйверов NVIDIA на GPU-нодах. Можно было выполнять его руками на каждой ноде, но такой способ нам не подходил, и мы выбрали автоматизацию, которой и посвящена моя статья. Ниже я разберу и ручное обновление, и варианты автоматизации, а также объясню, как мы решали проблему конфликта GPU Operator с предустановленными драйверами.

Читать далее

Как работает Docker под капотом

Время на прочтение7 мин
Количество просмотров18K

Всем привет, меня зовут Дмитрий Желудков, я архитектор по эксплуатации в одной корпорации, а ещё один из авторов курса учебного центра Слёрм «Docker для админов и разработчиков». Сегодня мы заглянем под капот и разберёмся, на каких китах держится вся эта магия.

Читать далее

Тренды DevOps 2025: Новые версии K8s и OpenSearch. Гид по главным изменениям

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров3.3K

Привет, коллеги! Год продолжает радовать нас мощными апдейтами!) Делимся подборкой самого интересного, что случилось в мире DevOps-инструментов недавно.

Динамическое обновление ресурсов Pod и Kubernetes

Одна из самых крутых фич, которая стала стабильной в Kubernetes 1.33, - это возможность изменять запросы и лимиты CPU/памяти у работающих подов без их перезапуска.

Читать далее

BuildKit в Kubernetes: мануал по быстрой и автомасштабируемой сборке проектов

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров2.5K

Всем привет! Я Алексей Босенко, DevOps-инженер в компании KTS. В этой статье я покажу, как комплексно настроить быструю и эффективную сборку проектов в Kubernetes с использованием BuildKit, которая учитывает не только производительность, но и стоимость ресурсов.

Под этой громкой фразой я подразумеваю целый комплекс решений: как создать и настроить экономичный кластер Kubernetes для сборок (ведь цена вопроса всегда важна), как настроить GitLab Runners и как сделать эффективное масштабирование сборок. Особый акцент будет на том, почему мы выбрали BuildKit, какие варианты использования он предлагает, и как непосредственно настроить один из них.

Будет много подробностей о том, почему мы принимали эти решения и как внедряли их у себя, так что статью можно использовать в качестве Production-ready-мануала.

Читать далее
1
23 ...

Вклад авторов