In the previous chapter, we already used a namespace (named dev) to logically group components of our application into a virtual cluster within an existing physical Kubernetes cluster. The general principle of namespaces is providing resource quotas and a scope for object names—names inside a given namespace must be unique, but they do not have to be unique across different namespaces. By default, Kubernetes provides the following namespaces out of the box:
- kube-system: A namespace for objects created by the Kubernetes system, such as kube-apiserver or kube-proxy Pods.
- kube-public: A namespace that can be read by all users, also not authenticated—it will be created in clusters that are bootstrapped by kubeadm and it is generally intended for system use.
- default: A namespace for objects with no other namespace.
Depending...