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:Kserve Kserve Kubernetes Cluster

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

Overview

Kubernetes 1.24+ cluster required as the base platform for deploying KServe InferenceServices and all dependent components.

Description

KServe runs as a set of Kubernetes controllers and webhooks that extend the Kubernetes API with custom resources (InferenceService, InferenceGraph, TrainedModel, LLMInferenceService). The cluster must meet minimum version requirements and have sufficient RBAC permissions for the KServe service accounts to manage pods, services, deployments, and custom resources across namespaces.

Usage

Use this environment as the base platform for all KServe workflows. Every InferenceService, InferenceGraph, and LLMInferenceService deployment requires a running Kubernetes cluster that meets the minimum version and RBAC requirements.

System Requirements

Category Requirement Notes
OS Linux Kubernetes nodes must run Linux
Kubernetes >= 1.24 Enforced by install scripts
kubectl Compatible with cluster version Required for CLI operations
Helm v3.16.3+ Used for installing Istio, cert-manager, Knative
Kustomize v5.5.0+ Used for KServe manifest generation

Dependencies

System Packages

  • `kubectl` (compatible with cluster version)
  • `helm` >= v3.16.3
  • `kustomize` >= v5.5.0

Go Runtime

  • `go` >= 1.25.4 (for building from source)

Credentials

The following credentials may be required depending on deployment:

  • `KUBECONFIG`: Path to Kubernetes cluster configuration
  • Cloud provider credentials for managed Kubernetes (GKE, EKS, AKS)

Quick Install

# Serverless mode (with Istio + Knative)
./hack/quick_install.sh -s

# Raw deployment mode (without service mesh)
./hack/quick_install.sh -r

Code Evidence

Version validation from `hack/quick_install.sh:88-95`:

get_kube_version() {
   kubectl version --short=true 2>/dev/null || kubectl version | awk -F '.' '/Server Version/ {print $2}'
}

if [ "$(get_kube_version)" -lt 24 ]; then
   echo "install requires at least Kubernetes 1.24"
   exit 1
fi

Namespace configuration from `pkg/constants/constants.go:41`:

KServeNamespace = GetEnvOrDefault("POD_NAMESPACE", "kserve")

Common Errors

Error Message Cause Solution
`install requires at least Kubernetes 1.24` Cluster version too old Upgrade Kubernetes to 1.24 or higher
`metadata.annotations: Too long: must have at most 262144 bytes` CRD annotations exceed limit Use `kubectl apply --server-side=true -k ./config/default`
`kserve/kserve is out of date. Please run make generate` Generated code is stale Run `make generate && make manifests` in order

Compatibility Notes

  • GKE: GPU nodes are tainted with `nvidia.com/gpu:NoSchedule` by default
  • AKS: No default GPU node taints
  • OpenShift: Tested on v4.17; requires OpenShift Serverless and Service Mesh operators
  • KIND: Supported for local development with v0.30.0+

Related Pages

Page Connections

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