Construindo uma arquitetura voltada para eventos no Kubernetes

By Mahamed Ali, Customer Reliability Engineer, EMEA, Rackspace Technology

a man with glasses smiling

 

Um dia na vida de qualquer Racker pode variar muito dependendo da função; porém, uma coisa é universal: nosso compromisso com a Fanatical Experience™ do cliente.

Entrei na Rackspace Technology® há três anos graças ao programa de pós-graduação no Reino Unido. Durante o dia, trabalho com os clientes para resolver problemas altamente técnicos, de modo que eles trabalhem com mais eficiência na nuvem e expandam com facilidade.

"Além" de Racker, sou membro da Cloud Native Computing Foundation (CNCF), na qual sou líder do grupo de trabalho de produtividade com o projeto Knative."

Enquanto trabalhava com a CNCF e explorava o Knative, produzi duas contribuições sem código para observabilidade e monitoramento. Em seguida, entrei para o Productivity Working Group da CNCF para supervisionar a infraestrutura de testes do projeto Knative, que foi apresentado na publicação Humans of Cloud Native da CNCF.

No início do ano, apresentei uma breve atualização no KnativeCon/Kubecon Europe sobre meu trabalho. Confira:

Lightning Talk: Incubação CNCF Knative: testando melhorias e otimizações na infraestrutura

 

O que é Knative?

Knative é uma solução empresarial de código aberto para criar aplicativos sem servidor e baseados em eventos no Kubernetes. Ele consiste em duas partes: "Serving" e "Eventing".

O Knative Serving se baseia no Kubernetes para trabalhar com a implementação e a prestação de aplicativos e funções como contêineres sem servidor. O Serving é fácil de começar e se adapta para aceitar situações avançadas.

O projeto Knative Serving oferecem primitivos middleware para:

  • Rápida implementação de contêineres sem servidor
  • Expansão e retração automáticas até zero
  • Roteamento e programação de rede
  • Instantâneos pontuais do código e das configurações implementadas

O Knative Eventing é uma coleção de APIs para usar em uma arquitetura voltada para eventos com os aplicativos. Você pode usar essas APIs para, por exemplo, criar componentes que direcionam eventos de um produtor para os consumidores dos eventos, conhecidos como sinks, que recebem os eventos. Os sinks também podem ser configurados para responder a solicitações HTTP via evento de resposta.

O Knative Eventing usa solicitações HTTP POST padrão para enviar e receber eventos entre produtores e sinks de eventos. Esses eventos seguem as especificações do CloudEvents para criar, analisar, enviar e receber eventos em qualquer linguagem de programação.

Essa é uma função simples sem servidor no Knative.

 

Contribuição além do código

No ano passado, reformulei a pilha de monitoramento do Knative. Para isso, ativei:

  • A configuração fácil de usar do GitOps
  • O suporte ao Operador Prometheus. É a melhor forma de implementar o Prometheus nos clusters do Kubernetes.
  • Os painéis atualizados do Grafana

A capacidade de monitorar o Knative é muito importante, por ser componente central da infraestrutura do cluster. Ele nos mostra o desempenho do número de solicitações sendo processadas no plano de controle e identifica gargalos no sistema.

Essas informações já estavam disponíveis, mas não em um formato que permite que os administradores de cluster implementem a pilha de monitoramento e observem os sistemas com facilidade.

Ao trabalhar nesse projeto de código aberto, preenchi a lacuna entre a solução de problemas e a comunicação entre várias equipes em várias regiões do mundo. Com esse tipo de suporte, atendo melhor nossos clientes, que normalmente têm problemas mais complexos e precisam de soluções robustas.

 

Solving Together™

A Rackspace Managed Platform for Kubernetes (MPK) traz um único painel de controle para implementar e gerenciar clusters em nuvens públicas e privadas. É também uma plataforma organizada, com serviços de infraestrutura frequentemente solicitados para aplicativos conteinerizados com alto grau de segurança de Kubernetes.

Trabalharemos lado a lado com você, do design até a implementação do seu MPK personalizado para monitoramento, alerta, upgrade e otimização. Como resultado, você também ganhará uma boa postura de segurança.

Você também terá acesso sob demanda a um Pod do Kubernetes, uma equipe de suporte especializado composta por administradores certificados do Kubernetes versados em Kubernetes, Platform9 e multinuvens. Cada pod inclui um pequeno grupo de engenheiros certificados pela CCA, um arquiteto líder e um gerente de engajamento que trabalham em equipe.

Saiba mais sobre nossa parceria com a Platform9 para simplificar a adoção do Kubernetes.

Comece a resolver com o Kubernetes-as-a-Service