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

Follow
Table of Contents

Question

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?

Pre-requisites

  • A cluster managed via Rancher v2.x

Answer

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

Comments

0 comments

Please sign in to leave a comment.