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

Kubernetes *

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

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

YAML из Ада

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

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

Данный пост является нытьём и он более субъективен, чем мои обычные статьи.
Читать дальше →

Домашнее облачко или что можно сделать с Orange Pi 5 (Часть 1)

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

Прикупил для тестирования SBC Orange PI 5 c 8 ядрами и 16Гб RAM и постарался описать какие бонусы можно получить от использования. Поставил Ubuntu 22, Docker, Portainer, gitlab-ce, minio S3 (домашний S3). Приглашаю к обсуждению, кидайте тапками или предлагайте что нибудь потестировать на новом устройстве.

Читать далее

Разворачиваем Kubernetes-платформу Deckhouse в Yandex Cloud

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

Платформу Deckhouse можно устанавливать на виртуальные машины облачных провайдеров, на bare metal-серверы, в закрытый контур и не только. В статье рассмотрим вариант установки Deckhouse в Yandex Cloud. А чтобы убедиться, что все внутренние ресурсы и компоненты работают как надо, заглянем в веб-интерфейсы платформы, в том числе Grafana и Kubernetes Dashboard.

Читать далее

Праздник к нам приходит: новогодний сезон Kubernetes на Хабре

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

С 29 декабря 2022 до 24 февраля 2023 Хабр вместе с #CloudMTS запускает сезон Kubernetes — конкурс технических статей о K8s, оркестрации и управлении контейнерами. Это третий сезон Хабра: летом и осенью мы уже неслабо продвинули пачку крутейших хардкорных текстов о Java и Data Mining. Теперь пришла пора разобрать по косточкам Kubernetes и относящиеся к нему DevOps-практики.

UPD. Сезон закончился, итоги можно посмотреть в этой статье.

Читать далее

Ныряем в готовые кластеры Kubernetes с Deckhouse и werf

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


Российские облачные провайдеры начали предоставлять неплохие managed-решения для Kubernetes. Однако многие из них требуют доводки до ума и установки большого количества компонентов, направленных на сбор логов, мониторинг и доступ к кластеру. Это вынуждает пользователей собирать свой собственный бандл с Prometheus, Grafana и т.д., что крайне неудобно и требует дополнительных усилий.

Вот и я, столкнувшись с Managed Kubernetes от Selectel, захотел использовать что-то готовое, желательно от российских разработчиков. Я обратил внимание на платформу Deckhouse, которую к тому моменту можно уже было ставить в готовые кластеры k8s. В этой статье я расскажу про свой путь интеграции D8 и werf в инфраструктуру Selectel и те проблемы, с которыми столкнулся в процессе.
Читать дальше →

Мониторинг межсервисного взаимодействия Kubernetes с помощью протокола NetFlow

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

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

В идеале хотелось бы иметь какую-то карту взаимодействия сервисов в Kubernetes, которая сама автоматически обновляется. Такую карту можно построить с помощью инструментов типа Istio и Cilium. Но иногда можно обойтись и более простыми решениями — например, NetFlow.

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

Почему стоит использовать лимиты CPU в Kubernetes

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

Эту статью я написал в противовес статье “For the love of god, stop using CPU limits on Kubernetes” (Ради всего святого, прекратите использовать в Kubernetes лимиты CPU).

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

При этом моё несогласие, явно выраженное в противоположном по смыслу заголовке, связано с той категоричностью, с которой в итоге автор рекомендует не устанавливать лимиты потребления CPU.
Читать дальше →

Kubernetes 1.26: обзор нововведений, включая первый KEP «Фланта»

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

Этой ночью представят новую версию Kubernetes. Среди значимых улучшений релиза: возможность создавать тома из снапшотов, которые находятся в разных пространствах имен; поддержка OpenAPI v3 для команды kubectl explain; выравнивание ресурсов CPU в NUMA-кластере с учетом расстояния между узлами.

Также в Kubernetes 1.26 появится первая фича «Фланта», которая принята как Kubernetes Enhancement Proposal (KEP), а не просто как pull request.

Читать далее

Защищаем данные на проекте: про плагин Calico и правила работы с ним

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

Привет! Меня зовут Антон Седов, я DevOps-инженер и работаю в команде AGIMA. Мы с ребятами решили рассказать, как настраиваем Zero Trust Network Access через опенсорс-плагин Calico. Статей об этом не очень много, а у нас накопился опыт, которым хочется поделиться. Тут найдете полезную базовую информацию — на случай, если вообще про Calico не слышали. А если слышали — узнаете, как его настроить.

Читать далее

Практическое руководство по реализации Observability в DevOps

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

В ходе этой статьи мы развернём следующий стек инструментов Observability (наблюдаемости) Grafana:


Приступим!
Читать дальше →

Наша новая удачная попытка бесшовной замены Redis на KeyDB

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

