- always use namespaces even though official document say not to for smaller projects
 - 4 default namespaces
- kube-system
 - kube-public
 - kube-node-lease
 - default
 
 
Create Namespace
kubectl creante namespace <name>kubectl get namespaceyou can specify the namespaces in the metadata

Why use namespaces?

Difficult to have an overview without them
Multiple Teams Same Object Name
- this will override other teams deployment without namespaces
 
Both Staging and Development environments in the same cluster
- why do like this? - cuz it will allow them to share common resources(ex:nginx controller, elastic stack) without deploying them twice in two different clusters
 >
>
Resource Sharing: Blue Green Deployment
- both versions need same resources. so as said before we can share them within the same cluster without deploying in 2 different clusters
 >
>
Create Access and Resource limits
- teams can only access their namespace
 - they can’t interfere with other team’s namespace
 - you can limit the resources for each team
 
Characteristics of Namespace
You can’t access most resources from another Namespace
- example would be 
configMaps andsecrets. you have to defineconfigMapsandsecretsfor each namespace. 

- but you can access 
servicesin other namespaces 



 > 
 > 
 > 
 > 


