Calculating Che resource requirements
The Che Operator, DevWorkspace Controller, and user workspaces consist of a set of pods. The pods contribute to the resource consumption in CPU and memory limits and requests.
-
Identify the workspace resource requirements which depend on the devfile that is used for defining the development environment. This includes identifying the workspace components explicitly specified in the
components
section of the devfile.-
Here is an example devfile with the following components:
Example 1.tools
The
tools
component of the devfile defines the following requests and limits:memoryLimit: 6G memoryRequest: 512M cpuRequest: 1000m cpuLimit: 4000m
-
During the workspace startup, an internal
che-gateway
container is implicitly provisioned with the following requests and limits:memoryLimit: 256M memoryRequest: 64M cpuRequest: 50m cpuLimit: 500m
-
-
Calculate the sums of the resources required for each workspace. If you intend to use multiple devfiles, repeat this calculation for every expected devfile.
Example 2. Workspace requirements for the example devfile in the previous stepPurpose Pod Container name Memory limit Memory request CPU limit CPU request Developer tools
workspace
tools
6 GiB
512 MiB
4000 m
1000 m
Che gateway
workspace
che-gateway
256 MiB
64 MiB
500 m
50 m
Total
6.3 GiB
576 MiB
4500 m
1050 m
-
Multiply the resources calculated per workspace by the number of workspaces that you expect all of your users to run simultaneously.
-
Calculate the sums of the requirements for the Che Operator, Operands, and DevWorkspace Controller.
Table 1. Default requirements for the Che Operator, Operands, and DevWorkspace Controller Purpose Pod name Container names Memory limit Memory request CPU limit CPU request Che operator
che-operator
che-operator
256 MiB
64 MiB
500 m
100 m
Che Server
che
che-server
1 GiB
512 MiB
1000 m
100 m
Che Dashboard
che-dashboard
che-dashboard
256 MiB
32 MiB
500 m
100 m
Che Gateway
che-gateway
traefik
4 GiB
128 MiB
1000 m
100 m
Che Gateway
che-gateway
configbump
256 MiB
64 MiB
500 m
50 m
Che Gateway
che-gateway
oauth-proxy
512 MiB
64 MiB
500 m
100 m
Che Gateway
che-gateway
kube-rbac-proxy
512 MiB
64 MiB
500 m
100 m
Devfile registry
devfile-registry
devfile-registry
256 MiB
32 MiB
500 m
100 m
Plugin registry
plugin-registry
plugin-registry
256 MiB
32 MiB
500 m
100 m
DevWorkspace Controller Manager
devworkspace-controller-manager
devworkspace-controller
1 GiB
100 MiB
1000 m
250 m
DevWorkspace Controller Manager
devworkspace-controller-manager
kube-rbac-proxy
N/A
N/A
N/A
N/A
DevWorkspace webhook server
devworkspace-webhook-server
webhook-server
300 MiB
20 MiB
200 m
100 m
DevWorkspace Operator Catalog
devworkspace-operator-catalog
registry-server
N/A
50 MiB
N/A
10 m
DevWorkspace Webhook Server
devworkspace-webhook-server
webhook-server
300 MiB
20 MiB
200 m
100 m
DevWorkspace Webhook Server
devworkspace-webhook-server
kube-rbac-proxy
N/A
N/A
N/A
N/A
Total
9 GiB
1.2 GiB
6.9
1.3