Grade de Eventos no Kubernetes com o Azure Arc (Visualização) - visão geral
Este artigo fornece uma visão geral da Grade de Eventos no Kubernetes, casos de uso para seu uso, recursos que ela oferece e como ela difere da Grade de Eventos do Azure.
Importante
A Grade de Eventos no Kubernetes com o Azure Arc está atualmente em visualização pública. Esta versão de pré-visualização é disponibiliza sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.
O que é o Event Grid?
A Grade de Eventos é um agente de eventos usado para integrar cargas de trabalho que usam arquiteturas controladas por eventos. Uma arquitetura orientada a eventos usa eventos para comunicar ocorrências em alterações de estado do sistema e é uma abordagem de integração comum em arquiteturas dissociadas, como aquelas que usam microsserviços. O Event Grid oferece um pub-sub, que também é descrito como um modelo de comunicação push-push, onde os assinantes recebem eventos enviados (pushed) e esses assinantes não estão necessariamente cientes do editor que está enviando os eventos. Esse modelo contrasta com os modelos clássicos push-pull, como os usados pelo Barramento de Serviço do Azure ou Hubs de Eventos do Azure, em que os clientes extraem mensagens de agentes 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 PaaS totalmente gerenciado no Azure, e Grade de Eventos no Kubernetes com Azure Arc, que permite usar a Grade de Eventos em seu cluster Kubernetes onde quer que seja implantado, no local ou na nuvem.
Para maior clareza, neste artigo usamos o termo Grade de Eventos quando nos referimos aos recursos de serviço geral, independentemente da edição usada. Referimo-nos à Grelha de Eventos do Azure para nos referirmos ao serviço gerido alojado 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 que você usa, 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 do evento. A Grade de Eventos permite selecionar os eventos que devem ser roteados para destinos específicos por meio de um conjunto de definições de configuração definidas em uma assinatura de evento. Você pode usar filtros em assinaturas de eventos para rotear eventos específicos para um ponto de extremidade ou multicast para vários pontos de extremidade. A Grade de Eventos também oferece um mecanismo de entrega confiável com lógica de repetição. A Grade de Eventos também é baseada em padrões abertos e suporta a especificação de esquema Cloud Events 1.0.
Event Grid no Kubernetes com o Azure Arc
A Grade de Eventos no Kubernetes com o Azure Arc é uma oferta que permite executar a Grade de Eventos em seu próprio cluster do Kubernetes. Esse recurso é habilitado pelo uso do Kubernetes habilitado para Azure Arc. Por meio do Kubernetes habilitado para Azure Arc, um cluster Kubernetes com suporte se conecta ao Azure. Uma vez conectado, você pode instalar o Event Grid nele.
Caso de utilização
A Grade de Eventos no Kubernetes oferece suporte a vários cenários de integração orientada a eventos. No entanto, o principal cenário abrangente suportado e expresso como uma história de usuário é:
"Como proprietário de um sistema implantado em um cluster Kubernetes, quero 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 acharem adequada."
Recurso que ajuda você a perceber o requisito acima: Tópicos da grade de eventos.
Grade de eventos no Kubernetes em resumo
Do ponto de vista do usuário, a Grade de Eventos no Kubernetes é composta pelos seguintes recursos em azul:
- Um tópico é um tipo de canal de entrada que expõe um ponto de extremidade para o qual os editores 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 onde os eventos são entregues.
- Um evento é o anúncio da mudança 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, os manipuladores de eventos são a API implantada em um cluster Kubernetes (K8s) e o serviço do Barramento de Serviço do Azure.
Para obter mais informações sobre estes conceitos, veja Concepts in Azure Event Grid (Conceitos no Azure Event Grid).
Exemplos de cenários e destinos de integração de carga de trabalho
Você pode integrar cargas de trabalho em execução em seu 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) para o qual o editor envia eventos.
Você também pode ter um editor implantado em outro lugar da rede que envia eventos para a Grade de Eventos implantado em um dos clusters do Kubernetes:
Com a Grade de Eventos no Kubernetes, você pode encaminhar eventos para o Azure para processamento, armazenamento ou visualização adicionais:
Destinos
Os destinos do manipulador de eventos podem ser qualquer ponto de extremidade HTTPS ou HTTP ao qual a Grade de Eventos possa chegar através da rede, pública ou privada, e tenha 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, consulte manipuladores de eventos.
Funcionalidades
A Grade de Eventos no Kubernetes dá suporte a tópicos de Grade de Eventos, que é um recurso também oferecido pela Grade de Eventos do Azure. Os tópicos da Grade de Eventos ajudam você a perceber o principal caso de uso de integração em que seus requisitos exigem a integração do sistema com outra carga de trabalho que você possui ou que de outra forma é disponibilizada 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 o tipo de evento, o assunto do evento ou os dados do evento para garantir que os manipuladores de eventos recebam apenas eventos relevantes.
- Fan-out: inscreva vários endpoints no mesmo evento para enviar cópias do evento para muitos lugares.
- Com base em padrões abertos: defina seus eventos usando a especificação de esquema Cloud Events 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 cheguem ao seu destino.
Para obter mais informações, consulte Recursos suportados pela Grade de Eventos no Kubernetes.
Preços
A Grade de Eventos no Kubernetes com o Azure Arc é oferecida gratuitamente durante sua versão de visualização.
Próximos passos
Siga estas etapas para começar a rotear eventos usando a Grade de Eventos no Kubernetes.
- Conecte seu cluster ao Azure Arc.
- Instale uma extensão de 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 de grade de eventos para saber mais.
- Crie um local personalizado. Um local personalizado representa um namespace no cluster e é o local onde os tópicos e assinaturas de eventos são implantados.
- Crie um tópico e uma ou mais assinaturas de eventos.
- Publicar eventos.
Aqui estão mais recursos que você pode usar:
- SDKs de plano de dados.
- Publique exemplos de eventos usando os SDKs do plano de dados.
- CLI da grade de eventos.
- SDKs de gerenciamento.