
Para seguir este artigo você pode obter os arquivos em - https://github.com/ProgrammingOnMars/kubernetes-for-dev
Agora vamos ver como funcionam as menores unidades implantáveis do Kubernetes chamadas Pod.
Pods são as menores unidades implantáveis de computação que você pode criar e gerenciar no Kubernetes - Recuperado em 13 de agosto de 2024 de https://kubernetes.io/docs/concepts/workloads/pods/
Lembre-se que um Pod não é um container, ele envolve um container.
Também, um Pod pode ter mais de um container mas o caso de uso mais comum é "um-container-por-Pod". Assim, o Kubernetes gerencia o pod ao invés dos containers diretamente.
Uma coisa importante para enfatizar é que pod não é um container ou um processo. É um ambiente para executar cargas de trabalho de containers.
Um Pod não é um processo, mas um ambiente para executar container(s). Um Pod persiste até ser deletado. Recuperado em 13 de agosto de 2024 de https://kubernetes.io/docs/concepts/workloads/pods/

Podemos ver na imagem acima, o Pod dentro de um Worker Node e o container dentro de um Pod
De agora em diante, recomendo que você siga e coloque em prática os mesmos exemplos que eu.
Vamos criar um arquivo yml para representar um pod.
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
app: programmingonmars
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
kubectl apply -f simple-pod.yml
O que acontecerá após aplicar esta configuração no meu cluster k8s?
Então, basicamente o kubectl solicitará ao kube-api para agendar a criação do Pod.

Por enquanto, só precisamos saber que o pod foi criado, seu status está running, e temos 1 em execução.
Execute o comando:
kubectl get pods -o wide
para ver os pods com mais detalhes.

Imagine que você tem uma falha na sua aplicação e precisa manter confiabilidade e disponibilidade, vamos ver se usando um pod você consegue manter isso.
kubectl delete pod nginx
A verdade é que se você quer usar um cluster Kubernetes, provavelmente quer gerenciar muitas aplicações de carga de trabalho, talvez usar uma arquitetura de microserviços ou aumentar o número de réplicas do módulo específico (microserviço) do seu sistema.
Como você pode ver, o Pod foi deletado, e é isso, precisamos melhorar esta implementação e usar outro tipo de objeto para manter a escalabilidade, disponibilidade e confiabilidade de uma boa aplicação.
Como poderíamos melhorar este cenário?
Vamos compreender o ReplicaSet
