Why are namespaces created via the kubectl CLI not assigned to a project?

Table of Contents


When a user creates a Kubernetes namespace via the Rancher UI, API or CLI the namespace is created within a specified Rancher project in the cluster; however, when a user creates a namespace via the kubectl CLI (kubectl create ns <namespace>) it is created outside of any project, why is this?


  • A cluster managed via Rancher v2.x


It is expected behaviour that namespaces created via the kubectl CLI are created outside of a Project. Projects are Rancher abstractions and do not exist natively within the Kubernetes, as a result when you create a namespace via the kubectl CLI (or by otherwise POST'ing directly to the kube-apiserver) it is not associated with any project in Rancher.

If you wish to create namespaces within a Rancher Project with a command-line tool, then you should use the Rancher CLI (https://rancher.com/docs/rancher/v2.x/en/cli/).

Where a namespace has been created outside a project via kubectl, a cluster admin can move the namespace into a project, within the 'Projects/Namespaces' view for the cluster.

Was this article helpful?
1 out of 1 found this helpful



Please sign in to leave a comment.