Skip to main content
Version: Next

KServe Installation

This guide covers installation of the KServe controller for predictive AI model serving.

Prerequisites

Before installing KServe, ensure dependencies are installed based on your deployment mode:

Deployment Modes

KServe supports two deployment modes:

ModeDescription
KnativeServerless deployment with Knative
StandardRaw Kubernetes deployments using base Kubernetes features

Installation Methods

Method 1: Kustomize

Knative Mode

# Clone KServe repository
git clone https://github.com/kserve/kserve.git
cd kserve

# Install KServe with all components
kubectl apply -k config/overlays/standalone/kserve

For addon installation (when LLMIsvc is already installed):

# Install only KServe component (no base resources, reuses existing namespace)
kubectl apply -k config/overlays/addons/kserve

Standard Mode

# Set deployment mode to Standard
# Edit the inferenceservice ConfigMap
vi config/default/configmap/inferenceservice.yaml

# Change the deploy section to:
# deploy: |
# {
# "defaultDeploymentMode": "Standard"
# }

# Apply
kubectl apply -k config/overlays/standalone/kserve

Install ClusterServingRuntimes

# Install all runtimes
kubectl apply -k config/runtimes

Method 2: Helm

Install CRDs

First, install the KServe CRDs:

# Using OCI registry (recommended)
helm install kserve-crd oci://ghcr.io/kserve/charts/kserve-crd \
--version v0.17.0-rc1 \
--namespace kserve \
--create-namespace

# Or using local charts
helm install kserve-crd ./charts/kserve-crd \
--namespace kserve \
--create-namespace

Install KServe Resources

Knative Mode:

helm install kserve-resources oci://ghcr.io/kserve/charts/kserve-resources \
--version v0.17.0-rc1 \
--namespace kserve \
--set kserve.controller.deploymentMode=Knative

Standard Mode:

helm install kserve-resources oci://ghcr.io/kserve/charts/kserve-resources \
--version v0.17.0-rc1 \
--namespace kserve \
--set kserve.controller.deploymentMode=Standard

Addon Installation (when LLMIsvc is already installed):

helm install kserve-resources oci://ghcr.io/kserve/charts/kserve-resources \
--version v0.17.0-rc1 \
--namespace kserve \
--set kserve.createSharedResources=false

Method 3: Installation Scripts

Quick Install (All-in-One)

Knative Mode:

cd kserve

# Install dependencies + KServe
./hack/setup/quick-install/kserve-knative-mode-full-install-helm.sh

# Or use with-manifest version (no clone needed, includes embedded manifests)
./hack/setup/quick-install/kserve-knative-mode-full-install-helm-with-manifest.sh

Standard Mode:

cd kserve

# Install dependencies + KServe
./hack/setup/quick-install/kserve-standard-mode-full-install-helm.sh

# Or use with-manifest version (no clone needed, includes embedded manifests)
./hack/setup/quick-install/kserve-standard-mode-full-install-helm-with-manifest.sh

Configuration Helm Options

For detailed configuration options including deployment mode, gateway settings, resource limits, and runtime configurations, see the kserve-resources Helm Chart README.

Uninstallation

Helm

# Remove resources
helm uninstall kserve-runtime-configs -n kserve
helm uninstall kserve-resources -n kserve
helm uninstall kserve-crd -n kserve

# Remove namespace
kubectl delete namespace kserve

Kustomize

# Remove KServe
kubectl delete -k config/overlays/standalone/kserve

Scripts

# Uninstall using script
./hack/setup/quick-install/kserve-knative-mode-full-install-helm.sh --uninstall

# Or individual script
UNINSTALL=true ./hack/setup/infra/manage.kserve-helm.sh

Next Steps