Login into your Org and navigate to the "desktop" project
Select Infrastructure -> Namespaces
Click on "New Namespace"
Enter "kubeless" for Name
Select "Wizard" for Type and Save
Note
In addition to the Namespace wizard, users can also provide the k8s YAML spec for the namespace either by uploading it or point the controller to a Git repo where it can retrieve it.
You will be presented with an intuitive wizard that you can use to configure your namespace's requirements. In our case, we want to add labels to our namespace.
Click on Labels -> Key-Value
Provide k8s compliant text for the key and value
Save
In the example below, we have entered "key=addon" and "value=kubeless"
Click on Publish. In a few seconds, the configured namespace will be deployed on the target clusters. Note that the target clusters can be in completely separate security domains and the controller can still manage namespace lifecyle remotely.
Optionally, you can verify what the published namespace looks like on your cluster.
Navigate to Infrastructure -> Clusters
Click on Kubectl
In the example below, you can see that the "kubeless" namespace was created on the cluster a few seconds back when we published it.
kubectl get nsNAME STATUS AGEdefault Active 40hkube-node-lease Active 40hkube-public Active 40hkube-system Active 40hkubeless Active 34srafay-infra Active 13hrafay-system Active 16h
You can also look deeper into the namespace by describing it. Notice that the the "custom label" we specified is part of the namespace.
Congratulations! At this point, you have successfully configured and published a namespace to your Kubernetes cluster. You also verified the namespace's specification directly on the cluster using Kubectl.