Skip to content

Resource requests and limits

To ensure that Kubernetes appropriately schedules resources, the respective product values.yaml is configured with default cpu and memory resource request values .

Resource requests

The default resource requests that are used for each product are defined below.

Note: these values are geared towards small data sets. For larger enterprise deployments refer to the Data Center infrastructure recommendations.

Using the formula below, the memory specific values are derived from the default JVM requirements defined for each product's Docker container.

Product CPU Memory
Jira 2 2G
Confluence 2 2G
Bitbucket 2 2G
Bamboo 2 2G
Bamboo agent 1 2G
Crowd 2 1G

Synchrony container resources

A Confluence cluster requires a Synchrony container. The default resource requests that are used for the Synchrony container are:

  • cpu: 2
  • memory: 2.5G

Memory request sizing

Request sizing must allow for the size of the product JVM. That means the maximum heap size, minumum heap size and the reserved code cache size (if applicable) plus other JVM overheads, must be considered when defining the request memory size. As a rule of thumb the formula below can be used to deduce the appropriate request memory size.

(maxHeap + codeCache) * 1.5

Resource limits

Environmental and hardware constraints are different for each deployment, therefore the product's values.yaml does not provide a resource limit definition. Resource usage limits can be defined by updating the commented out the resources.container.limits stanza within the appropriate values.yaml. For example:

container:
  limits:
    cpu: "2"
    memory: "4G"
  requests:
    cpu: "2" 
    memory: "2G"

Init and Additional Containers

By default, NFS permission fixer and JMX init containers, as well as Fluentd additional container don't have resources requests and limits. You can set them in values.yaml:

volumes:
  sharedHome:
    nfsPermissionFixer:
      resources:
        requests:
          cpu: 1
          memory: 256Mi
        limits:
          cpu: 1
          memory: 256Mi

monitoring:
  jmxExporterInitContainer:
    resources:
      requests:
        cpu: 1
        memory: 256Mi
      limits:
        cpu: 1
        memory: 256Mi  

fluentd:
  resources:
    requests:
      cpu: 1
      memory: 256Mi
    limits:
      cpu: 1
      memory: 256Mi