Skip to content

kserve: llm-d only — the classic InferenceService kind and servingKind removed #134

Closed

Description

@teemow

Problem

The kserve backend composed two object kinds — a classic InferenceService and an LLMInferenceService — behind a kserve.servingKind knob whose auto picked the llm-d kind wherever its CRDs existed, controller or not (#129). Two composers meant two preset grammars, two status parsers and a chart value selecting a path the platform serves through nowhere.

Solution

Shipped in model-manager 1.0.0 (#137): the backend composes, lists, stops and deletes LLMInferenceServices (serving.kserve.io/v1alpha2, KServe's llm-d control plane) and nothing else. Removed with the classic kind: the chart values kserve.servingKind and kserve.runtime (the kserve block's schema rejects them), the flags --kserve-serving-kind / --kserve-runtime, a preset's spec.runtime and spec.predictor, the API's preset field runtime and the loaded-model kind value InferenceService, and the discovery document's spec.runtime, spec.deploymentStrategyType and spec.timeoutSeconds (ignored when a chart still publishes them). load_model fails fast where no llm-d control plane would reconcile the object (#129). The chart's kserve Role reads and writes llminferenceservices; its ClusterRole reads llminferenceserviceconfigs. The download Job's kserve.download.image stays on docker.io/kserve/storage-initializer:v0.20.0 until the gsoci copy resolves (giantswarm/retagger#1227).

Upgrade: an installation serving through llm-d with servingKind unset needs no action; one pinning kserve.servingKind: InferenceService drops the pin and moves to llm-d (the platform's kserve-llmisvc-crd, kserve-llmisvc-resources, kserve-runtime-configs components) before it takes 1.0.0. The platform chart's side is giantswarm/agent-platform#574.

Acceptance criteria

Related

Sibling issues of the same change (one serving path, every image from gsoci, all signed): giantswarm/agent-platform#574, giantswarm/agent-platform#575, giantswarm/agent-platform#554, giantswarm/agentlab#221, giantswarm/kserve#80, giantswarm/kserve#81, giantswarm/retagger#1227, giantswarm/vllm#66, giantswarm/llm-d#17. Epic: giantswarm/giantswarm#37853.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions