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.