Namespaces

111

In Kubernetes, namespaces provides a mechanism for isolating groups of resources within a single cluster. A Kubernetes namespace provides the scope for Pods, Services, and Deployments in the cluster. Users interacting with one namespace do not see the content in another namespace.

Namespaces are intended for use in environments with many users spread across multiple teams, or projects. Kubernetes namespaces help different projects, teams, or customers to share a Kubernetes cluster.

Stuff you wanna know:

  1. Names of resources need to be unique within a namespace, but not across namespaces.
  2. Namespace-based scoping is applicable only for namespaced objects (e.g. Deployments, Services, etc) and not for cluster-wide objects (e.g. StorageClass, Nodes, PersistentVolumes, etc).
  3. Namespaces cannot be nested inside one another.
  4. Each Kubernetes resource can only be in one namespace.
  5. Most Kubernetes resources (e.g. pods, services, replication controllers, and others) are in some namespaces.
  6. Namespace resources are not themselves in a namespace.
  7. Low-level resources, such as nodes and persistentVolumes, are not in any namespace.
  8. By default, a Kubernetes cluster will instantiate a default namespace when provisioning the cluster to hold the default set of Pods, Services, and Deployments used by the cluster.

More stuff: