~/questoes/devops
Ao migrar do Docker Compose para Kubernetes, é importante entender que um serviço definido no docker-compose.yml não corresponde diretamente a um único recurso Kubernetes. O Deployment é o equivalente mais próximo, pois gerencia replicação, atualizações e o ciclo de vida dos contêineres, assim como um serviço Docker Compose controla como sua aplicação é executada.
O Deployment é a resposta correta porque oferece controle granular sobre replicação de Pods, estratégias de atualização e gerenciamento do ciclo de vida dos contêineres. Essas funcionalidades espelham o que um serviço faz no Docker Compose: definir como a aplicação será executada, quantas instâncias haverá e como atualizações serão aplicadas.
Service em Kubernetes é responsável por balanceamento de carga e descoberta de serviços entre Pods já existentes, mas não gerencia replicação ou ciclo de vida. É um complemento ao Deployment, não seu equivalente.
Deployment é o recurso Kubernetes que realmente corresponde a um serviço Docker Compose. Ele define quantas replicas da aplicação devem rodar, como as atualizações acontecem e garante que a aplicação mantenha o estado desejado.
ConfigMap armazena dados de configuração e variáveis de ambiente, mas não tem nenhuma relação com a definição de como a aplicação é executada ou replicada. É um recurso complementar de gerenciamento de configuração.
Pod é a menor unidade executável em Kubernetes, mas é uma abstração de baixo nível. Você não trabalha diretamente com Pods em produção; o Deployment gerencia os Pods por você, assim como Docker Compose gerencia contêineres.