Como conectar componentes nativos de nuvem

Concluído

Unir as peças

Um cluster do AKS bloqueia todo o tráfego de entrada para o cluster para garantir a segurança da rede. Para expor aplicativos hospedados no AKS para o mundo, você precisa abrir portas específicas. Por exemplo, se você fosse hospedar um site usando o AKS, precisaria criar manualmente uma exceção que permitisse que as conexões de entrada solicitassem os arquivos do site.

O servidor de API do Kubernetes recebe o tráfego de rede e encaminha o tráfego para o contêiner correto. Para abrir uma porta no AKS para ser usada pelo mundo externo, o roteamento de aplicativos HTTP facilita o acesso a aplicativos no cluster usando um controlador de entrada.

Controladores de entrada

Os controladores de entrada permitem que você implemente e exponha seus aplicativos ao mundo sem a necessidade de configurar serviços relacionados à rede.

Os controladores de entrada permitem que uma única saída de DNS atenda às solicitações. Quando um novo serviço é implantado, os controladores de entrada criam um registro DNS para você.

Diagram of ingress controller routing.

Essa funcionalidade permite o fácil acesso ao recurso pela Internet sem a necessidade de configuração adicional. Fazer com que os controladores de entrada criem automaticamente registros DNS para você é especialmente útil, pois o AKS pode criar várias instâncias do mesmo contêiner para atender à demanda e vinculá-los automaticamente a um balanceador de carga conforme necessário.

Implantações dinâmicas confiáveis

Depois de configurar seus arquivos de manifesto, o Kubernetes oferece um avançado conjunto de recursos para opções de implantação. O Kubernetes oferece um caminho de baixa resistência para recursos de implantação, como:

  • Implantações canário
  • Implantar serviços em paralelo
  • Usar apenas uma quantidade específica de capacidade do sistema offline por vez
  • Disjuntores se uma implantação apresentar problemas

Muitos desses recursos são possíveis com outros sistemas, mas são mais difíceis de implementar e exigem bases de código complicadas.

Expansão horizontal contínua

O Kubernetes tem uma funcionalidade interna para replicar pods e garantir a disponibilidade de um número específico de pods idênticos. Essa replicação pode ser feita por um arquivo de manifesto ReplicaSet, semelhante ao arquivo de manifesto de implantação criado no último exercício.

Cenário de exemplo: Como conectar a solução de refrigerador inteligente

Em nosso cenário, hospedamos um contêiner Node no AKS para processar mensagens de inventário de refrigeradores inteligentes. Para que um aplicativo Web de gerenciamento receba informações do contêiner do Node, precisamos habilitar o roteamento de aplicativos HTTP e criar um arquivo de manifesto de entrada.

Se desenvolvermos e reimplantarmos o contêiner express.js, o arquivo de manifesto de entrada permitirá que o AKS roteie automaticamente solicitações para novos contêineres. O AKS também facilita habilitar o roteamento de aplicativos HTTP, pois é uma opção que podemos selecionar no portal do Azure.

A funcionalidade de entrada significa que só precisamos configurar para o contêiner do Node uma vez, e não precisamos reconfigurar o roteamento se atualizarmos nosso código ou reimplantarmos. Isso é particularmente útil para reduzir as despesas gerais de desenvolvimento com pipelines de CI/CD, um recurso comum de um aplicativo nativo da nuvem.