Как стать автором
Обновить
101.36

Kubernetes *

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

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

Неизбежное будущее Kubernetes: почему оркестратор должен пойти по пути Linux Kernel

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

Сейчас Kubernetes воспринимается как «готовое» и самодостаточное ПО — грубо говоря, как отдельная программа. Да, чтобы его использовать в проде, придется добавить к нему разных cloud native-инструментов: CNI, service mesh и т.п. штуковины. Однако всё же K8s выглядит именно как приложение (иногда его даже называют ОС для облаков). 

На мой взгляд, такое понимание Kubernetes заводит рынок в тупик. Очевидно, что сложность оркестратора должна расти, очевидно, что будет все больше сфер, в которых он будет использоваться и которые способны извлечь немало пользы из внедрения K8s. Если рынок не начнет смотреть на Kubernetes как на Linux Kernel, это заведет нас в тупик, и вот почему...

Читать далее

Видеокарты и Kubernetes: проблемы интеграции + бонус по настройке

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

Рассказываем о тонкостях и сложностях интеграции поддержки видеокарт Nvidia в платформу контейнеризации.

Читать далее

Выбор инструментов для доставки секретов в Kubernetes. Наш путь delivery of secrets

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

Привет, Хабр! Меня зовут Натиг Нагиев, я Devops-инженер в МТС Диджитал.

Проект, над которым я сейчас работаю, занимается обеспечением авторизации внешних клиентов. Это Mission Critical система, поэтому нам нужно было ускорить и оптимизировать доставку секретов в контейнеры с микросервисом, избежать дополнительных рабочих нагрузок в kubernetes, гарантировать безопасность при доставке секретов и исключить внешние зависимости.

Сейчас де-факто стандартом для таких задач стало хранилище HashiCorp Vault, поэтому мы рассматривали и пробовали разные инструменты: Vault Agent Injector, Vault CSI Provider, External Secrets Operator и OpenBao — но в итоге остановились на связке Bank-Vault и Vault Secrets Operator.

В этом посте я расскажу, чем они интересны и какие у них есть плюсы и минусы, а в продолжении — как мы реализовали итоговую систему.

Читать далее

Kubernetes ConfigMaps и Secrets: как правильно управлять конфигурацией и секретами в кластере

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

Салют! Меня зовут Сулейман, и я Senior Software Engineer с более чем 10 годами опыта в программировании. Я разрабатываю веб-сервисы, способные масштабироваться и выдерживать высокие нагрузки, а также активно участвую в open source проектах, публикую статьи, связанные с разработкой, и видео по решению алгоритмических задач, a еще пишу статьи в медиа вАЙТИ. Я сертифицированный Kubernetes Application Developer (CKAD), и мой опыт охватывает различные сферы разработки: от бэкенда и фронтенда до DevOps и разработки Android-приложений.

Когда вы разрабатываете приложения на базе Kubernetes, вам часто нужно управлять конфигурацией и секретами. Эти данные должны быть легко доступны для приложений, но также должны быть защищены и гибко управляемы. В Kubernetes для этого существуют два ключевых механизма — ConfigMaps и Secrets. В статье мы подробно разберем, что это за объекты, как их использовать и как эффективно ими управлять в кластере.

Читать далее

Истории

Просто о сложном: зачем нужны Kube-Audit логи и как с ними подружиться

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

Популярность облачных платформ и контейнеров растет с каждым днем. Вместе с этим появляется необходимость в активном контроле и защите используемых решений.

Есть много инструментов, которые могут сделать работу в K8s безопасной, а процессы — прозрачными и эффективными. Но в статье поговорим о самом недооцененном, но тем не менее актуальном способе для анализа безопасности в Kubernetes: о сборе Kube-Audit логов.

Читать далее

Как искать и эксплуатировать уязвимости в контейнеризированных средах. Часть 2

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

Привет, Хабр!

Меня зовут Рустем Галиев, я Senior DevOps Engineer в IBM, и мы продолжаем разбираться, как искать и эксплуатировать уязвимости в контейнеризированных средах на примере практических атак. Первую часть статьи можно найти тут, а ссылку на третью добавлю сюда, когда выложу.

Читать далее

Как искать и эксплуатировать уязвимости в контейнеризированных средах. Часть 1

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

Привет, Хабр!

Меня зовут Рустем Галиев, я Senior DevOps Engineer в IBM.

В последние годы контейнеризация стала неотъемлемой частью инфраструктуры для современных приложений. Технологии контейнеризации, такие как Docker и Kubernetes, предоставляют удобный способ упаковки, развёртывания и масштабирования приложений, а также обеспечивают лёгкость миграции и управление зависимостями. Но, как и любая другая технология, контейнеры имеют свои уязвимости. Ошибки в конфигурации, слабые политики безопасности и недостаточная изоляция контейнеров могут превратить их в привлекательные цели для злоумышленников.

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

