Kserve CRDs
ServingRuntimes/ClusterServingRuntimes
- https://kserve.github.io/website/0.11/modelserving/servingruntimes/
- https://github.com/kserve/website/blob/main/docs/modelserving/v1beta1/serving_runtime.md
apiVersion: serving.kserve.io/v1alpha1
kind: ServingRuntime
metadata:
name: <name>
namespace: <namespace>
spec:
supportedModelFormats:
- name: <modelFormat>
version: <version> # 주 버전만 지정하는 것이 좋습니다. ex) "1"
autoSelect: true
protocolVersions:
- v1
- v2
containers:
# <modelFormat>을 사용하는 InferenceService의 containers 기본 설정값을 정의합니다.
- name: kserve-container
image: <image>
commands:
- <command>
args:
- <arg>
containers
args
- Kserve Args
- InferenceService의 storageUri에 설정된 모델은 /mnt/models 경로에 마운트됩니다.
InferenceService
apiVersion: serving.kserve.io/v1beta1
kind: InferenceService
metadata:
name: <name>
namespace: <namespace>
annotations:
# Knative Service에 추가됩니다.
{}
spec:
predictor:
# Knative
containerConcurrency: 0
minReplicas: 1
scaleTarget: 100
scaleMetric: concurrency
model:
modelFormat:
name: <modelFormat>
# runtime을 설정하지 않았을 때, autoSelect: true 이면서 <modelFormat>을
# 사용하는 ServingRuntime이 존재하는 해당 runtime이 자동으로 선택됩니다
runtime: <servingRuntimeName>
# 훈련된 모델이 저장된 경로입니다.
storageUri: <storageUri> # 훈련된 모델이 저장된 경로
# kubernetes core/v1.Container 설정값을 적을 수 있습니다
# args: ["--enable_docs_url=True"]
# kubernetes core/v1.Pod.spec 설정값을 적을 수 있습니다
# affinity: {}
# tolerations: []
# Optional
transformer: <transformer>
# Optional
explainer: <explainer>
predictor
model
storageUri
- 모델이 저장된 경로입니다.
- 해당 경로는 storage-initializer initContainer에 의해 /mnt/models 경로에 마운트됩니다.
args
warning
predictor.affinity
, predictor.tolerations
등의 설정은 Knative Serving의 설정에서 이를 허용해야 사용할 수 있습니다.