Все потоки
Поиск
Написать публикацию
Обновить
83.71

Kubernetes *

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

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

Собираем собственный сервис-меш

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

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

Читать далее

Политики безопасности k8s gatekeeper OPA. Интеграция с GO

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

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

Читать далее

etcd в Kubernetes: разбираемся с задержками

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

Эта статья будет полезна DevOps-инженерам, SRE-специалистам и всем, кто работает с Kubernetes и хочет глубже понять его внутренние механизмы. Если вы настраиваете, масштабируете или устраняете неполадки в кластере K8s, важно разобраться в etcd — распределенном key-value-хранилище, которое лежит в основе отказоустойчивости Kubernetes.

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

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

В основе материала — перевод опубликованных исследований инженеров Red Hat. Примечание редактора: Нам показалось, что авторы хорошо знакомы с механизмами etcd, но мало разбираются в работе СХД, поэтому мы дополнили перевод своими комментариями.

Читать далее

Как развернуть простой Kubernetes-кластер с VictoriaMetrics? Пособие для начинающих

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

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

Привет, Хабр! Меня зовут Катя Низовцева, я системный администратор в Selectel. В этой статье мы подробно рассмотрим, как с помощью Kubespray быстро и эффективно развернуть работоспособный Kubernetes-кластер, а также интегрировать с ним систему мониторинга VictoriaMetrics. Этот подход особенно полезен, когда необходимо оперативно создать тестовое окружение или подготовить базовую инфраструктуру для дальнейшего развития.

Читать далее

Успех секрета: как доставлять секреты в приложения безопасно и без головной боли

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

Мы видели много инфраструктур и встречали самые разные способы доставки секретов в приложения, развёрнутые в кластерах Kubernetes. Но ни один из этих способов не был одновременно удобным и по-настоящему безопасным. В статье расскажем про существующие варианты, посмотрим на их плюсы и минусы и поделимся тем, как мы решали задачу доставки секретов в Deckhouse Kubernetes Platform. 

Читать далее

Как разработать CSI-драйвер с поддержкой Swordfish API и запустить его без железа

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

Контейнерные приложения все чаще требуют постоянного хранилища, будь то базы данных, кэш или файловые серверы. Но Kubernetes по умолчанию не «умеет» работать напрямую с системами хранения данных, в этом ему помогает CSI (Container Storage Interface). А если хочется управлять хранилищем через единый стандарт и без привязки к конкретному вендору, на помощь приходит спецификация Swordfish.

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

Читать далее

Как спрятать сontrol plane Kubernetes от любопытных глаз

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

Control plane Kubernetes — как сейф с главными ключами. Он управляет кластером, хранит sensitive-информацию и зачастую представляет собой лакомую цель для злоумышленников. 

В этой статье — разбор того, как спрятать control plane в сервисе Managed Kubernetes, предоставляемом в облаке: зачем это нужно, какие варианты существуют и с какими проблемами мы столкнулись на практике. Рассмотрим несколько open source решений, которые протестировали у себя в поисках надёжного способа изолировать control plane-ноды от пользователя и сделать их недоступными для какого-либо внешнего взаимодействия.

Меня зовут Каиржан, я DevOps/Software-инженер в команде разработки
MWS Cloud Platform, пишу на Go под Kubernetes и ClusterAPI. Наша команда разрабатывает сервис Managed Kubernetes для публичного облака — от инфраструктуры до собственных провайдеров для ClusterAPI. Поэтому вопрос безопасности control plane (CP) для нас стоит особенно остро.  

Читать далее

GitOps для AWS CDK

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

В какой-то момент в нашей команде стало очевидно: пора тащить всю инфраструктуру в Git — по-взрослому, через GitOps. Kubernetes у нас уже был, ArgoCD тоже. Осталось «дотащить» туда AWS-ресурсы, которые мы описываем с помощью AWS CDK.

Идея казалась простой: есть CDK-код в Git, запускается ArgoCD, всё красиво деплоится в облако. Но реальность оказалась совсем не такой. CDK — это не YAML и даже не Terraform. Это исполняемый код. GitOps — это про декларативность и kubectl apply. CDK с этим не дружит.

