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.