Сетка событий в Kubernetes со службой Azure Arc (предварительная версия) — обзор

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

Важно!

Служба "Сетка событий" в Kubernetes с поддержкой Azure Arc сейчас находится в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания и не рекомендована для использования рабочей среде. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.

Что такое сетка событий?

Сетка событий — это брокер событий, используемый для интеграции рабочих нагрузок с архитектурой на основе событий. Архитектура на основе событий предполагает использование событий для предоставления сведений об изменениях состояния системы и является распространенным подходом к интеграции в несвязанных архитектурах, например предусматривающих использование микрослужб. Служба "Сетка событий" предлагает вложенный паб, который также описывается как push-push-модель, в которой подписчики отправляют (push-уведомления) события, и эти подписчики не обязательно знают издателя, отправляющего события. Эта модель отличается от классических моделей push-вытягивания, таких как те, которые используются Служебная шина Azure или Центры событий Azure, где клиенты извлекают сообщения из брокеров сообщений и, как следствие, существуют более сильные связи между брокерами сообщений и клиентами,потребляющими клиентами.

Сетка событий предоставляется в двух выпусках: Сетка событий Azure, полностью управляемая служба PaaS в Azure и Сетка событий в Kubernetes с Помощью Azure Arc, которая позволяет использовать сетку событий в кластере Kubernetes, где бы ни было развернуто, локально или в облаке.

Для ясности в этой статье термин Сетка событий используется применительно к общим возможностям службы независимо от ее варианта. Под Сеткой событий Azure понимается управляемая служба, размещенная в Azure. Кроме того, для краткости мы будем называть Сетку событий в Kubernetes со службой Azure ArcСеткой событий в Kubernetes.

Независимо от выпуска используемой сетки событий, существует издатель событий, который отправляет события в сетку событий и один или несколько подписчиков событий, которые предоставляют конечные точки, в которых они получают события, предоставляемые сеткой событий. Не все события, публикуемые в Сетке событий, должны доставляться всем подписчикам. Сетка событий позволяет выбирать события, которые должны направляться в определенные места назначения, с помощью ряда параметров конфигурации, определяемых в подписке на события. С помощью фильтров в подписках на события можно направлять определенные событий в одну конечную точку или массово рассылать их в несколько конечных точек. Сетка событий предлагает надежный механизм доставки с логикой повторов. Кроме того, Сетка событий основана на открытых стандартах и поддерживает спецификацию схемы CloudEvents 1.0.

Служба "Сетка событий" в Kubernetes с Azure Arc

Сетка событий в Kubernetes со службой Azure Arc — это предложение, которое позволяет использовать службу "Сетка событий" в собственном кластере Kubernetes. Эта возможность обеспечивается с помощью Kubernetes с поддержкой Azure Arc. Kubernetes с поддержкой Azure Arc позволяет поддерживаемому кластеру Kubernetes подключаться к Azure. После подключения вы сможете установить в ней сетку событий.

Вариант использования

Сетка событий в Kubernetes поддерживает различные сценарии интеграции на основе событий. Однако наиболее общий поддерживаемый сценарий можно выразить в виде такой пользовательской истории:

"Как владелец системы, развернутой в кластере Kubernetes, я хочу сообщать об изменениях состояния системы, публикуя события и настраивая их маршрутизацию так, чтобы обработчики событий независимо от того, находятся ли они под моим контролем, могли обрабатывать события системы по своему усмотрению".

Функция , которая помогает реализовать указанные выше требования: разделы сетки событий.

Краткий обзор Сетки событий в Kubernetes

С точки зрения пользователя, Сетка событий в Kubernetes состоит из перечисленных ниже ресурсов.

Resources

  • Раздел — это своего рода входной канал, предоставляющий конечную точку, в которую издатели отправляют события Сетки событий.
  • Подписка на события — это ресурс, который содержит параметры конфигурации для фильтрации и маршрутизации событий в место их доставки.
  • Событие — это объявление об изменении состояния.
  • Обработчик событий — это приложение или служба, которая получает события и реагирует или обрабатывает события каким-то образом. Иногда обработчики событий также называют подписчиками на события. На схеме обработчики событий — это API, развернутый в кластере Kubernetes (K8s) и службе Служебная шина Azure.

Дополнительные сведения об этих понятиях см. в разделе Concepts in Azure Event Grid (Основные понятия службы "Сетка событий Azure").

Примеры сценариев интеграции рабочих нагрузок и назначений

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

Intra-cluster integration

Кроме того, издатель может быть развернут в любом другом месте сети, откуда события отправляются в Сетку событий, развернутую в одном из кластеров Kubernetes.

In-network integration

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

Forward events to Azure

Назначения

Назначением обработчика событий может быть любая конечная точка HTTPS или HTTP, доступная Сетке событий через общедоступную или частную сеть (без защиты проверкой подлинности). Назначения для доставки событий определяются при создании подписки на события. Дополнительные сведения см. в статье об обработчиках событий.

Функции

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

Ниже перечислены некоторые возможности, которые предоставляет Сетка событий Azure в Kubernetes.

  • Фильтрация событий — фильтрация по типам, темам или данным событий для получения обработчиками только нужных им событий.
  • Размноженная отправка — несколько конечных точек можно подписать на одно и то же событие, чтобы его копии отправлялись во множество мест.
  • Открытые стандарты: определяйте события, используя спецификацию схемы CloudEvents 1.0 CNCF.
  • Надежность: в Сетке событий реализована логика повторной доставки событий, гарантирующая достижение событиями места назначения.

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

Ценообразование

Сетка событий в Kubernetes со службой Azure Arc предоставляется в предварительной версии бесплатно.

Следующие шаги

Чтобы начать маршрутизацию событий с помощью Сетки событий в Kubernetes, выполните указанные ниже действия по порядку.

  1. Подключите кластер к Azure Arc.
  2. Установите расширение Сетки событий, то есть ресурс, который развертывает Сетку событий в кластере Kubernetes. Дополнительные сведения об этом расширении см. в разделе Расширение Сетки событий.
  3. Создайте пользовательское расположение. Настраиваемое расположение представляет собой пространство имен в кластере и место, где развертываются темы и подписки на события.
  4. Создайте раздел и одну или несколько подписок на события.
  5. Опубликуйте события.

Ниже приведены дополнительные ресурсы, которыми можно воспользоваться.