Files
nomad/website/content/docs/other-specifications/quota.mdx
Aimee Ukasick 53b083b8c5 Docs: Nomad IA (#26063)
* Move commands from docs to its own root-level directory

* temporarily use modified dev-portal branch with nomad ia changes

* explicitly clone nomad ia exp branch

* retrigger build, fixed dev-portal broken build

* architecture, concepts and get started individual pages

* fix get started section destinations

* reference section

* update repo comment in website-build.sh to show branch

* docs nav file update capitalization

* update capitalization to force deploy

* remove nomad-vs-kubernetes dir; move content to what is nomad pg

* job section

* Nomad operations category, deploy section

* operations category, govern section

* operations - manage

* operations/scale; concepts scheduling fix

* networking

* monitor

* secure section

* remote auth-methods folder and move up pages to sso; linkcheck

* Fix install2deploy redirects

* fix architecture redirects

* Job section: Add missing section index pages

* Add section index pages so breadcrumbs build correctly

* concepts/index fix front matter indentation

* move task driver plugin config to new deploy section

* Finish adding full URL to tutorials links in nav

* change SSO to Authentication in nav and file system

* Docs NomadIA: Move tutorials into NomadIA branch (#26132)

* Move governance and policy from tutorials to docs

* Move tutorials content to job-declare section

* run jobs section

* stateful workloads

* advanced job scheduling

* deploy section

* manage section

* monitor section

* secure/acl and secure/authorization

* fix example that contains an unseal key in real format

* remove images from sso-vault

* secure/traffic

* secure/workload-identities

* vault-acl change unseal key and root token in command output sample

* remove lines from sample output

* fix front matter

* move nomad pack tutorials to tools

* search/replace /nomad/tutorials links

* update acl overview with content from deleted architecture/acl

* fix spelling mistake

* linkcheck - fix broken links

* fix link to Nomad variables tutorial

* fix link to Prometheus tutorial

* move who uses Nomad to use cases page; move spec/config shortcuts

add dividers

* Move Consul out of Integrations; move namespaces to govern

* move integrations/vault to secure/vault; delete integrations

* move ref arch to docs; rename Deploy Nomad back to Install Nomad

* address feedback

* linkcheck fixes

* Fixed raw_exec redirect

* add info from /nomad/tutorials/manage-jobs/jobs

* update page content with newer tutorial

* link updates for architecture sub-folders

* Add redirects for removed section index pages. Fix links.

* fix broken links from linkcheck

* Revert to use dev-portal main branch instead of nomadIA branch

* build workaround: add intro-nav-data.json with single entry

* fix content-check error

* add intro directory to get around Vercel build error

* workound for emtpry directory

* remove mdx from /intro/ to fix content-check and git snafu

* Add intro index.mdx so Vercel build should work

---------

Co-authored-by: Tu Nguyen <im2nguyen@gmail.com>
2025-07-08 19:24:52 -05:00

115 lines
4.0 KiB
Plaintext

---
layout: docs
page_title: Nomad resource quota specification
description: |-
Learn about Nomad's resource quota specification. Review an example resource quota specification. Configure resources, regions, devices, and storage options.
---
# Nomad resource quota specification
[Resource quotas][] let you limit resource consumption across teams or
projects to reduce waste and align budgets. Manage resource quotas with the CLI [`quota` command][quota] or with Nomad's [Quota HTTP API][].
<EnterpriseAlert product="nomad" />
## Example resource quota specification
This example is a resource quota specification generated with the [`nomad quota init` command][init].
```hcl
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
}
storage {
variables = 1000 # in MB
host_volumes = "1000 GiB"
}
}
}
```
## Parameters
- `name` `(string)` - The name of the Quota. Nomad uses `name` to connect the
quota a [`Namespace`][].
- `description` `(string: <optional>)` - A human-readable description.
- `limit` <code>([QuotaLimit](#limit-parameters))</code> - The resource limit
in a Nomad region.
### `limit` parameters
- `region` `(string)` - The Nomad `region` that the limit applies to.
- `region_limit` <code>([RegionLimit](#region_limit-parameters))</code> -
Resources to limit.
### `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 all
`resources.cores` in the namespace. The [CPU concepts][] documentation
has more details on CPU resources.
- `cpu` `(int: <optional>)` - The limit on total amount of CPU from all
`resources.cpu` in the namespace.
- `memory` `(int: <optional>)` - The limit on total mount of memory in MB from
all `resources.memory` in the namespace.
- `memory_max` `(int: <optional>)` - The limit on total mount of hard memory
limits in MB from all `resources.memory_max` in the namespace.
- `device` <code>([Device](#device-parameters): nil)</code>
- `storage` <code>([Storage](#storage-parameters): nil)</code>
### `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.
### `storage` parameters
The `storage` block defines limits on provisioned storage.
- `host_volumes` `(int: 0)` - Maximum total size of all [dynamic host volumes][]
in MiB. The default `0` means unlimited, and `-1` means variables are fully
disabled. This field accepts human-friendly string inputs such as "100
GiB". The quota for host volumes is enforced at the time the volume is created
via [`volume create`][].
- `variables` `(int: 0)` - Maximum total size of all Nomad [variables][] in
MiB. The default `0` means unlimited, and `-1` means variables are fully
disabled. This field accepts human-friendly string inputs such as "100 GiB".
## Resources
Visit the [Create and use resource quotas tutorial][tutorial] to learn how to
create quotas, attach a quota to a namespace, secure a quota with ACL, and
design quotas for federated clusters.
[Resource Quotas]: /nomad/docs/enterprise#resource-quotas
[quota]: /nomad/commands/quota
[Quota HTTP API]: /nomad/api-docs/quotas
[tutorial]: /nomad/docs/govern/resource-quotas
[`Namespace`]: /nomad/docs/other-specifications/namespace
[variables]: /nomad/docs/concepts/variables
[`resources`]: /nomad/docs/job-specification/resources
[CPU concepts]: /nomad/docs/architecture/cpu
[`device`]: /nomad/docs/job-specification/device#device-parameters
[dynamic host volumes]: /nomad/docs/other-specifications/volume/host
[init]: /nomad/commands/quota/init