Ожидалось, что наверняка есть готовый Kubernetes-оператор, который запускает cdk deploy при изменении кода. Как это уже сделано для Terraform (через ArgoCD Terraform Controller), Pulumi, или хотя бы через ACK. Но после долгого ресерча выяснилось: нет ничего рабочего и production-ready.

Так появилась идея — написать собственный Kubernetes-оператор, который сможет:

- раз в какое-то время (или по коммиту в Git) запускать cdk deploy;
- проверять cdk diff и cdk drift для отслеживания изменений и дрифта;
- удалять CloudFormation-стэк, если ресурс удалили из Git;
- интегрироваться с ArgoCD и Prometheus.

Получился полноценный GitOps-воркфлоу для AWS CDK — без пайплайнов, без ручных cdk deploy, без дрейфующих стэков.

Под катом — расскажу, как мы подошли к проблеме, как устроен Custom Resource CdkTsStack, какие фишки мы добавили (метрики, хуки, IAM-пользователи), и почему наш подход оказался практичнее, чем существующие альтернативы вроде Terraform Operator или Pulumi.

Читать далее

Выделенные серверы + Kubernetes: практическое руководство

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

Привет, Хабр! Я Максим, инженер по тестированию Selectel. Недавно мы провели технический воркшоп по работе с Kubernetes на выделенных серверах. Под катом — подробный текстовый разбор. Рассмотрим создание кластера через панель управления, деплой приложения, настройку внешнего доступа и подключение облачной базы данных с тестовым запросом прямо из пода.

Читать далее

DNS-хаос, зомби-поды и майнеры в кластере: самые невероятные случаи при работе с Kubernetes

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

Kubernetes — мощный и одновременно сложный инструмент, работа с которым неизбежно порождает… инциденты. И на практике DNS виновата далеко не всегда. Иногда всё ломает слишком длинное имя деплоймента, протухший CA-сертификат или сбой сетевой карты, из-за которого TCP-пакеты просто отбрасываются. В статье вас ждут самые интересные и поучительные инженерные истории с Reddit.

Читать далее

Настраиваем доступ к сервисам и подам Kubernetes в облаке

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

Сталкивались ли вы с ситуацией, когда нужно получить доступ к сети подов или сервисов в кластере Kubernetes? Кто-то может возразить, что маппинга портов через port-forward или использования NodePort вполне достаточно, однако часто это не так. Список реальных кейсов велик, рассмотрим несколько для примера:

— разработчикам нужен прямой доступ к сервисам по ClusterIP для дебага;

— используются внешние балансировщики (например, SIP/RTP-прокси для телефонии или антиспам-решения), когда они не могут быть размещены внутри Kubernetes;

— присутствуют аппаратные решения вроде NGFW от именитых производителей.

В тексте мы в первую очередь будем опираться на практику Managed Kubernetes-сервиса Selectel, но он также будет полезен, если у вас свой K8s с CNI Calico.

Читать далее

Новости виртуализации Deckhouse: готовность к продакшену, автоматическая перебалансировка ВМ по узлам и другие фичи

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

За последние два месяца в Deckhouse Virtualization Platform (DVP) вышло пять новых релизов (0.19–0.23). За это время в платформе появилось много важных улучшений, о которых мы расскажем в этом обзоре. Среди них — готовность к продакшену, улучшенная безопасность, автоматическая перебалансировка ВМ по узлам, оптимизация миграции и вложенная виртуализация. Подробности в обзоре.

Читать далее

Как мы внедряли Service Mesh и не утонули в сложностях: реальный кейс Orion soft

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

Артём Еремин, системный инженер Nova Container Platform в Orion soft.

Всем привет! Недавно я выступал на мероприятии СНОВА О КУБЕРЕ и рассказывал о Service Mesh. Тема достойна и поста на Хабре, потому что Service Mesh стал распространенной фишкой, но при этом не самой простой. 

Мы в Orion soft решили внедрить ее в нашу платформу оркестрации Nova Container Platform, и по пути столкнулись с целым рядом «подводных камней»: от выбора самого решения до нюансов настройки MTLS и организации точек входа трафика в наш кластер. В этой статье я расскажу, как мы выбирали реализацию для Service Mesh, почему остановились на Istio, какие вопросы решали и что из этого получилось.

