Обновить
120.9

Kubernetes *

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

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

Kubernetes: шпаргалка для собеседования

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров54K
Всем привет! Меня зовут Олег, я работаю исполнительным директором по разработке в Газпромбанке. На разных этапах карьеры я участвовал во многих собеседованиях, а в настоящее время сам собеседую кандидатов на должность инженеров DevOps и системных администраторов в Газпромбанке, вследствие чего у меня сформировалось некоторое представление о вопросах, которые могут быть заданы соискателям. И сейчас я хочу остановиться на разделе вопросов про Kubernetes.

image

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

Вопросы по Kubernetes достаточно часты на собеседованиях на инженерные вакансии, связанные с администрированием и эксплуатацией. Они могут варьироваться от базовых, рассчитанных на механическую проверку теоретических знаний («объясните, что такое service») до более сложных и комплексных, требующих глубинного понимания внутренних принципов Kubernetes и работы (каким образом опубликовать приложение, развёрнутое в Kubernetes). Давайте пойдём от базы в направлении возрастания сложности.
Читать дальше →

Kustomize в Kubernetes

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

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

Если вы когда-либо сталкивались с вызовами управления множественными и сложными Kubernetes конфигурациями, то Kustomize — это то, что может очень круто упростить вашу жизнь.

Чем больше масштаб, работы Kubernetes, тем более витиеватыми становятся конфигурации. И здесь очень помогает Kustomize, он позволяет "конфигурировать конфигурации", управлять сложностью и делать процесс более понятным.

Читать далее

10 самых распространенных проблем при линтинге Dockerfile'ов

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

Весной 2023 года разработчики Depot добавили в свой сервис возможность проверять Dockerfile'ы при каждой сборке.

В этой статье они делятся десятью наиболее распространенными проблемами при линтинге Dockerfile'ов, разбирают каждую проблему и объясняют, почему она возникает и как ее решить. Авторы отмечают, что со временем список может измениться, но даже в таком виде он станет хорошей отправной точкой для оптимизации Dockerfile'ов.

Читать далее

Впихнуть невпихуемое, или Как мы боролись с сервисами, которые слишком много «ели»

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

Всем привет! Меня зовут Максим, я релиз-инженер Ozon, и в этой статье я расскажу про впихивание невпихуемого, или про оптимальную с точки зрения используемых ресурсов стратегию деплоя в Kubernetes, которая позволила нам сэкономить тысячи ядер CPU и терабайты RAM.

Читать далее

Опыт масштабирования Kubernetes на 2k узлов и на 400k подов

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

Расскажу, как мы в PayPal начинали осваивать Kubernetes. На тот момент большинство наших рабочих нагрузок выполнялось на Apache Mesos, и в рамках этой миграции нам требовалось разобраться с некоторыми аспектами производительности у кластеров, в которых будет работать Kubernetes – с учётом той плоскости управления, что действует в PayPal. Из всех этих аспектов важнее всего было понять, как именно масштабируется платформа, а также выявить, как можно было бы улучшить масштабируемость, настраивая параметры кластера.

Тогда как Apache Mesos может прямо из коробки масштабироваться вплоть до 10 000 узлов, масштабировать Kubernetes непросто. При масштабировании Kubernetes требуется учитывать не только количество узлов и подов, но и ещё некоторые вещи, в частности: сколько ресурсов создано, сколько у нас контейнеров на под, сколько всего сервисов задействовано, а также пропускная способность при развёртывании подов. В этом посте описаны некоторые проблемы, с которыми нам довелось столкнуться при масштабировании, и рассказано, как нам удалось с ними справиться.
Читать дальше →

Как сделать Spark в Kubernetes простым в использовании: опыт команды VK Cloud

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


Сегодня Spark — отраслевой стандарт среди инструментов обработки данных. Его часто используют в связке с Hadoop, однако Hadoop не очень подходит для работы в облаке. Альтернативой может быть Kubernetes, однако самостоятельно его настраивать и конфигурировать очень сложно. Чтобы упростить ситуацию и помочь пользоваться всеми преимуществами технологий, не сталкиваясь с трудностями, мы сделали в VK Cloud Spark в Kubernetes. Для работы с ним не нужна глубокая экспертиза в K8s. 

Меня зовут Алексей Матюнин, я ведущий программист команды разработки ML Platform в компании VK Cloud. Расскажу, почему мы решили делать Spark в Kubernetes, с какими сложностями столкнулись и как их обходили, а также что получили в итоге.

Материал подготовлен по мотивам моего выступления на конференции VK Data Meetup.
Читать дальше →

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

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

Чем раньше команда задумается о проблеме безопасности, тем лучше. В этой статье обсудим, какие проблемы ИБ есть в стандартном контейнерном приложении, поговорим о безопасности использования Docker, Kubernetes и Terraform и разберём, как можно встроить проверки в стандартный пайплайн деплоя.

