Skip to main content

anycloud worker

Create and manage a persistent Kubernetes application that accepts targeted Jobs.

Create

anycloud worker create <name> <image> \
--cluster <id-or-name> \
[--gpus <count>] \
[--max-concurrent-jobs-per-replica <count>] \
[-- command...]

Create also accepts --env, --env-file, --shm-size, --memory, and --cpus. Concurrency defaults to one. CPU, memory, and a positive GPU count become equal Kubernetes requests and limits. The Cluster's VM type determines the accelerator model and supply; --gpus requests only a quantity. Positive counts require catalog-verified GPU capacity and cannot exceed the per-VM supply. GPU Clusters require an explicit count, using --gpus 0 for an intentionally CPU-only Pod. Unclassified or unverifiable capacity accepts only explicit zero. Catalogued CPU Clusters infer zero when the flag is omitted and reject positive counts.

Named application Secrets are not yet supported for Workers. Do not put sensitive values in --env as a workaround; use an application-owned secret source until Worker Secret references are added.

Inspect, update, and delete

anycloud worker list [--json]
anycloud worker status <id-or-active-name> [--json]
anycloud worker update <id-or-active-name> [options] [-- command...]
anycloud worker delete <id-or-active-name> [--json]

Update accepts a trailing replacement command plus --image, --gpus, and --max-concurrent-jobs-per-replica. It increments the desired generation, stops the old process from selecting new Jobs, drains its running Jobs, and then performs a no-surge replacement. Delete rejects new Jobs, terminates queued Jobs, drains running work, and removes the Kubernetes resources.

Active names are API-wide and case-insensitively unique. A deleted Worker remains addressable by immutable ID, its name can be reused, and name lookup never selects a deleted row.

Submit work with anycloud job --worker <id-or-active-name>. Targeted Jobs reuse status, termination, and resubmission, but do not support per-Job logs, exec, or SSH.