Creating a namespace

Applications must be created or deployed under a namespace in an IBM® Cloud Private cluster. Namespaces are required to organize users and their applications.

Required user type or access level: Cluster administrator or team administrator

  1. Log on as a cluster administrator.
  2. From the navigation menu, click Manage > Namespaces.
  3. Click Create Namespace.
  4. Enter a name for your namespace. The namespace name must meet the Kubernetes requirements for namespaces, including:
    • Be unique. You cannot use a duplicate namespace name.
    • Not exceed 63 characters in length.
    • Contain only lowercase letters, numbers, and the dash symbol (-).
  5. Select the pod security policy to be associated to your namespace. The pod security policy provides security aspects for pods that are created by applications that are installed on the namespace. The default applied pod security policy field displays the policy name that is applied across the cluster for all of the namespaces that are created.

    Attention: Multiple pod security policies can be associated with a namespace or ServiceAccount. Pods can resolve to any of the defined polices that are compatible, which might result in a less-restrictive policy. See Policy Order Opens in a new tab.

  6. Click Create.

After the deployment completes, a new namespace is displayed on the namespaces page.

Note: Be sure to scroll the All namespaces menu to view all of your namespaces.

Adding a label

You can use labels to create network policies that are based on a namespace selector. You cannot add labels for a namespace from the IBM Cloud Private management console. To add namespace labels, use the Kubernetes CLI.

  1. Install the kubectl command line interface. See Accessing your cluster from the kubectl CLI.

  2. View a list of all namespaces.

    kubectl get namespaces
    

    The output resembles the following code:

    NAME          STATUS    AGE
    default       Active    6h
    dev           Active    2h
    kube-system   Active    6h
    qa            Active    2h
    
  3. Add label.

    kubectl label namespaces dev team=dev