384,96
Рейтинг
Флант
DevOps-as-a-Service, Kubernetes, обслуживание 24×7
6 августа

Open Service Mesh — новая service mesh для Kubernetes от Microsoft

Блог компании ФлантOpen sourceDevOpsМикросервисыKubernetes


Вчера состоялся анонс очередного Open Source-решения класса service mesh — Open Service Mesh (OSM). Проект был представлен Michelle Noorali, что занимает должность Senior Software Engineer в команде Azure Cloud Native Compute компании Microsoft, а также входит в состав руководства организации CNCF.

Open Service Mesh позиционируется как «легковесная и расширяемая „сервисная сетка“, запускаемая поверх Kubernetes», которая (как, в общем-то, и другие решения этой категории) позволяет «унифицировано управлять межсервисным взаимодействием, обеспечивать для него безопасность и мониторить его в динамичных микросервисных окружениях».

Microsoft уже была замечена в активной работе над спецификацией SMI (Service Mesh Interface), призванной стандартизировать service mesh-решения для Kubernetes и недавно принятой в состав проектов CNCF (пока лишь в рамках «песочницы» — sandbox).

Open Service Mesh следует этой спецификации и призван стать проектом, руководимым Open Source-сообществом и, в частности, способствующим развитию типовых API в SMI. Буквально 10 часов назад была подана заявка и на включение Open Service Mesh в состав проектов CNCF, тоже как sandbox. (К слову, в фонде уже значатся такие service mesh-решения, как Linkerd и Kuma.)

Технические детали и архитектура


Исходный код Open Service Mesh написан на языке Go, доступен в GitHub и распространяется на условиях свободной лицензии MIT.

Анонс проекта приурочен к первому публичному релизу OSM — v0.1.0, — представленному менее суток назад. Отдельно отмечается, что OSM не готов к использованию в production.

Open Service Mesh архитектурно базируется на прокси Envoy и реализует go-control-plane xDS v3 API этого проекта. Однако, несмотря на то, что Envoy входит в поставку OSM по умолчанию, использование стандартных интерфейсов позволяет интегрировать его и с другими реверсными прокси (совместимыми с xDS). Безопасность обеспечивается автоматическим mTLS для взаимодействия сервисов.

Open Service Mesh образуется 5 компонентами:



  • Proxy control plane обрабатывает gRPC-соединения от sidecar-прокси service mesh'а;
  • Certificate manager обеспечивает выпуск сертификатов и управление ими (возможно использование внешних решений для этих задач);
  • Endpoints providers отвечают за получение IP-адресов всех платформ, участвующих во взаимодействии (таковыми могут являться кластеры Kubernetes, машины on-prem, виртуальные машины облачных провайдеров);
  • Mesh specification — обёртка вокруг спецификации SMI на Go SDK, обеспечивающая простые методы получения ресурсов по этой спецификации, абстрагируясь от специфики устройства кластера и хранилища;
  • Mesh catalog — центральное звено service mesh'а, собирающее данные со всех других компонентов и передающее конфигурацию для proxy control plane.

Более подробное представление об архитектуре OSM можно получить из этой расширенной схемы:



… а также из достаточно подробного документа DESIGN.md.

Проект Open Service Mesh будет представлен на грядущей виртуальной конференции по Kubernetes — KubeCon EU Virtual 2020, — а также в рамках вебинара партнеров CNCF 14 августа.

P.S.


Читайте также в нашем блоге:

Теги:Open Service MeshEnvoyservice meshсервисная сеткаMicrosoftCNCF
Хабы: Блог компании Флант Open source DevOps Микросервисы Kubernetes
+23
2,3k 7
Комментировать
Похожие публикации
▇▅▄▅▅▄ ▇▄▅