Как стать автором
Поиск
Написать публикацию
Обновить
83.98

Kubernetes *

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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 мин
Количество просмотров2.2K

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

Авторизация в Docker Private Registry

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

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

Зная, что в Docker private registry отсутствует авторизация, я решил разобраться, как легким способом можно блокировать различные действия для клиентов и разрешать все админам. Мне нужно было ограничить получение какой-либо информации по репозиториям, находящимся в реестре, выгрузку образов из реестра, а также запретить загрузку репозиториев, которые уже существуют в реестре. Начнем с основы основ — загрузки и выгрузки образов с помощью API v2.

Всем все запретить, админам все разрешить!

CI/CD Kubernetes платформа Gitorion. Highly Available исполнение

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

Привет, всем! В данной статье мы расскажем о Highly Available исполнении CI/CD платформы Gitorion. В данном случае платформа размещается в двух дата центрах. При отказе любого из дата центров команда разработчиков может продолжить непрерывную интеграцию и доставку в выжившем дата центре.

Читать далее

Helm CEL: Валидация Helm чартов с помощью CEL

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

Каждый, кто работал с Helm чартами, сталкивался с необходимостью валидации values.yaml. Стандартный подход с использованием JSON Schema работает, но часто становится громоздким и ограниченным. В этой статье я хочу представить Helm CEL — плагин, который позволяет использовать Common Expression Language (CEL) от Google для валидации конфигурации Helm чартов.

Читать далее

Mattermost + Jitsi + k8s

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

В данной статье будет показан процесс установки и настройки Mattermost (team-edition) и Jitsi (с авторизацией по JWT токену) в Kubernetes кластер.

Читать далее

Продуктовые обновления октября: релиз сертифицированного WAF, прерываемые ВМ в Managed Kubernetes и другое

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

Привет, Хабр! Октябрь был полон новыми событиями и обновлениями. Мы представили собственные серверы, зарелизили прерываемые ВМ в Managed Kubernetes, а также запустили новую акцию по переезду в Selectel. Под катом рассказываем обо всех изменениях и напоминаем о предстоящих мероприятиях.
Читать дальше →

Как работают Kubernetes Services: управление трафиком с помощью iptables

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

В статье на примере приложения Podinfo показывается, как Kubernetes с помощью iptables управляет трафиком, предназначенным для этого приложения. Вместе с автором вы развернёте Podinfo, включите трейсинг iptables и проанализируете его вывод. Это поможет разобраться в сетевой инфраструктуре кластера и понять, как работают Kubernetes Services.

Читать далее

Погружение в Kubernetes Network Policies

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

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

Читать далее

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

OpenShift и Kubernetes: сравнительный обзор, основные различия

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

OpenShift и Kubernetes (K8s) выбирают чаще всего для оркестровки контейнеров. Эти инструменты сложно сравнивать напрямую, поскольку Kubernetes — открытое решение (open source), а OpenShift — продукт (дистрибутив) на основе Kubernetes. В этой статье рассмотрены их основные функции и отличия, модели развёртывания и пригодность для различных вариантов использования.

Статья будет полезна тем, кто пока не знаком с этими инструментами и хочет узнать о них больше.

Читать далее

Как мы докатились до Kubernetes и чем он заслужил любовь бизнеса

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

Kubernetes сейчас массово используют в ЦОДах и облачных решениях. Какие заслуги у Кубера, что было до него и почему сейчас он едва ли не стандарт отрасли. А ещё, как понять, что Кубер вам ни к чему.

Читать далее

Как развернуть сервис в Kubernetes: гайд для начинающих

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

Привет, Хабр! Сегодня мы попробуем развернуть простой сервис в Kubernetes на примере KaaS в облачной платформе Рег.ру. В качестве самого сервиса будем использовать imgproxy — минималистичный сервис подготовки изображений для web с предельно простым API. 

Этот гайд будет полезен новичкам, которые только начинают работу с Kubernetes. Рассмотрим, как настраивать среду и управлять ей, и освоим принципы работы с контейнерами. Кроме того, развертывание imgproxy в качестве примера поможет научиться обрабатывать изображения с помощью Kubernetes простым и удобным способом.

Читать далее

Как мы строили платформу на базе Kubernetes и старались не скатиться в «Кубер с аутентификацией»

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

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

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

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

Читать далее

Обновления Deckhouse Kubernetes Platform 1.61-1.64: переход на Grafana 10, отказоустойчивость с Fencing, CLI для Windows

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

Узнайте о ключевых изменениях в Deckhouse Kubernetes Platform за последние четыре релиза. Внедрение Grafana 10, поддержка Windows для Deckhouse CLI, автоматическая изоляция проблемных узлов с помощью Fencing, отказоустойчивый egress gateway и другие изменения, которые помогут улучшить управление кластерами.

Читать далее

Ctrl+S для Kubernetes: Volume Snapshots

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

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

Сегодня поговорим о Volume Snapshots — штуке, которая позволяет создать мгновенный «снимок» данных в Kubernetes, практически как Ctrl+S, только для объёмов дисков.

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

Читать далее

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

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

Привет, меня зовут Всеволод, я разработчик в Yandex Infrastructure — команде, которая создаёт платформу для разработчиков Яндекса. Последние 12 лет я занимаюсь внутренним облаком и за это время писал самые разные его компоненты: от базовой инфраструктуры хостов и до Control Plane.

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

Читать далее

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