5 малоизвестных, но чрезвычайно мощных инструментов сервисной сетки Kubernetes

Опубликовано: 15 Апреля, 2023
5 малоизвестных, но чрезвычайно мощных инструментов сервисной сетки Kubernetes

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

1. Консул

Consul, сервисная сетка, имеет полнофункциональную плоскость управления. Впервые он был выпущен в 2014 году и разработан HashiCorp. Эту сервисную сетку можно установить и настроить в существующем кластере Kubernetes. Его последняя версия — 1.9.5, выпущенная 15 апреля 2021 года.

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

Ключевыми функциями Consul являются проверка работоспособности, обнаружение сервисов, хранилище KV (для хранения пар ключ-значение), несколько центров обработки данных и безопасная связь между сервисами. Ячеистая служба удобна как для разработчиков приложений, так и для сообщества DevOps, что делает ее идеальным выбором для организаций.

Услуга предоставляется в трех ценовых режимах: первый — с открытым исходным кодом (бесплатная версия), второй — Managed Consul (от 0,027 долл. США в час) и третий — Enterprise, который поставляется с настраиваемым развертыванием, поэтому цена варьируется. Более того, все три ценовые модели имеют разный набор функций.

2. Автопилот

Autopilot — это набор инструментов и SDK, используемый для развертывания и разработки операторов сервисной сетки. Он разработан Solo.io, компанией по подключению услуг. Эта услуга была запущена в конце 2019 года. Сервис позволяет своим пользователям автоматизировать интерфейс сервисной сетки для экспериментов с хаосом, адаптивной безопасности, канареечной автоматизации и многого другого.

Этот сервис создает и развертывает операторов. Их можно запускать в удаленном или локальном кластере Kubernetes, установленном с Service Mesh. Код и библиотеки, сгенерированные Autopilot, позволяют пользователям легко автоматизировать мониторинг и настройку сервисной сетки и других ресурсов инфраструктуры с помощью Kubernetes Operator. Кроме того, он также предоставляет сгенерированный код, примитивы и вспомогательные функции, которые могут взаимодействовать с другими сервисными сетками. Он имеет открытый исходный код и использует библиотеки из нескольких проектов Kubernetes, включая Flagger (сетевой оператор, который развертывает канареек), Controller Runtime (библиотеки для создания контроллеров k8s) и Operator Framework (SDK для создания обобщенных операторов K8s).

Проект предназначен для поддержки большинства рабочих процессов DevOps, построенных на основе сетки Kubernetes+Service.

3. ВОСЕМЬ

Изображение 14246 Open Service Mesh (OSM) — это сервисная сетка с открытым исходным кодом, созданная Microsoft, которая поддерживает среду Kubernetes. Это облачная сервисная сетка, которая позволяет пользователям согласованно управлять сервисными сетками и защищать их. Он также предлагает готовые функции наблюдения для динамических сред микросервисов.

OSM работает как плоскость управления на основе Envoy в Kubernetes. Его можно настроить с помощью API-интерфейсов Service Mesh Interface (SMI). Он работает путем внедрения прокси-сервера Envoy в каждый экземпляр приложения. Прокси-сервер может помочь в сборе метрик конфигурации маршрутизации и выполнении правил, связанных с политиками управления доступом. Чтобы убедиться, что политики и правила маршрутизации обновлены, а прокси-серверы работают, плоскость управления постоянно настраивает прокси-серверы. Кроме того, он предлагает упрощенную конфигурацию «переключения трафика» для более быстрого развертывания. Он также обеспечивает безопасную связь между службами, упрощая mTLS. Это может помочь в определении и выполнении детальных политик контроля доступа для служб. Он также предоставляет механизм для мониторинга метрик приложений для отладки и аналитических служб. Он также предлагает интеграцию с внешними службами управления сертификатами или решениями с подключаемым интерфейсом. Это позволяет автоматически вставлять новые приложения в сетку через прокси-сервер Envoy.

В сентябре 2020 года проект OSM, поддерживаемый Microsoft, был принят для участия в CNCF в качестве проекта-песочницы. Это считается ответом Microsoft на культуру открытого исходного кода Google и считается основой для дальнейшей совместной работы над совместимостью нескольких облаков, которую Microsoft будет использовать для своих облачных предложений.

4.Слой5

Layer5 — компания, занимающаяся сервисной сеткой, и всемирное сообщество, предлагающее большой набор проектов сервисной сетки. Сообщество создает и поддерживает несколько проектов, ориентированных на возможности сервисной сетки в облачной среде.

Ключевые проекты, работающие в рамках сообщества Layer5, включают:

Ячеистая сеть: плоскость управления мультисервисной сеткой, которая позволяет пользователям управлять жизненным циклом нескольких типов сервисных сеток.

Ландшафт сервисных сеток: коллекция нескольких известных проектов и предложений сервисных сеток, включая Linkerd, Istio, Consul, NGINX Service mesh и Network service mesh, с сравнением их сильных сторон.

Производительность Service Mesh: Спецификация, не зависящая от поставщика, которую можно использовать для создания индекса производительности. Он может помочь собрать подробную информацию о среде и инфраструктуре, сервисной сетке, конфигурации и сервисе/приложении, а затем предоставить статистический анализ результатов.

Image Hub: демонстрационное приложение, которое работает на Consul и позволяет использовать модули WebAssembly в качестве фильтров Envoy.

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

Learn Layer5: пример приложения для изучения сервисной сетки. Он также предоставляет среду тестирования соответствия SMI.

Соответствие интерфейса Service Mesh: позволяет тестировать соответствие всех участвующих проектов Service Mesh, а также тестировать их возможности и статус соответствия.

GetNightHawk: инструмент определения характеристик производительности уровня 7.

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

5. И

Изображение 14247
Kuma — это сервисная сетка с открытым исходным кодом, которая обеспечивает поддержку нескольких облачных сред, таких как Kubernetes и виртуальные машины. Он был создан Конгом и недавно добавлен в CNCF как проект «Песочница». Более того, Kuma уже готова к производству и все еще находится в стадии активной разработки.

Kuma — это простая, но мощная сервисная сетка. Это упрощает общий процесс запуска сервисной сетки в каждой организации с очень разными возможностями, такими как поддержка нескольких сетей, поддержка нескольких зон с интуитивно понятной кривой обучения. Он используется предприятиями по всему миру для поддержки распределенных сервисных сеток, что позволяет группам приложений работать как с виртуальными машинами, так и с Kubernetes. Он имеет широкую универсальную поддержку рабочих нагрузок. Он также обеспечивает встроенную поддержку Envoy в качестве прокси-технологии плоскости данных. Более того, для этого не требуется, чтобы пользователи имели опыт работы с Envoy. Он обеспечивает обнаружение служб L4-L7, маршрутизацию, подключение, наблюдаемость и безопасность для любой службы на любой платформе, включая базы данных.

Он был добавлен в CNCF, которая управляет большим количеством быстрорастущих проектов с открытым исходным кодом. Пользователи, которым требуется поддержка Kuma на уровне предприятия, могут посетить страницу предложений для предприятий.

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

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