cd ..
KUBERNETES

Entendendo Pods no Kubernetes de verdade

Todo mundo que começa em Kubernetes ouve que “o Pod é a menor unidade de deploy”. Mas o que isso significa na prática?

O que é um Pod, de fato

Um Pod é um grupo de um ou mais containers que compartilham:

Ou seja: dois containers no mesmo Pod conversam via localhost. Isso é possível porque o kubelet cria um container de pausa (pause) que segura os namespaces, e os demais containers entram nesses namespaces.

Criando um Pod na prática

apiVersion: v1
kind: Pod
metadata:
  name: nginx-demo
  labels:
    app: web
spec:
  containers:
    - name: nginx
      image: nginx:1.27
      ports:
        - containerPort: 80

Aplicando e inspecionando:

kubectl apply -f pod.yaml
kubectl get pods -o wide
kubectl describe pod nginx-demo

Por que você quase nunca cria Pods diretamente

Pods são efêmeros. Se o node morre, o Pod morre junto e ninguém o recria. Por isso, no dia a dia usamos controladores como Deployment e StatefulSet, que garantem o estado desejado.

Para o CKA: saiba criar Pods imperativamente com kubectl run nginx --image=nginx --dry-run=client -o yaml — economiza muito tempo de prova.

Resumo

ConceitoO que compartilha
Podrede, volumes, ciclo de vida
Containerfilesystem próprio, processo próprio