» resources Stanza

Placement job -> group -> task -> resources

The resources stanza describes the requirements a task needs to execute. Resource requirements include memory, network, CPU, and more.

job "docs" {
  group "example" {
    task "server" {
      resources {
        cpu    = 100
        memory = 256

        network {
          mbits = 100
          port "http" {}
          port "ssh" {
            static = 22
          }
        }
      }
    }
  }
}

» resources Parameters

  • cpu (int: 100) - Specifies the CPU required to run this task in MHz.

  • iops (int: 0) - Specifies the number of IOPS required given as a weight between 0-1000.

  • memory (int: 300) - Specifies the memory required in MB

  • network (Network: ) - Specifies the network requirements, including static and dynamic port allocations.

» resources Examples

The following examples only show the resources stanzas. Remember that the resources stanza is only valid in the placements listed above.

» Memory

This example specifies the task requires 2 GB of RAM to operate. 2 GB is the equivalent of 2000 MB:

resources {
  memory = 2000
}

» Network

This example shows network constraints as specified in the network stanza which require 1 Gbit of bandwidth, dynamically allocates two ports, and statically allocates one port:

resources {
  network {
    mbits = 1000
    port "http" {}
    port "https" {}
    port "lb" {
      static = "8889"
    }
  }
}