Oi wellington, tudo bem?
O deployment funciona um nível acima do objeto ReplicaSet. Com o deployment você consegue fazer upgrade ou rollback sem interrupção. Você pode atualizar a imagem de v1 para v2. Com ReplicaSet, você define o número de réplicas que deseja executar, os ReplicaSets são responsáveis por garantir que um número especifico de cópias de um determinado pod estejam em execução. Como os deployments estão em uma etapa acima na hierarquia de abstração, os Deployments controlam os ReplicaSets e pods de maneira declarativa. Isso significa que você define o que deseja que sua coleção de pods seja, e a implantação usa vários outros objetos Kubernetes para garantir que as coisas estejam como você declarou em seu arquivo YAML.