Namespace is a logical separation of resources within the cluster so that if multiple teams are using the same cluster.
In this image there are 3 namespaces shown:
1) Default: This is a default namespace and all those resources which are deployed without any namespace will be deployed here.
2) There are two other namespace viz: dev and qa created here
Image is an atomic deployment which provide isolated environment to run your containers.
You can run multiple containers within pod. In the current image there are 2 containers deployed within the same pod.
Cluster manages the lifecycle of pods.
A ReplicaSet is a resource that ensures there is always a stable set of running pods for a specific workload.
If due to some issues, few pods goes down it will help bring them back so that at any point of time desired state is met