Мы уже как-то рассказывали о базе данных KeyDB — форке Redis, разработка которого началась в 2019 году. Проект распространяется под свободной лицензией BSD, и у него уже почти 6k звезд на GitHub. Авторы в свое время столкнулись с проблемами производительности оригинала и пошли хардкорным путём: взяли всё в свои руки и привнесли много нового как в части многопоточности, так и в других областях.

В статье делимся еще одним положительным опытом замены Redis на KeyDB.

Читать далее

Kubernetes the hard way

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

Всем привет. Меня зовут Добрый Кот Telegram.

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

Вошли и вышли, приключение на 20 минут)

От коллектива FR-Solutions и при поддержке @irbgeo Telegram : Продолжаем серию статей о K8S.

Начать приключение

Как переехать на Kubeflow в качестве ML-платформы?

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

Привет, Хабр! В этом материале мы поделимся докладом Сергея Савватеева о переходе сервиса Mediascope на Kubeflow, который он подготовил к ML MeetUp.

Поговорим о роли команды в компании, как был устроен процесс разработки до перехода на Kubeflow. Разберем подробно сам переход, какие архитектурные решения принимались. С какими сложностями столкнулись и какие наметили шаги.
Читать дальше →

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

Челленджи деплоя, сетевых политик и планировщика: как мы внедряли ML-платформу Kubeflow

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


Kubeflow — фреймворк на базе Kubernetes, который помогает быстро запускать модели машинного обучения. Мы в VK решили внедрить его в свои рабочие процессы и столкнулись с некоторыми трудностями.

Меня зовут Федюнин Андрей, я системный инженер в команде платформы, которая предоставляет разработчикам Kubernetes для запуска приложений, и отвечаю за ML-кластер в нашей команде. Сегодня расскажу, зачем и как мы внедряли Kubeflow, как решали проблемы и к чему пришли.
Читать дальше →

Из чего строят Cloud Native приложения в 2022 году

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

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

В этом материале мы поговорим об особенностях Cloud Native приложений и какую роль играет Kubernetes в этом подходе.
Читать дальше →

Canary-релизы в Kubernetes на базе Ingress-NGINX Controller

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

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

Canary-релизы достаточно просто реализуются на уровне Ingress-контроллеров. В статье рассмотрен практический пример настройки таких релизов в Kubernetes на базе Ingress NGINX Controller.

Читать далее

Представляем ClusterIssuer для автоматического выпуска SSL-сертификатов LE через REG.RU

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

У большинства популярных DNS-провайдеров есть API, с помощью которого можно управлять записями. Это позволяет автоматизировать заказ и продление SSL-сертификатов через DNS01.

В Kubernetes для работы с сертификатами используется cert-manager. Чтобы заказать сертификат в кластере, нужно объявить ресурс центра сертификации — например, ClusterIssuer, который используются для подписи CSR (запросов на выпуск сертификата). К сожалению, не для каждого DNS-провайдера существует CusterIssuer. Однако cert-manager позволяет написать свою реализацию. У нас такая потребность возникла в проекте одного из клиентов, который пользовался услугами DNS-провайдера REG.RU.

Читать далее

Настраиваем память JVM-приложения в Kubernetes

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

Друзья, всем привет! Как известно, в Kubernetes у каждого pod’а есть ограничение на  использование памяти (limits.memory), и, как показывает опыт, далеко не всегда очевидно, как JVM-приложение интерпретирует эту настройку, что порой может приводить к OOMKill.

 

Читать далее

Обзор IDE Monokle, или Рассказ о неоправдавшихся ожиданиях

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

В погоне за лучшей или, правильнее сказать, удобной жизнью я начал искать решение, которое помогало бы писать чарты для Kubernetes и лучше разбираться в зависимостях — что, куда и откуда подставляется в созданных чартах. Так я наткнулся на программу под названием Monokle. В ее описании сказано: «Вы сможете составлять чарты, быстро находить какие либо несовместимости или неправильный код, а также деплоить ваши чарты сразу в K8s». Глаза загорелись, я приступил к установке.

Читать далее

GitOps — что это такое и с чем его едят?

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

На самом деле почти никто не знает, что такое GitOps. Я тоже заблуждался, пока не начал готовить доклад, а потом статью по этой теме. Самое распространенное определение GitOps — это «хранение состояния в Git», но оно не единственное и не самое главное. Это звучное словечко  придумали в Weaveworks, но его название несколько разнится с его реальным пониманием. Созвучие с DevOps — скорее, маркетинговый ход, чем реальное отражение сущности. Основная идея GitOps в том, что помимо хранения состояния в Git, у нас есть непрерывный процесс его синхронизации с реальным миром, то есть, что у вас Kubernetes-кластере или где либо ещё в вашем окружении.

Меня зовут Андрей Квапил. Я работал в чешском хостинге WEDOS. Он не сильно популярен в России, но это крупнейший хостинг на территории Чехии (просто Чехия маленькая).  Сейчас я работаю во Фланте, но именно на примере европейского хостинга WEDOS, хочу рассказать историю имплементации GitOps.

Читать далее

Работа

DevOps инженер
32 вакансии