Namespaces
This page describes how to configure namespaces in the context of Kubernetes .
A namespace is a way to divide cluster resources between multiple users (via resource quota) or between multiple projects (via resource isolation).
Kannika Armory identifies two namespaces:
- The resource namespace - The namespace where Kannika Armory resources live
- The system namespace - The namespace where the platform is installed
It is possible to use the same namespace for the platform and the resources. However, it is advised to create a separate namespace for the resources for better isolation and management.
To set a separate namespace for the resources,
use the global.kubernetes.namespace
value in the Helm installation:
$ helm install kannika oci://quay.io/kannika/charts/kannika \ --create-namespace \ --namespace kannika-system \ --version 0.12.0 \ --set global.kubernetes.namespace=kannika-data
In this example:
- The system namespace is
kannika-system
- The resource namespace is
kannika-data
Resource namespace
The “resource namespace” is where the Kannika Armory resources managed by the platform live.
Kannika Armory resources will generate and look up other resources in the same namespace. For example, when running a Backup, a StatefulSet will be created in the same namespace as the Backup.
The platform can be configured to watch and create resources in a certain namespace. By default, Armory will use the same namespace as the Helm’s release namespace.
This namespace must already exist in the Kubernetes cluster.
# Create the namespace where the resources will live$ kubectl create namespace kannika-data
To configure the namespace,
set the global.kubernetes.namespace
value in the Helm installation:
global: kubernetes: namespace: "kannika-data"
In this example,
the platform will watch and create resources in the kannika-data
namespace.
System namespace
The “system namespace” is where the platform is installed (e.g. kannika-system
).
This is set by the --namespace
flag when installing the platform using Helm.
$ helm install kannika oci://quay.io/kannika/charts/kannika \ --create-namespace \ --namespace kannika-system \ --version 0.12.0
In this example,
the platform will be installed in the kannika-system
namespace.
Multiple namespaces
Multiple namespaces are not fully supported yet at the moment. Please check the Roadmap for more information.