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 Repository First

If you haven't cloned the KServe repository yet, see Cloning the Repository.

# 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 \
--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 \
--namespace kserve \
--set kserve.controller.deploymentMode=Knative \
--wait

Standard Mode:

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

Addon Installation (when LLMIsvc is already installed):

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

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)
curl -fsSL https://github.com/kserve/kserve/releases/download/v0.17.0/kserve-knative-mode-full-install-with-manifests.sh
| bash

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)
curl -fsSL https://github.com/kserve/kserve/releases/download/v0.17.0/kserve-standard-mode-full-install-with-manifests.sh
| bash

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 everything(dependencies + KServe) using helm quick install script from repo
./hack/setup/quick-install/kserve-knative-mode-full-install-helm.sh --uninstall

# Uninstall everything(dependencies + KServe) using kustomize quick install script
curl -fsSL https://github.com/kserve/kserve/releases/download/v0.17.0/kserve-knative-mode-full-install-with-manifests.sh
| bash -s -- --uninstall

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

Next Steps