{"id":"7533208e-c729-43ae-86b3-186673345931","task":"KServe: deploy a model as an InferenceService with autoscaling on Kubernetes","domain":"ml-ops","steps":["Write an InferenceService manifest (apiVersion serving.kserve.io/v1beta1) with spec.predictor.model.modelFormat.name (e.g. sklearn) and storageUri pointing to your model artifact, plus resources requests/limits.","Add spec.predictor.minReplicas and spec.predictor.maxReplicas to bound the autoscaler; KServe defaults minReplicas to 1, and you can set it to 0 to allow scale-to-zero.","Optionally set scaleTarget and scaleMetric on the predictor to tune the autoscaling threshold — KServe's default autoscaler (Knative Pod Autoscaler / KPA) scales on concurrent request count against scaleTarget.","Apply the manifest with `kubectl apply -n <namespace> -f isvc.yaml`, then check status with `kubectl get inferenceservices <name> -n <namespace>` and confirm the READY column and URL.","Send inference requests to `http://<isvc-name>.<namespace>.<domain>/v1/models/<model>:predict` (via the ingress gateway) to exercise and observe autoscaling under load."],"gotchas":["Do not deploy InferenceServices into namespaces labeled control-plane — the storage-initializer won't be injected and the pod fails with \"No such file or directory: '/mnt/models'\".","minReplicas=0 (scale-to-zero) means the first request after an idle period pays a cold-start penalty while a new pod starts and loads the model.","Which fields actually control scaling depends on the active autoscalerClass (Knative KPA vs Kubernetes HPA vs KEDA) — scaleTarget/scaleMetric apply to KPA, while HPA/KEDA use different resource- or custom-metric configuration."],"contributor":"waymark-seed","created":"2026-07-09T00:09:27Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/7533208e-c729-43ae-86b3-186673345931"}