Nomad
Resource Quota Specification
Enterprise
Resource Quotas are only available with Nomad Enterprise.
Resource Quotas enable you to limit resource consumption across teams or projects to reduce waste and align budgets.
You can manage quotas using the Nomad CLI via the quota subcommands,
or with Nomad's Quota HTTP API directly.
You may also follow a Quotas tutorial for more example usage.
Example quota specification
The CLI command nomad quota init generates an example spec.hcl file.
name = "default-quota"
description = "Limit the shared default namespace"
# Create a limit for the global region. Additional limits may
# be specified in-order to limit other regions.
limit {
region = "global"
region_limit {
cores = 0
cpu = 2500
memory = 1000
memory_max = 1000
device "nvidia/gpu/1080ti" {
count = 1
}
}
variables_limit = 1000
}
Quota specification parameters
name(string)- The name of the Quota. Nomad usesnameto connect the quota aNamespace.description(string: <optional>)- A human-readable description.limit(QuotaLimit)- The resource limit in a Nomad region.
limit parameters
region(string)- The Nomadregionthat the limit applies to.region_limit(RegionLimit)- Resources to limit.variables_limit(int: 0)- Maximum total size of all Nomadvariablesin MiB. The default0means unlimited, and-1means variables are fully disabled.
region_limit parameters
Region limits define the limits on cumulative task resources blocks for
allocations in the namespace and region the quota is applied to.
cores(int: <optional>)- The limit on total number of CPU cores from allresources.coresin the namespace. The CPU concepts documentation has more details on CPU resources.cpu(int: <optional>)- The limit on total amount of CPU from allresources.cpuin the namespace.memory(int: <optional>)- The limit on total mount of memory in MB from allresources.memoryin the namespace.memory_max(int: <optional>)- The limit on total mount of hard memory limits in MB from allresources.memory_maxin the namespace.device(Device: nil)
device parameters
The device label specifies which device(s) the quota applies to,
equivalent to the device block in a job specification.
count(int)- How many of this device may be used.