Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Kserve Kserve LLMInferenceService Minimal CRD

From Leeroopedia
Revision as of 13:09, 16 February 2026 by Admin (talk | contribs) (Auto-imported from implementations/Kserve_Kserve_LLMInferenceService_Minimal_CRD.md)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Knowledge Sources
Domains Kubernetes, LLM Inference, CRD
Last Updated 2026-02-13 00:00 GMT

Overview

This file defines the minimal CustomResourceDefinition (CRD) for the LLMInferenceService custom resource (shortName: llmisvc) in the serving.kserve.io API group.

Description

Auto-generated by controller-gen (v0.19.0), this CRD provides a smaller-footprint alternative to the full LLMInferenceService CRD. The v1alpha1 version uses x-kubernetes-preserve-unknown-fields for both spec and status, while the v1alpha2 version includes partial schema definitions for model, parallelism, router, and template fields. The CRD includes printer columns for URL, Ready, Reason, and Age, making kubectl get llmisvc output informative.

Usage

Use this minimal CRD for development or constrained environments where CRD size is a concern. Apply it to the cluster before creating any LLMInferenceService objects. The short name llmisvc allows convenient access via kubectl get llmisvc.

Code Reference

Source Location

Signature

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.19.0
  name: llminferenceservices.serving.kserve.io
spec:
  group: serving.kserve.io
  names:
    kind: LLMInferenceService
    listKind: LLMInferenceServiceList
    plural: llminferenceservices
    shortNames:
    - llmisvc
    singular: llminferenceservice
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.url
      name: URL
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].status
      name: Ready
      type: string
    - jsonPath: .status.conditions[?(@.type=='Ready')].reason
      name: Reason
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1alpha1
    schema:
      openAPIV3Schema:
        properties:
          spec:
            type: object
            x-kubernetes-preserve-unknown-fields: true
          status:
            type: object
            x-kubernetes-preserve-unknown-fields: true
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - name: v1alpha2
    # ... includes partial schema for baseRefs, model, parallelism, router, template

Import

kubectl apply -f config/crd/minimal/llmisvc/serving.kserve.io_llminferenceservices.yaml

I/O Contract

Field Type Description
apiVersion string Must be apiextensions.k8s.io/v1
kind string Must be CustomResourceDefinition
spec.group string API group: serving.kserve.io
spec.names.kind string LLMInferenceService
spec.names.shortNames array ["llmisvc"]
spec.scope string Namespaced

Printer Columns

Column JSONPath Type
URL .status.url string
Ready .status.conditions[?(@.type=='Ready')].status string
Reason .status.conditions[?(@.type=='Ready')].reason string
Age .metadata.creationTimestamp date
URLs (priority 1) .status.addresses[*].url string

Versions

Version Storage Served Schema Detail
v1alpha1 false true Minimal schema with x-kubernetes-preserve-unknown-fields for spec and status
v1alpha2 true true Partial schema with baseRefs, model, parallelism, router, template, prefill, worker

v1alpha2 Key Spec Fields

Field Type Description
spec.model object Model specification with uri (required), name, and optional lora adapters
spec.parallelism object Parallelism configuration: data, dataLocal, tensor, expert
spec.replicas integer Number of replicas for the inference service
spec.router object Router configuration with scheduler, route, and gateway
spec.template object Pod template for the main serving containers
spec.prefill object Separate prefill pool configuration for disaggregated inference
spec.worker object Worker pod template for data-parallel worker nodes

Usage Examples

Register the CRD and create an LLMInferenceService:

# Apply the minimal CRD definition
kubectl apply -f config/crd/minimal/llmisvc/serving.kserve.io_llminferenceservices.yaml

# Verify the CRD is registered
kubectl get crd llminferenceservices.serving.kserve.io

# List LLMInferenceService resources using the short name
kubectl get llmisvc

Related Pages

Page Connections

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