Kubernetes supports multiple virtual clusters backed by the same physical cluster. These virtual clusters are called namespaces.
- Namespaces are intended for situations with many users.
- Names of resources have to be unique within a namespace, but not across namespaces.
- Namespaces cannot be nested inside one another.
- Namespaces are a good approach to logically separate cluster resources between multiple users via resource quotas.
Just In Time (JIT) Creation¶
Creating a namespace via the controller does not immediately create the namespace on all managed clusters in the fleet.
Instead, the controller will automatically create the "namespaces" on specific clusters when the workload is deployed to them. The namespace on the cluster is also automatically removed once the last pod is removed from the namespace.
This level of automation ensures that there are no dangling namespace resources across the managed fleet of clusters.
- Navigate to the Web Console
- Select "namespaces" and click on "New Namespace"
By default, every namespace is created without any resource quotas.
You cannot create duplicate namespaces on the same cluster. Also, you cannot create namespaces with names that are reserved. Specifically "rafay", "rafay-system" and "rafay-infra".
Users can also remove unwanted namespaces by deleting them
- Click on "Actions" on the far right of the selected namespace and select "Remove"
- Follow the prompts to delete the namespace