Читать далее

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

Через тернии к звездам: настраиваем сетевую связность Kubernetes на физическом сервере в ЦОД

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

Привет, Хабр! С вами Антон Паус. Я четыре года проработал системным инженером в российском офисе Cisco, а сейчас работаю DevOps-инженером в Cloud.ru — занимаюсь облаком собственной разработки

С 2024 года я веду проект по разработке новой архитектуры кластера виртуализации Evolution IaaS на базе Kubernetes. Раньше мы использовали связку Ansible и Docker, и это отлично работало на существующем масштабе, но с ростом клиентской нагрузки столкнулись с рядом сложностей, что в конечно итоге и сподвигло нас на обновление архитектуры. 

Проект получился довольно объемным и со множеством нюансов и сложностей, о которых я, возможно, напишу в следующих статьях. В этой же хотел остановиться на нюансах сетевого взаимодействия в кластере bare metal Kubernetes — в ходе работы возник ряд сложностей (например, с первоначальной установкой K8s на сервер с несколькими интерфейсами), о решении которых я и расскажу. 

Если развернуть кластер Kubernetes на железе — в ваших обозримых планах, надеюсь, мои изыскания будут полезны. А еще в статье довольно много сетевки, так что приготовьтесь!

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

Kubernetes: шестимесячный марафон по прокачке dBrain.cloud

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

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

Читать далее

PDB для StatefulSet с minAvailable=100 % и контролируемый rolling-update через Partition

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

Привет!

Сегодня мы рассмотрим, как перезапустить полноценный ZooKeeper‑кластер в Kubernetes так, чтобы ни один из узлов не потерял кворум даже на микросекунду. Берём два проверенных инструмента — строгий PodDisruptionBudget с minAvailable: 100% и StatefulSet с updateStrategy.RollingUpdate.partition.

Читать далее

Опыт эксплуатации Service Mesh в Авито

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

Привет, Хабр! Меня зовут Игорь Балюк, совсем недавно я работал платформенным инженером в Авито. В этой статье я рассказываю про Service Mesh и показываю, что это, скорее, не конечная точка, где можно найти «серебряную пулю» от всех проблем, а путь, который, возможно, никогда не закончится: придется постоянно куда-то бежать и что-то дорабатывать. В тексте я также разбираю, как работает Service Mesh в Авито. 

Переходите под кат, будет интересно!

Читать далее

Как перенести данные Persistent Volume из одного Kubernetes кластера в другой с помощью Tuna

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

В этом гайде мы рассмотрим 2 способа как легко перенести данные в Persistent Volume из одного Kubernetes кластера в другой без сложных манипуляций и промежуточных скачиваний с помощью Tuna туннелей. Гайд подойдет для любых типов данных, это может быть Wordpress приложение или каталог с картинками, бэкапами, в общем что угодно.

Читать далее

Как девопсы контейнеризацию с виртуализацией дружили

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

А что, если бы виртуалки вели себя как контейнеры — с миграциями, мониторингом, провижингом томов и GitOps? Мы во «Фланте» так и сделали: совместили Kubernetes с KubeVirt, там-сям допилили и получили решение, которое позволяет запускать виртуальные машины рядом с контейнерами и управляется как обычный кластер Kubernetes.

Привет, Хабр! Я — Олег Сапрыкин, технический директор по инфраструктуре компании «Флант». Сегодня я расскажу, как мы создавали виртуализацию в экосистеме Deckhouse от выбора инструмента для управления ВМ в 2023 году до полноценного продукта, готового к использованию в production весной 2025-го. Подробно опишу, с какими подводными камнями мы столкнулись в процессе эксплуатации и какие доработки потребовались.

Читать далее

Переход с MaaS на Metal³: зачем, почему, что получилось

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

В этой статье мы подробно расскажем о пути перехода платформы контейнеризации dBrain.cloud с MaaS на Metal³. Основная задача, которую решают оба этих проекта, состоит в установке операционной системы на серверы платформ. Озвучим причины, по которым мы искали альтернативные решения, и объясним, чем Metal³ превосходит MaaS.

Читать далее

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