Grade de Eventos no Kubernetes com o Azure Arc (Versão Prévia) – visão geral

Este artigo fornece uma visão geral da Grade de Eventos no Kubernetes, os casos de uso para seu uso, os recursos que oferece e como ela difere da Grade de Eventos do Azure.

Importante

A Grade de Eventos no Kubernetes com Azure Arc está atualmente em versão prévia pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.

O que é Grade de Eventos?

A Grade de Eventos é um agente de eventos usado para integrar cargas de trabalho que usam arquiteturas controladas por eventos. Uma arquitetura controlada por eventos usa eventos para comunicar ocorrências em alterações de estado do sistema e é uma abordagem de integração comum em arquiteturas separadas, como aquelas que usam microsserviços. A Grade de Eventos oferece um pub-sub, que também é descrito como um modelo de comunicação push-push no qual os assinantes recebem (por push) eventos, e esses assinantes não estão necessariamente cientes do publicador que está enviando os eventos. Esse modelo contrasta com os modelos push-pull clássicos, como aqueles usados pelo Barramento de Serviço do Azure ou Hubs de Eventos do Azure, em que os clientes efetuam pull de mensagens dos agente de mensagens e, como consequência, há um acoplamento mais forte entre os agentes de mensagens e os clientes consumidores.

A Grade de Eventos é oferecida em duas edições: Grade de Eventos do Azure, um serviço de PaaS totalmente gerenciado no Azure e a Grade de Eventos no Kubernetes com o Azure Arc, que permitem o uso da Grade de Eventos no cluster do Kubernetes onde quer que seja implantado, localmente ou na nuvem.

Para maior clareza, neste artigo, usamos o termo Grade de Eventos ao fazer referência às funcionalidades gerais do serviço, independentemente da edição usada. Nos referimos à Grade de Eventos do Azure para fazer referência ao serviço gerenciado hospedado no Azure. Para concisão, também nos referimos à Grade de Eventos no Kubernetes com o Azure Arc como Grade de Eventos no Kubernetes.

Independentemente da edição da Grade de Eventos usada, há um editor de eventos que envia eventos para a Grade de Eventos e um ou mais assinantes de eventos que expõem pontos de extremidade onde recebem eventos entregues pela Grade de Eventos. Nem todos os eventos publicados na Grade de Eventos precisam ser entregues a todos os assinantes de eventos. A Grade de Eventos permite que você selecione os eventos que devem ser roteados para destinos específicos através de um conjunto de definições de configuração definidas em uma assinatura de evento. Você pode usar filtros em assinaturas de evento para rotear eventos específicos para um ponto de extremidade ou multicast para vários pontos de extremidades. A Grade de Eventos oferece um mecanismo de entrega confiável que também possui lógica de repetição. A Grade de Eventos também é baseada em padrões abertos e dá suporte à especificação do esquema de Eventos de Nuvem 1.0.

Grade de Eventos no Kubernetes com o Azure Arc

A Grade de Eventos no Kubernetes com o Azure Arc é uma oferta que permite que você execute a Grade de Eventos em seu próprio cluster do Kubernetes. Essa funcionalidade é habilitada pelo uso do Kubernetes habilitado para Azure Arc. Por meio do Kubernetes habilitado para Azure Arc, um cluster do Kubernetes compatível se conecta ao Azure. Uma vez conectado, você poderá instalar a Grade de Eventos.

Caso de uso

A Grade de Eventos no Kubernetes dá suporte a vários cenários de integração controlados por eventos. No entanto, o cenário principal completo com suporte e expresso como uma história de usuário é:

"Como proprietário de um sistema implantado em um cluster do Kubernetes, gostaria de comunicar as alterações de estado do meu sistema publicando eventos e configurando o roteamento desses eventos para que os manipuladores de eventos, sob meu controle ou de outra forma, possam processar os eventos do meu sistema da maneira que eles julgarem adequada."

Recurso que ajuda você a perceber os requisitos acima: Tópicos da Grade de Eventos.

Visão rápida da Grade de Eventos no Kubernetes

