Aula 8: Service — rede estável para Pods
Até agora aprendemos que o Kubernetes mantém várias cópias (Pods) da sua aplicação vivas e as recria quando elas falham. Mas existe um problema silencioso: cada Pod tem seu próprio endereço de rede (IP), e esse endereço é efêmero — ele muda sempre que um Pod morre, é recriado ou se move para outro n
Um Service é como o número de telefone da recepção de um escritório. Os funcionários mudam o tempo todo, mas quem liga sempre disca para o mesmo número — e a chamada chega a quem estiver disponível.
- Service
- Um objeto do Kubernetes que dá a um grupo de Pods um nome e um endereço de rede estáveis, e faz o balanceamento de carga das requisições entre eles. O endereço permanece fixo mesmo quando os Pods mudam.
- ClusterIP
- O tipo padrão de Service: um endereço virtual interno acessível apenas de dentro do cluster, de modo que componentes internos conseguem alcançá-lo, mas o mundo externo não.
- Selector e Labels
- Um label é um par chave-valor anexado a um Pod (por exemplo, app: web). O selector de um Service define quais labels procurar, para que o Service saiba para quais Pods enviar tráfego.
- IP Efêmero do Pod
- Cada Pod recebe seu próprio IP, mas esse IP não é estável: ele muda quando o Pod é recriado ou movido para outro node. Por isso você não deve depender dele diretamente.
- Balanceamento de Carga
- Distribuir as requisições recebidas entre vários Pods idênticos, para que nenhuma cópia fique sobrecarregada sozinha e o serviço continue disponível.
- targetPort
- A port em que a aplicação dentro do Pod efetivamente escuta. O Service recebe tráfego na sua port e a encaminha para o targetPort do Pod.