Kubernetes - Namespaces
Foreword
When the objects of cluster and people using Kubernetes cluster are increasing, we can use the Namespaces to manage our project.
Namespaces
Definition
Kubernetes supports multiple virtual clusters backed by the same physical cluster. These virtual clusters are called namespaces. Namespaces are a way to divide cluster resources between multiple user.
Features
- In the same kubernetes cluster all of namespaces are unique.
- When we delete the namespaces, the object of namespace will be deleted in the same time.
- We can use the Resource Quotas to limit the resource of the object in that Namespace.
Practice
We can use kubectl get namespaces
to see the all namespaces on the kubernetes cluster.
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
- default
When you create the object, you don’t set the namespace the namespaces of object will be default.
- kube-system
The namespace for objects created by the Kubernetes system.
- kube-public
This namespace is created automatically and is readable by all users.
We can use kubectl create namespace <namespace_name>
to create a new namespace.
We also can use kubectl delete namespaces <namespace_name>
to delete namespaces.
Recourse Quotas
Use the follow yaml file to create a Namespace and Resource Quotas.
In this yaml we create a “hellospace” namespace.
- compute-quotas
Limit the resource of cpu and memory.
- object-quotas
Limit the namespace can only has two services, and one loadbalancer, secret, and configmap.
Reference
https://ithelp.ithome.com.tw/articles/10197186
https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
https://kubernetes.io/docs/concepts/policy/resource-quotas/