Modelplane Modelplane docs

CapacityReservation Custom Resource

This document is for an unreleased version of Modelplane.

This document applies to the Modelplane main branch and not to the latest release v0.5.

An existing cloud capacity reservation that InferenceCluster node pools can reference by name. Modelplane doesn’t create or modify the reservation; it only directs node pools to consume it.

Concept guide: Register a Cluster →

#Metadata

API version
modelplane.ai/v1alpha1
Kind
CapacityReservation
Scope
Cluster

#Example

Manifest
apiVersion: modelplane.ai/v1alpha1
kind: CapacityReservation
metadata:
  name: a3-mega-calendar
spec:
  provider: GKE
  gke:
    zone: us-central1-a
    name: a3-mega-calendar

#Spec

# eks optional object

An EC2 Capacity Reservation. Required when provider is EKS.

# id required string 4–64 chars

ID of the Capacity Reservation (e.g. cr-0123456789abcdef0). Purchasing a Capacity Block yields this ID.

pattern: ^cr-[0-9a-f]+$

# region required string 1–32 chars

AWS region the reservation is in (e.g. us-east-2).

# type required enum: CapacityBlock | OnDemand

The kind of Capacity Reservation. CapacityBlock is a Capacity Block for ML. OnDemand is an On-Demand Capacity Reservation.

# gke optional object

A Compute Engine reservation, consumed as a specific reservation. Any reservation type works, including future reservations in calendar mode once their reservation period starts. Required when provider is GKE.

# name required string ≤ 63 chars

Name of the reservation.

pattern: ^[a-z]([-a-z0-9]{0,61}[a-z0-9])?$

# project optional string ≤ 30 chars

Project that owns the reservation, for a reservation shared from another project. The reservation must be shared with the cluster’s project, and the cluster project’s GKE service agent must be allowed to list reservations in this project. Omit for a reservation in the cluster’s own project.

pattern: ^[a-z][-a-z0-9]{4,28}[a-z0-9]$

# zone required string 1–63 chars

Zone the reservation is in (e.g. us-central1-a). A node pool backed by the reservation must be restricted to exactly this zone.

# provider required enum: GKE | EKS

The cloud the reservation belongs to. A node pool can only reference a reservation whose provider matches its cluster’s source.

#Status

# conditions optional object[]