Статью разделил на три части, ссылки на вторую и третью добавлю, после того как выложу.

Читать далее

НМ и НТ. ФОТОНИКА. Часть VI

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

Научные и прикладные исследования в сфере нано- материалов и технологий ( НМ и НТ), области вычислительной техники проводятся широким фронтом во всем мире и РФ не является исключением. Известный закон Мура показывает, что люди практически исчерпали возможности полупроводниковых материалов, и носителей информации на которых базируется электронная техника. Рост быстродействия вычислений за счет уменьшения элементов и увеличения их количества на единице площади подошел к своему физическому пределу.
Специалисты это понимают и предпринимают определенные попытки для сохранения темпов развития цивилизации. Разыскивают и создают новые материалы, физические принципы, разрабатывают теории, позволяющие находить выход из приближающегося кризиса. Но их мало и возможности их ограничены. Дело не только в финансах и отсутствии новых перспективных теорий. Огромное значение приобретает этическая сторона, что мы уже видим в биологических исследованиях, в искусственном интеллекте и других направлениях. (Кодекс этики ИИ и всеобщая декларация о биоэтике и правах человека и др.)
Оказалось, что эта сфера очень слабо разработана и предпринимаемые меры оказываются без четкого обоснования, а часто сильно запаздывающими.   
В предлагаемой публикации автор касается всего лишь одной сферы деятельности людей, связанной с вычислениями и вычислительными средствами.  (см. здесь).

Читать далее

Как работают файловые системы Linux-контейнеров

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

Откуда у контейнера берётся файловая система? Чтобы разобраться, инженер Google Михал Питр воспроизвёл действия Docker и создал файловую систему своими руками. От полноценной реализации его результат отличается тем, что в нём не используется пространство имён для дополнительной изоляции. 

Под катом — перевод, который поможет разобраться, как именно Docker создаёт новую файловую систему с помощью OverlayFS.

Читать далее

Профессия DevOps

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

Dev и Ops, DevOps, DEVOPS – как много о нем сейчас разговоров. И не зря!

DevOps – это перспективное направление, которое будет продолжать развиваться и влиять на IT-индустрию в ближайшие годы, а то и десятилетия.

Это подтверждается ростом числа вакансий, связанных с DevOps, и увеличением спроса на специалистов в этой области. Например, анализ данных с hh.ru показывает, что количество DevOps-вакансий за год значительно выросло.

Несмотря на растущий спрос, на рынке наблюдается дефицит квалифицированных специалистов в области DevOps. Это связано с тем, что работа в DevOps требует широкого спектра навыков, включая знание различных инструментов автоматизации, умение работать в команде и адаптироваться к быстроменяющимся условиям.
DevOps: кто это? Разработчик? Системный Администратор? Менеджер? Или все вместе? 😱

DevOps – это не просто должность или роль, это целая методология!

Предлагаю начать с разбора понятия DevOps, продолжим с разбора профессии DevOps-инженер, и завершим его ролью и стеком технологий.

Читать далее

Garbage Collection в Kubernetes: основы

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

Привет, Хабр! Сегодня мы рассмотрим механизмы garbage collection в Kubernetes: как удалять orphaned pods, утилизировать устаревшие данные и управлять томами.

Garbage Collection в Kubernetes — это автоматизированный процесс очистки неиспользуемых ресурсов, который предотвращает засорение кластера «мусором». Без GC кластер может превратиться в лабиринт забытых подов, устаревших ConfigMaps и ненужных томов, что очевидно приведет к снижению производительности и увеличению затрат.

Читать далее

OpenShift: улучшенный Kubernetes или переплата за техподдержку?

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

Привет, Хабр! В прошлых постах мы разобрали особенности Docker на разных системах и его не менее интересного собрата Podman от Red Hat. Сегодня поговорим о ещё одном творении той же компании — OpenShift, который позиционируется, как "корпоративная" версия Kubernetes. Но так ли всё радужно, как рассказывают на презентациях?

Читать далее

Азбука: FluxCD — перенастраиваем kubernetes с одного репозитория на другой

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

Очень удобным способом настройки кластеров kubernetes является использование GitOps подхода. Его суть заключается в том, что выделяется отдельный git репозиторий, который становится хранилищем всех манифестов, определяющих состояние кластера. Таким образом мы получаем единое хранилище истины и единую точку конфигурации для управления кластером. Одним из пионеров и проповедников этого подхода являлась компания WeaveWorks, в рамках которой было разработано множество интересных решений, среди которых есть и GitOps-оператор FluxCD. Именно он и реализует цикл синхронизации манифестов из git репозитория с кластером.

Читать далее

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

27 марта
Deckhouse Conf 2025
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

День, когда Земля остановилась

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

