Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Environment:SeldonIO Seldon core Kubernetes Cluster Environment

From Leeroopedia
Knowledge Sources
Domains Infrastructure, Kubernetes
Last Updated 2026-02-13 14:00 GMT

Overview

Kubernetes cluster environment with Helm, kubectl, and supporting infrastructure (Kafka, cert-manager) required to deploy Seldon Core 2 in production.

Description

This environment defines the Kubernetes cluster prerequisites for running Seldon Core 2. It requires a Kubernetes cluster (1.23+), Helm for chart-based installation, and a Kafka cluster for the data plane. The operator manages custom resources (Model, Pipeline, Experiment, Server) via controller-runtime and communicates with the scheduler over gRPC. All Seldon components run as non-root containers (UID/GID 1000) and can be deployed in either namespace-scoped or cluster-wide mode. The default namespace is seldon-mesh.

Usage

Use this environment for any production or staging deployment of Seldon Core 2. It is the mandatory prerequisite for running the operator, scheduler, envoy proxy, model gateway, pipeline gateway, dataflow engine, and hodometer components on Kubernetes.

System Requirements

Category Requirement Notes
OS Linux (x86-64-v2+) grep sse4_2`
Kubernetes v1.23+ API v0.33.2 compatible via k8s.io packages
CPU x86-64-v2 or higher Virtual machines must support SSE4.2
Memory 4Gi minimum 8Gi+ recommended for production workloads
Disk 1Gi SSD (scheduler PVC) Additional storage for model artifacts

Dependencies

System Packages

  • `kubectl` (1.23+ recommended)
  • `helm` (v3+)
  • `docker` or compatible container runtime
  • `kind` (optional, for local dev clusters)

Kubernetes Components

  • Kafka cluster (Bitnami Kafka 3.8.1 or managed Kafka: AWS MSK, Confluent Cloud, Azure Event Hub)
  • cert-manager (optional, for automated TLS certificate management)
  • Istio / Ambassador / Traefik (optional, for ingress and service mesh)
  • Prometheus (optional, for metrics collection)
  • Jaeger (optional, for distributed tracing)

Helm Charts

  • `seldon-core-v2-setup` (CRDs, operator, scheduler, envoy, gateways)
  • `seldon-core-v2-runtime` (SeldonRuntime per namespace)

Seldon CRDs

  • `servers.mlops.seldon.io`
  • `serverconfigs.mlops.seldon.io`
  • `models.mlops.seldon.io`
  • `pipelines.mlops.seldon.io`
  • `experiments.mlops.seldon.io`

Credentials

The following environment variables or Kubernetes Secrets may be required:

  • `KAFKA_SECURITY_PROTOCOL`: Kafka security mode (PLAINTEXT / SSL / SASL_SSL)
  • `KAFKA_CLIENT_TLS_SECRET_NAME`: K8s secret for Kafka client certificates (SSL mode)
  • `KAFKA_CLIENT_SASL_USERNAME`: SASL username for managed Kafka (default: "seldon")
  • `KAFKA_CLIENT_SASL_SECRET_NAME`: K8s secret containing SASL password
  • `CONTROL_PLANE_SECURITY_PROTOCOL`: Control plane TLS mode (PLAINTEXT / SSL)
  • `CONTROL_PLANE_SERVER_TLS_SECRET_NAME`: K8s secret for scheduler gRPC TLS
  • `ENVOY_SECURITY_PROTOCOL`: Data plane TLS mode (PLAINTEXT / SSL)
  • `ENVOY_DOWNSTREAM_SERVER_TLS_SECRET_NAME`: K8s secret for envoy downstream TLS
  • `POD_NAMESPACE`: Kubernetes namespace for resource scoping

Quick Install

# Add Seldon Helm repository
helm repo add seldon https://seldonio.github.io/helm-charts/
helm repo update

# Install Seldon Core 2 (with Kafka already deployed)
helm install seldon-core-v2-setup seldon/seldon-core-v2-setup \
  --namespace seldon-mesh --create-namespace

# Install runtime in target namespace
helm install seldon-core-v2-runtime seldon/seldon-core-v2-runtime \
  --namespace seldon-mesh

Code Evidence

Default Helm values from `k8s/helm-charts/seldon-core-v2-setup/values.yaml`:

kafka:
  bootstrap: seldon-kafka-bootstrap.seldon-mesh:9092
  topicPrefix: seldon
  consumer:
    sessionTimeoutMs: 6000
    autoOffsetReset: earliest
    messageMaxBytes: 1000000000
  producer:
    lingerMs: 0
    messageMaxBytes: 1000000000
  topics:
    replicationFactor: 1
    numPartitions: 1

Pod security context from Helm values:

security:
  controlplane:
    protocol: PLAINTEXT
  kafka:
    protocol: PLAINTEXT

securityContext:
  fsGroup: 1000
  runAsUser: 1000
  runAsGroup: 1000
  runAsNonRoot: true

Default resource allocations from `k8s/helm-charts/seldon-core-v2-setup/values.yaml`:

scheduler:
  replicas: 1
  resources:
    cpu: 100m
    memory: 1Gi
    storage: 1Gi
envoy:
  replicas: 1
  resources:
    cpu: 100m
    memory: 128Mi

Common Errors

Error Message Cause Solution
CRD not found for `models.mlops.seldon.io` Helm CRDs not installed Run `helm install seldon-core-v2-setup` first
Kafka broker not reachable Kafka not deployed or wrong bootstrap address Verify Kafka is running: `kubectl get pods -n seldon-mesh`; check `kafka.bootstrap` in Helm values
Model stuck in `ScheduleFailed` No server with matching capabilities or memory Check `seldon model status <name>` and verify server capabilities and memory limits
SSE4.2 instruction set missing Running on incompatible CPU grep sse4_2`

Compatibility Notes

  • Managed Kafka: Supports AWS MSK (mTLS/SASL), Confluent Cloud (SASL/OAuth), Azure Event Hub (SASL), and Strimzi (mTLS/SASL).
  • Service Meshes: Compatible with Istio, Ambassador (Emissary), and Traefik for ingress routing.
  • Cluster-wide mode: Available for multi-namespace deployments with Kafka topic prefix isolation.
  • StatefulSets vs Deployments: Default uses StatefulSets for inference servers; set `useDeploymentsForServers: true` to use Deployments instead.

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment