O que é Pod?
No Kubernetes, um Pod é a menor e mais simples unidade que pode ser criada, implantada e gerenciada dentro de um cluster. Ele representa uma camada lógica que agrupa um ou mais containers que precisam funcionar juntos, compartilhando:
-
o mesmo namespace de rede (IP, portas, localhost);
-
volumes e armazenamento compartilhado, se configurados;
-
ciclo de vida em comum, ou seja, eles iniciam, reiniciam e encerram juntos.
Por que o Kubernetes usa Pods?
O Kubernetes não trabalha diretamente com containers individuais. Em vez disso, ele utiliza Pods como uma abstração para:
-
gerenciar múltiplos containers que dependem um do outro (por exemplo, um app + um sidecar de logs);
-
facilitar o escalonamento, permitindo aumentar ou diminuir réplicas de Pods;
-
isolar componentes da aplicação de maneira organizada e padronizada.
Componentes importantes de um Pod
-
Containers: aplicações que serão executadas.
-
IP próprio: cada Pod recebe um IP único dentro do cluster.
-
Volumes: áreas de armazenamento que podem ser compartilhadas entre containers.
-
Spec: definição declarativa de como o Pod deve funcionar.
Características
-
Pods são efêmeros não são feitos para durar.
(Se um Pod morre, o Kubernetes cria outro no lugar.) -
Pods geralmente executam apenas um container principal, seguindo boas práticas.
-
Pods são gerenciados normalmente por Deployments, DaemonSets, StatefulSets etc.
Exemplo simples
- Se você roda um container de backend no Kubernetes, ele roda dentro de um Pod.
- Se você precisa de um segundo container auxiliar (como um sidecar), ele também fica dentro do mesmo Pod.
Resumo
Um Pod é a forma como o Kubernetes executa e organiza containers, oferecendo recursos essenciais como rede, ciclo de vida e armazenamento compartilhado. Ele é a base para todas as aplicações que rodam em um cluster Kubernetes.