Namespaces

Managing Kubernetes namespaces for Seldon Enterprise Platform

Namespaces are where your models are deployed. You can set up GitOps and access controls on a per-namespace basis.

For an introduction to namespaces in Kubernetes, please refer to the official documentation. The rest of this guide discusses namespaces in the context of Seldon Enterprise Platform.

Namespace Detection

Seldon Enterprise Platform requires namespaces to be labelled for use with ML deployments. Otherwise, it will not detect them and so cannot manage resources within them.

You can create a new namespace and make it visible to Enterprise Platform using the following commands:

NAMESPACE=<name>
kubectl create namespace $NAMESPACE || echo "namespace $NAMESPACE already exists"
kubectl label namespace $NAMESPACE seldon.restricted=false --overwrite=true

This is the minimum needed to use a namespace.

GitOps

Seldon Enterprise Platform supports GitOps with ArgoCD to manage deployments to a namespace through git.

A namespace can be set up for GitOps with Seldon Enterprise Platform by providing suitable metadata. See the GitOps section for a detailed guide on how to achieve this.

Authorization Policies

Seldon Enterprise Platform supports both user-based and group-based authorization policies to control visibility and permissions for namespaces. See the installation and operations guides for more details.

Namespaces that the user has access to appear in a drop-down namespace selector in the top-right:

namespaceselector

From there the user can search for or choose to drill into deployments:

DeploymentsFilter

Multi-Tenancy

In a multi-tenant setup, Enterprise Platform is not automatically provided with permissions to manage multiple namespaces. Instead, each namespace needs further permissions to be defined. Details on this can be found in the multi-tenant section.

Special Namespaces

The seldon-logs namespace is used for infrastructure for inference request logging. It is a special namespace and its setup is covered in the request logging section. This namespace should not be used for ML deployments.