Da perspectiva do usuário, a Grade de Eventos no Kubernetes é composta pelos seguintes recursos em azul:

Resources

  • Um tópico é um tipo de canal de entrada que expõe um ponto de extremidade ao qual os publicadores enviam eventos para a Grade de Eventos.
  • Uma assinatura de evento é um recurso que contém definições de configuração para filtrar e rotear eventos para um destino no qual os eventos são entregues.
  • Um evento é o anúncio da alteração de estado.
  • Um manipulador de eventos é um aplicativo ou serviço que recebe eventos e reage ou processa os eventos de alguma forma. Às vezes, também nos referimos a manipuladores de eventos como assinantes de eventos. No diagrama acima, os manipuladores de eventos são a API implantada em um cluster do Kubernetes (K8s) e o serviço de Barramento de Serviço do Azure.

Para saber mais sobre esses conceitos, confira Conceitos na Grade de Eventos do Azure.

Amostra de cenários e destinos de integração de carga de trabalho

Você pode integrar cargas de trabalho em execução no cluster. Seu editor pode ser qualquer serviço em execução no cluster do Kubernetes ou qualquer carga de trabalho que tenha acesso ao ponto de extremidade do tópico (hospedado pelo agente da Grade de Eventos) ao qual o editor envia eventos.

Intra-cluster integration

Você também pode ter um publicador implantado em outro lugar na rede que envia eventos para a Grade de Eventos implantada em um dos clusters do Kubernetes:

In-network integration

Com a Grade de Eventos no Kubernetes, você pode encaminhar eventos para o Azure para processamento, armazenamento ou visualização adicionais:

Forward events to Azure

Destinos

Os destinos do manipulador de eventos podem ser qualquer ponto de extremidade HTTPS ou HTTP ao qual a Grade de Eventos pode acessar a rede, pública ou privada, e ter acesso (não protegido com algum mecanismo de autenticação). Você define destinos de entrega de eventos ao criar uma assinatura de evento. Para obter mais informações, confira manipuladores de eventos.

Recursos

A Grade de Eventos no Kubernetes dá suporte a Tópicos da Grade de Eventos, que também é um recurso oferecido pela Grade de Eventos do Azure. Os tópicos da Grade de Eventos ajudam você a perceber o caso de uso de integração principal em que seus requisitos chamam para integrar seu sistema a outra carga de trabalho que você possui ou, de outra forma, fica acessível ao seu sistema.

Alguns dos recursos que você obtém com a Grade de Eventos do Azure no Kubernetes são:

  • Filtragem de eventos : filtre com tipo de evento, assunto do evento ou data do evento para garantir que os manipuladores de eventos recebam apenas eventos relevantes.
  • Fan-out: assine vários pontos de extremidade no mesmo evento para enviar cópias do evento para diversos locais.
  • Com base em padrões em aberto: defina seus eventos usando a especificação de esquema de Eventos de Nuvem 1.0 do CNCF.
  • Confiabilidade: a Grade de Eventos apresenta uma lógica de entrega de eventos de repetição que garante que os eventos chegarão ao destino.

Para obter mais informações, consulte recursos com suporte na Grade de Eventos no Kubernetes.

Preços

A Grade de Eventos no Kubernetes com o Azure Arc é oferecida sem encargos durante sua versão prévia.

Próximas etapas

Siga estas etapas na ordem para iniciar eventos de roteamento usando a Grade de Eventos no Kubernetes.

  1. Conecte seu cluster ao Azure Arc.
  2. Instale uma extensão da Grade de Eventos, que é o recurso real que implanta a Grade de Eventos em um cluster do Kubernetes. Para saber mais sobre a extensão, consulte a seção Extensão da Grade de Eventos.
  3. Crie um local personalizado. Um local personalizado representa um namespace no cluster e é o local onde os tópicos e as assinaturas de evento são implantados.
  4. Crie um tópico e uma ou mais assinaturas de eventos.
  5. Publique eventos.

Aqui estão mais recursos que você pode usar: