Prerequisites
- CLI installed and logged in (see setup skill).
- A Vector Lake instance in the target project/region (see cluster
skill --
cluster create-vectorlake).
Commands Reference
Create an On-Demand Cluster
create is hand-written and not generated from the JSON model. It calls
POST /v2/clusters/createOnDemandCluster and accepts:
zilliz on-demand-cluster create \
--project-id <project-id> \
--region-id <region-id> \
--cu-size <integer> # required, >= 8
--cluster-name <string> \ # required, max 64 chars, letters/digits/space/_/-/CJK
[--session-ttl <duration>] \ # auto-suspend TTL: 30m, 1h, 90s (min 60s, default 60s)
[--max-query-node-cu <n>] \
[--max-query-node-replicas <n>]
Session TTL controls how long an idle on-demand cluster stays running before
it is automatically suspended. Format is <number><s|m|h>, with a floor of
60 seconds. Resuming a suspended on-demand cluster happens transparently on
the next query.
Examples:
# Create an 8-CU on-demand cluster with the default 60s idle TTL
zilliz on-demand-cluster create \
--project-id proj-xxxx \
--region-id aws-us-east-1 \
--cu-size 8 \
--cluster-name "qc-prod-1"
# Keep alive 30 minutes between queries, cap query node CU and replicas
zilliz on-demand-cluster create \
--project-id proj-xxxx \
--region-id aws-us-east-1 \
--cu-size 16 \
--cluster-name "qc-batch-1" \
--session-ttl 30m \
--max-query-node-cu 16 \
--max-query-node-replicas 4
List On Demand Clusters
zilliz on-demand-cluster list --project-id <project-id> --region-id <cloud-region>
Describe an On Demand Cluster
zilliz on-demand-cluster describe --cluster-id <on-demand-cluster-id>
Delete an On Demand Cluster
zilliz on-demand-cluster delete --cluster-id <on-demand-cluster-id-to-delete>
Guidance
- On-demand clusters belong to a Vector Lake instance and only exist inside a
<projectId>+<regionId>pair. If neitherlistnordescribereturns anything, first confirm that the project has a Vector Lake (zilliz cluster create-vectorlake). listrequires both--project-idand--region-id-- there is no all-projects listing.- Status flows through
CREATING->RUNNING->SUSPENDING->SUSPENDEDand back toRESUMING->RUNNINGon the next query. TreatSUSPENDING/SUSPENDEDas healthy idle state, not an error. --session-ttlis the idle auto-suspend timer. The minimum is60s; values smaller than that are rejected client-side before the API call. The current default is60s, so on-demand clusters are aggressive about suspending -- raise it (e.g.30m) when running interactive workloads.--cu-sizemust be >= 8 and--cluster-nameis at most 64 characters, allowing letters, digits, space,_,-, and Chinese characters.deleteis irreversible and asynchronous -- always confirm with the user before invoking. The cluster row moves toDELETINGand disappears once cleanup finishes.- These commands are distinct from the regular
clusterskill: a regular cluster owns its own compute, while on-demand clusters share storage with their parent Vector Lake. Do not confusezilliz on-demand-cluster deletewithzilliz cluster delete.