Junior
Pode um único pod conter vários contenedores?
sobes.tech IA
Resposta da IA
Sim, pode. É uma prática comum no Kubernetes.
Vários contêineres num pod geralmente partilham recursos (espaço de armazenamento, pilha de rede) e são frequentemente utilizados para tarefas auxiliares ao lado do contêiner principal da aplicação (padrão Sidecar).
Exemplos de uso:
- Contêineres Sidecar: Monitoramento, registo, proxy de malha de serviços (por exemplo, Envoy).
- Contêineres Embaixador: Proxy para acesso a serviços externos.
- Contêineres Adaptador: Normalização da saída de processos auxiliares.
Os contêineres num pod são sempre agendados no mesmo nó e usam o mesmo namespace para IPC (inter-processos), permitindo que interajam entre si.
Exemplo de manifesto de um pod com dois contêineres (aplicação principal nginx e contêiner sidecar para registo):
// apiVersion - versão da API do Kubernetes
apiVersion: v1
// kind - tipo de objeto (neste caso, Pod)
kind: Pod
// metadata - metadados do pod (nome, etiquetas, etc.)
metadata:
name: multi-container-pod
spec:
// containers - lista de contêineres dentro do pod
containers:
// Primeiro contêiner - aplicação principal (nginx)
- name: main-app
image: nginx:latest
ports:
// expor porta 80
- containerPort: 80
// Segundo contêiner - sidecar para registo (exemplo fictício)
- name: log-sidecar
image: busybox:latest
args:
// ciclo infinito para simular registo
- /bin/sh
- -c
- while true; do echo "Logging from sidecar..."; sleep 5; done