ServingStack Custom Resource
This document applies to the Modelplane main branch and not to the latest release v0.4.
A ServingStack installs the serving substrate on a Kubernetes cluster: LeaderWorkerSet (Standard) or Grove and the KAI Scheduler (Dynamo), plus Gateway API, cert-manager, and Prometheus.
#Metadata
#Example
Manifest
apiVersion: infrastructure.modelplane.ai/v1alpha1
kind: ServingStack
metadata:
name: west-gke-stack
namespace: platform
spec:
cloud: GKE
secrets:
- type: Kubeconfig
name: west-gke-kubeconfig
key: kubeconfig
- type: GoogleApplicationCredentials
name: west-gke-sa-key
key: private_key
# Projected from the InferenceCluster: the name InferenceGateways reach this
# cluster's gateway by, and the CAs whose client certificates it accepts.
gateway:
hostname: gateway-west-gke-1a2b3.modelplane-system.svc.cluster.local
clientCAs:
- name: eu
certificate: |
-----BEGIN CERTIFICATE-----
MIIBszCCAVmgAwIBAgIQ…
-----END CERTIFICATE-----
#Spec
ServingStackSpec defines the desired state of ServingStack.
The cloud the target cluster runs on. Selects the fixed set of components and versions this stack installs there, which is resolved per cloud at build time and changes only with a Modelplane release. Mirrors InferenceCluster.spec.cluster.source; the cluster composition sets it.
Configuration for the cluster’s inference traffic gateway.
GatewayClass name. Override if the cluster already has a GatewayClass named envoy.
The name this cluster’s gateway is reached by, projected from the InferenceCluster. The gateway serves a certificate for it, so an InferenceGateway can originate TLS and know it reached the right cluster.
Key within the Secret that holds the credential data.
Name of the Secret.
Namespace of the Secret, when it isn’t this ServingStack’s namespace. Set on cloud identity entries whose credential is the Secret the cloud provider’s ProviderConfig references.
The type of credential this secret contains. Kubeconfig is required. Any other value is a cloud identity type; when present, the serving stack authenticates to the cluster as that identity instead of using the kubeconfig’s embedded credentials.
Which serving stack this installs. Standard (the default) is the Modelplane-composed serving layer: a Deployment or LeaderWorkerSet, Gateway API, and the endpoint picker. Dynamo swaps in NVIDIA’s components: Grove with the KAI Scheduler for multi-node gang scheduling, and a shared ModelExpress server for weight distribution. Propagated from the InferenceCluster.
#Status
Status of the cluster’s inference gateway.
The gateway’s external address, once assigned by the cloud load balancer.
PEM certificate of the CA that signed this gateway’s serving certificate. An InferenceGateway validates the gateway’s serving certificate against it.