Sobes.tech
Junior

O que deve estar dentro de um Pod no Kubernetes?

sobes.tech IA

Resposta da IA

No Pod do Kubernetes deve estar presente:

  • Um ou mais contêineres relacionados que funcionam como uma única unidade e compartilham recursos.
  • Armazenamentos de dados compartilhados (Volumes) para os contêineres no Pod.
  • Uma pilha de rede compartilhada para todos os contêineres (de acordo com a especificação IP).
  • A especificação do Pod (objeto PodSpec), descrevendo como os contêineres devem funcionar, incluindo:
    • Imagens dos contêineres.
    • Recursos necessários (CPU, memória).
    • Portas abertas.
    • Variáveis de ambiente.
    • Testes de saúde (sondas de vivacidade e prontidão).
    • Políticas de reinício.

Uso típico:

  • Um contêiner principal da aplicação.
  • Um ou vários contêineres "sidecar" que realizam tarefas auxiliares (registro, monitoramento, adaptadores).

Exemplo de especificação de Pod (parcial):

# Exemplo de especificação parcial de um Pod
apiVersion: v1
kind: Pod
metadata:
  name: my-app-pod
spec:
  containers:
  - name: main-app
    image: my-docker-repo/my-app:latest
    ports:
    - containerPort: 80
    resources:
      limits:
        cpu: "500m"
        memory: "512Mi"
  - name: log-collector
    image: my-docker-repo/log-collector:latest
    volumeMounts:
    - name: app-logs
      mountPath: /var/log/app
  volumes:
  - name: app-logs
    emptyDir: {}

Princípios básicos:

  • O Pod é a menor unidade implantável no Kubernetes.
  • Os contêineres em um mesmo Pod compartilham o espaço de nomes do núcleo (PID, UTS, IPC).
  • A escalabilidade ocorre ao nível do Pod.
  • O Pod destina-se a hospedar processos estreitamente relacionados.