MLOps Central Platform runs training Jobs, serving and image builds on a single Kubernetes cluster. The cluster is shared by all tenants, so this control panel is open only to global administrators (every server route requires a global administrator). If the cluster is not connected, the nodes, namespaces, workloads and storage screens show "Kubernetes not connected (Kubernetes 미연결)" and the reason, and the cluster overview shows zeros and no node pools.

Cluster overview

Shows the number of active nodes, the number of active Pods, the Ready ratio, and a summary per node pool (nodes grouped by the node label pool, or node.kubernetes.io/role when it is absent; unlabeled when both are missing). Skim it once a day.

Cluster overview

Nodes — cordon and drain

The node list shows pool, state, CPU, memory and GPU, Pod count and version. Press a row to see its conditions, taints and the pods on that node in the side panel. Check what will be affected there before you act.

Adding training servers: the first central server and GPU servers 2 and 3 form the group that runs training and serving (the cluster), and more servers can join. Training work is placed on free GPUs. Field PCs and the AI developer's web browser still connect only to the central server

Nodes
ActionWhat it doesUndo
CordonStops new pods from being scheduled on the node. Pods already running stayUncordon (Uncordon)
DrainCordons the node, then deletes every pod on it that is not owned by a DaemonSet (eviction). Any training or serving is stopped immediately and rescheduled on other nodesDeleted pods cannot be brought back; reopen the node with Uncordon (Uncordon)
  1. Press Cordon (Cordon) on the node to be serviced and confirm in the dialog so that no new work comes in. Press the row to see in the side panel how many pods a drain would remove.
  2. Wait for running work to finish. If you cannot wait, press Drain (Drain). It runs only after you type the node name exactly.
    Drain confirmation — requires typing the node name
  3. When maintenance is done, undo it with Uncordon (Uncordon).

Namespaces

Every namespace in the cluster appears as a card; press a card to go to the workloads screen of that namespace. Each tenant has one tenant-{lower-case code} namespace (for example tenant-demo). System namespaces, such as the one for shared images, appear as well.

Namespaces

Workloads

Choose a namespace at the top right and browse by kind tab (Deployment, StatefulSet, DaemonSet, Job, CronJob, Pod).

Workloads
ButtonWhat it does
Restart (Restart)Restarts the rollout (recreates the pods one after another). Available for Deployment, StatefulSet and DaemonSet; asks for confirmation
Scale (Scale)Changes the replica count. Available for Deployment and StatefulSet
Delete (Delete) (Pod tab)Deletes one pod. If it has a controller, a new one comes up

Storage

Shows StorageClass cards, a PersistentVolume table (whole cluster) and a PersistentVolumeClaim table (pick a namespace). It is read-only. PVCs also show actual usage, which reveals volumes that say "Bound 100Gi" but are full and make training fail. Usage is read from the kubelet volume metrics in Prometheus. If Prometheus is unreachable or the volume is not mounted, there are no statistics and the volume shows —, not 0.

Storage

Written for the platform as of 2026-10-02.

© MLOps Central Platform