Pular para o conteúdo principal

Capítulo 3.1 - Introdução aos Pods

Objetivos de Aprendizagem​

Ao final deste capítulo, você será capaz de:

  • Compreender o que é um Pod
  • Explicar por que os Pods existem
  • Distinguir Pods de containers
  • Entender os casos de uso de Pods multi-contêiner

O que é um Pod?​

Um Pod é a menor unidade implantável no Kubernetes. É um grupo de um ou mais containers que compartilham:

  • O mesmo endereço IP
  • O mesmo namespace de rede
  • Os mesmos volumes (armazenamento)
  • O mesmo namespace IPC

Por que Pods?​

Abstração acima dos Containers​

O Kubernetes não gerencia containers diretamente, mas sim Pods:

Vantagens:

  • Gerenciamento de grupos de containers
  • Compartilhamento de recursos
  • Consistência de rede

Pods de Único Container​

A maioria dos Pods contém apenas um container:

apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx
image: nginx:1.20

Pods Multi-Contêiner​

Um Pod pode conter vários containers que trabalham juntos:

Caso de Uso: Sidecar Pattern​

apiVersion: v1
kind: Pod
metadata:
name: app-with-logger
spec:
containers:
- name: app
image: my-app:1.0
- name: logger
image: fluentd:latest

Exemplos de sidecars:

  • Logging (Fluentd, Logstash)
  • Monitoramento (Prometheus exporter)
  • Proxy (Envoy, nginx)
  • Sincronização de arquivos

Comunicação Entre Containers em um Pod​

Os containers em um Pod se comunicam via localhost:

Exemplo:

# Dentro do contêiner 1
curl http://localhost:8080 # Comunica com o contêiner 2

Volumes Compartilhados​

Os containers em um Pod compartilham volumes:

apiVersion: v1
kind: Pod
metadata:
name: shared-volume-pod
spec:
containers:
- name: writer
image: busybox
volumeMounts:
- name: shared-data
mountPath: /data
- name: reader
image: busybox
volumeMounts:
- name: shared-data
mountPath: /data
volumes:
- name: shared-data
emptyDir: {}

Resumo​

Neste capítulo, você aprendeu:

Pod: Menor unidade implantável, grupo de containers
Recursos compartilhados: IP, rede, volumes, IPC
Pods de único container: Caso mais comum
Pods multi-contêiner: Para sidecars e containers colaborativos
Comunicação: Via localhost entre containers de um mesmo Pod


Próximos Passos​

Agora que você entende os Pods:

Capítulo 3.2: Declaração YAML de Pods
Lab 3.1: Criação e Gerenciamento de Pods


Capítulo criado em: Dezembro 2024