Principle:SeldonIO Seldon core Kubernetes Operator Orchestration
| Knowledge Sources | |
|---|---|
| Domains | Kubernetes_Operator, Control_Plane, CRD_Management |
| Last Updated | 2026-02-13 14:00 GMT |
Overview
An operator pattern that manages the lifecycle of custom Kubernetes resources by reconciling desired state with actual state through dedicated controllers.
Description
Kubernetes Operator Orchestration implements the operator pattern, where a single manager process hosts multiple reconcile loops (controllers), each watching a specific Custom Resource Definition (CRD). When a CRD object is created, updated, or deleted, the corresponding reconciler compares the desired state declared in the resource spec with the current state in the cluster, and takes corrective actions via a scheduler gRPC client. The manager provides shared infrastructure including leader election, health probes, metrics, and webhook serving.
In Seldon Core 2, the operator manages seven CRD types: Model, Server, Pipeline, Experiment, SeldonRuntime, SeldonConfig, and ServerConfig. The operator can operate in namespace-scoped or cluster-wide mode, and supports watching a configurable subset of namespaces.
Usage
Use this principle when designing a Kubernetes-native control plane that must manage the lifecycle of multiple custom resource types through declarative reconciliation loops.
Theoretical Basis
The reconciliation follows the standard Kubernetes controller pattern:
Pseudo-code Logic:
# Abstract algorithm description
for each CRD_type in [Model, Server, Pipeline, Experiment, ...]:
controller = Reconciler(CRD_type, scheduler_client)
manager.register(controller)
manager.start() # blocks, running all controllers concurrently
# Each controller loop:
def reconcile(resource):
desired_state = resource.spec
actual_state = scheduler.get_status(resource.name)
if desired_state != actual_state:
scheduler.sync(desired_state)