Давно ли вам приходилось перезапускать стейджинговую систему, на которой развернута масса приложений и работает не одна сотня команд? Мы частенько издевались над стейджем, но никогда не выключали его целиком. И в процессе плановой замены сетевого стека в кластере k8s stage решили сделать масштабную проверку возврата системы и всех запущенных на ней приложений в работоспособное состояние после «внезапного отключения питания в локальном ЦОД». 

Кабели никто перерезать не собирался, но идея «выключить и включить» традиционно выглядела как «приключение на 20 минут». Именно так всё и случилось: кластер k8s не смог вернуться в рабочий режим, приложения не запускались, и причины тому крылись не внутри, а снаружи.

Под катом хронология двухдневных драматических событий, варианты действий и некоторые размышления после проведённых «учений».

Читать далее

Apache Airflow: нестандартное применение

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

Привет, Хабр! Я Маша Башан, Python разработчик в команде dBrain. Сегодня расскажу, как в dBrain мы внедрили собственную стратегию тестирования, которая в разы сокращает количество действий работающих с платформой инженеров. Мы применили альтернативный вариант тестирования — с помощью сервиса Apache Airflow.

Читать далее

Асинхронная обработка Stripe событий с помощью Scala

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

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

В эпоху SaaS, PaaS, IaaS и других «As a Service» инициатив (их число постоянно растет), многие полагаются на бизнес модель платных подписок, так как она обеспечивает возможность регулярно в автоматическом режиме собирать платежи с пользователей и дает лучшую прогнозируемость финансовых потоков.

На рынке сейчас много поставщиков продуктов для решения данной задачи, однако есть среди них один, чьи продукты обычно рассматривают в первую очередь. Я говорю о Stripe.

В этой статье я хочу предложить читателю технический взгляд на решение проблемы обработки онлайн подписок с помощью языка программирования Scala и фреймворка Akka в распределенном серверном приложении для Кубернетиса.

Читать далее

Как мы создавали динамический Kubernetes API server для API Aggregation Layer в Cozystack

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

Kubernetes действительно поражает своими могучими возможностями к расширению. Вы наверняка уже знаете про operator-паттерн, а также фреймворки kubebuilder и operator-sdk с помощью которых можно его реализовать. Если вкратце, то они позволяют расширять ваш Kubernetes через определение кастом-ресурсов (CRDs) и написание дополнительного контроллера, который будет выполнять вашу бизнес-логику для реконсиляции и управления этими ресурсами. Этот подход широко изучен, а в интернете можно найти огромное количество информации о том, как написать такой оператор.

Однако это не единственный метод расширения Kubernetes API. Так, для более сложных кейсов, например реализации императивной логики, сабресурсов и формирования ответов на лету, можно рассмотреть механизм API aggregation layer, который поддерживается в Kubernetes. В рамках aggregation layer можно разработать свой собственный extension API server и бесшовно интегрировать его в общий Kubernetes API.

В этой статье мы разберем, что такое API aggregation layer, для решения каких задач его стоит использовать, когда его использовать не стоит и как мы использовали эту модель для реализации собственного extension API server в платформе Cozystack

Читать далее

Размышления о декларативной конфигурации

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

Не кажется ли вам, что декларативная конфигурация и программирование инфраструктуры не так уж хороши, как их расхваливают?

Я достаточно долго занимался декларативной конфигурацией в Kubernetesразмышлял о ней, работал с kubectl applyKRMkustomizeGoogle Cloud Config Synckptporch, ... В то же время параллельно развивалась декларативная автоматизация — эта работа велась в Google, где на протяжении многих лет широко использовалась декларативная конфигурация. При этом вне Google появился Terraform, и на этом лоскутном одеяле также возникло множество других инструментов.

Что же такое декларативная конфигурация, в каких случаях она хороша, и как к ней подступиться?

Читать далее

Защищаем контейнеры от киберрисков: наш опыт и рекомендации

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

Привет, Хабр, я Вера Орлова — отвечаю за безопасность контейнеров и маркетплейс аддонов в Kubernetes в компании Cloud.ru. В статье расскажу, какие основные проблемы при работе с контейнерами существуют и какие вызовы встают перед разработчиками платформ контейнерной безопасности. Поделюсь, на какие аспекты защиты обращаем внимание в первую очередь мы, а также расскажу про наш подход к профилактике потенциальных уязвимостей и реальных проблем безопасности. 

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

Читать дальше

Прогреваем k8s cache: оптимизация загрузки образов размером 3 ГБ и запуск 1000 POD'ов за секунды

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

Однажды, в ходе планового обновления кластера Kubernetes, мы обнаружили, что почти все POD'ы (около 500 из 1000) на новых(обновленных) узлах не смогли запуститься. Минуты ожидания быстро превратились в часы. Мы активно искали первопричину...
3 hours later... Спустя три часа POD'ы всё ещё находились в состоянии ContainerCreating.

С чего начать поиск причины? Узнать больше

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

Работа

DevOps инженер
25 вакансий