Kubernetes uses Namespaces to create virtual clusters. When we created the cluster, we got three Namespaces. In a way, each Namespace is a cluster within the cluster. They provide scope for names.
So far our experience tells us that we cannot have two of the same types of objects with the same name. There cannot be, for example, two deployments named go-demo-2-api. However, that rule applies only within a Namespace.
Inside a cluster, we can have many of same object types with the same name as long as they belong to different Namespaces.