Visão geral da rede Kubernetes
Nós
É comum ver o Kubernetes referido como um cluster . Em um alto nível, os clusters são um grupo de computadores que trabalham juntos e compartilham recursos para ajudar a melhorar o desempenho e a disponibilidade. Se algum computador no cluster falhar, os serviços em execução no cluster poderão continuar em execução nos computadores funcionais restantes.
No Microsoft Azure, esses computadores são conhecidos como máquinas virtuais (VMs) . No Kubernetes, essas VMs são conhecidas como os nós .
Os nós precisam de conectividade de rede para que possam se comunicar uns com os outros e rotear efetivamente o tráfego de rede. Os nós também precisam se comunicar com o plano de controle do Kubernetes , que fornece os principais serviços do Kubernetes e a orquestração de cargas de trabalho de aplicativos, para que possam executar os recursos de carga de trabalho do aplicativo.
Cápsulas
No Kubernetes, os recursos de carga de trabalho do aplicativo incluem pods, implantações e conjuntos. Os pods são a menor unidade implantável em um cluster Kubernetes. Eles são distribuídos pelos nós de uma forma que permite o melhor uso dos recursos de processador e memória disponíveis nos nós. Os pods normalmente representam uma única instância ou subcomponente do seu aplicativo. Um pod pode executar um componente de carrinho de compras que gerencia os itens no carrinho de um cliente ou um componente de envio que lida com o processamento de pedidos concluídos.
Você pode executar várias cópias, ou réplicas, do mesmo pod. As réplicas distribuem múltiplos pods entre os nós para fornecer alta disponibilidade. Com várias réplicas dos pods, nosso aplicativo pode continuar a funcionar se um componente em execução em um pod falhar.
Com os recursos de dimensionamento no Kubernetes, você pode adicionar ou remover pods em resposta ao nível de demanda no cluster. As capacidades de auto-recuperação no Kubernetes podem substituir qualquer pod que falhe, e o suporte interno para atualizações incrementais automatiza a implementação de novas versões de uma aplicação sem qualquer tempo de paragem.
Os pods recebem um novo endereço IP durante sua implantação inicial. Este endereço IP é usado para toda a comunicação de rede com o pod. Há muitos cenários em que um pod recebe um novo endereço IP. Quando a demanda de cluster é alta e ocorre escala, novos pods são implantados. Quando você atualiza um aplicativo, novos pods são implantados para substituir os pods antigos. Se um pod falhar, um novo pod o substituirá automaticamente. Todos esses cenários resultam em novos endereços IP do pod.
Se os endereços IP do pod sofrem alterações frequentes, como o Kubernetes sabe para onde enviar o tráfego de rede para chegar ao nosso aplicativo? A resposta é serviços.
Serviços
Um serviço Kubernetes fica na frente de um grupo de pods e fornece um endereço IP estático. Quando o tráfego chega a um serviço, este distribui-o circularmente para um conjunto de pods de backend. O serviço rastreia as alterações nos endereços IP dos pods para garantir que o tráfego de rede seja enviado para os pods corretos.