Материал написан и дополнен по мотивам выступления Любови Гринкевич и Алексея Миртова из Yandex Cloud на DevOpsConf. Он будет интересен DevOps-инженерам, специалистам по безопасности, владельцам продуктов и всем, кто хочет:

Читать далее

Что нового в документации YDB в декабре 2023

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

Краткий дайджест свежего контента и новой функциональности в документации YDB за декабрь прошлого года.

Читать далее

Синхронизация локальных изменений с docker/kubernetes контейнером

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

Салют!

Хочу рассказать вам про такие замечательные инструменты как docker compose(быть точнее про новую возможность watch), skaffold, tilt.

Рассказать для чего они полезны, как пользоваться и с примерами.

Читать далее

Решаем головоломки и настраиваем среды Kubernetes: подборка новых языков программирования

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

В блоге beeline cloud мы уже делились дайджестом свежих DIY-материалов о контейнерах, DevOps и архитектуре. Сегодня расскажем, кто и зачем разрабатывает новые языки программирования — выбрали те, что появились на свет за последние три года. Некоторые из них написаны энтузиастами для решения головоломок на конкурсах, а другие — разработчиками крупных организаций для боевых задач.

Читать далее

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

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров14K
Давайте поговорим о тех проблемах, с которыми приходится сталкиваться на сайтах для стримингового видео, и как организовать архитектуру такого сайта, чтобы было проще справляться с нагрузками.

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

Тестирование новых версий сервисов с помощью Canary Deployment (Kubernetes)

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

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

 В  данной статье я  рассмотрел основную проблему в выпуске новых версий приложений в production, также описал суть canary deployment и процесс развертывания с помощью Kubernetes.

Читать далее

Что происходит, когда вы создаёте Pod в Kubernetes?

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

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

Читать далее

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

Как мы создавали сервис для хостинга ML-моделей на базе Kubernetes и AIOHTTP: опыт Контура

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

Привет, Хабр! Я Денис Брандес, инженер-программист в Контуре. В этой статье поделюсь своим докладом с конференции по ML. Расскажу, как наша команда справляется с сервингом сотни моделей и какие решения мы для этого разработали.

Центр AI в компании Контур занимается различными Data Science-задачами: распознаванием речи, работой с видео и аудио, созданием чат-ботов, финансовой аналитикой и прогнозированием. Еще семь лет назад у нас было всего четыре дата-сайентиста и менее десяти моделей в продакшене. Сегодня в компании работают 30 Data Science-специалистов, а в продакшене запущено более 150 моделей — около 300 с учетом реплик.
Читать дальше →

Как не сойти с ума, помечая цели для сбора метрик при мониторинге кластера. Спойлер: Victoria Metrics + Grafana

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

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

Статическая vs динамическая конфигурация

О коммерческой тайне без коммерческой тайны: как мы автоматизировали развёртку Kubernetes в изолированной среде

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

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

Читать далее

Создание эмулятора игр MS-DOS в Kubernetes

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

В этой статье мы разберёмся, как можно интегрировать JavaScript-библиотеку js-dos в собственное решение Kubernetes, что позволит нам предоставлять доступ к играм MS-DOS в виде сервисов Kubernetes и запускать их в браузере.

Кроме того, по ходу статьи я дам советы и рекомендации начального, продвинутого и высокого уровней по разработке собственных контроллеров Kubernetes при помощи Golang и Kubebuilder или Operator SDK.
Читать дальше →

Обеспечение безопасности Kubernetes с помощью Open Policy Agent (OPA)

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

Kubernetes — это мощный инструмент, который помогает нам эффективно и надежно управлять и развертывать наше программное обеспечение. Однако по мере того как наши системы становятся все более сложными, может возникнуть проблема с обеспечением их безопасности и соответствия правилам и нормам. Именно здесь на помощь приходит Open Policy Agent (OPA). Перевели туториал, где рассматривается, как OPA можно использовать в Kubernetes для обеспечения безопасности наших систем и соблюдения политик.

Читать далее

Работа с хранилищами в Kubernetes: руководство для инженеров

Время на прочтение21 мин
Количество просмотров27K
image

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

Накопленный мною опыт в этой области стал основой для этой статьи.

Я сфокусируюсь на трёх ключевых элементах управления хранилищем в Kubernetes:

  • PersistentVolumes (PV).
  • PersistentVolumeClaims (PVC).
  • Storage Classes.

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

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

Например, у нас была задача обеспечить надёжное и масштабируемое хранение данных в веб-приложении для управления клиентскими заказами. Мы настроили в Kubernetes Storage Class на основе SSD для базы данных (что не является хорошей практикой): это помогло обеспечить быстрый доступ и обработку транзакций. А для логов и нечасто применяемых данных использовали отдельный Storage Class с HDD, и это позволило снизить затраты.

А главное, Storage в Kubernetes — это такая штука, которую ты сделал и забыл, дальше оно там само работает.

Рассказываю детально.
Читать дальше →

Kubernetes, ищем базу

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

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

Читать далее

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