VM Sizing for PKS Clusters
Page last updated:
This topic describes how Pivotal Container Service (PKS) recommends you approach the sizing of VMs for cluster components.
When you configure plans in the PKS tile, you provide VM sizes for the master and worker node VMs. For more information about configuring plans, see the Plans section of Installing PKS for your IaaS:
You select the number of master nodes when you configure the plan.
For worker node VMs, you select the number and size based on the needs of your workload. The sizing of master and worker node VMs is highly dependent on the characteristics of the workload. Adapt the recommendations in this topic based on your own workload requirements.
The master node VM size is linked to the number of worker nodes. The VM sizing shown in the following table is per master node:
Note: If there are multiple master nodes, all master node VMs are the same size. To configure the number of master nodes, see the Plans section of Installing PKS for your IaaS.
|Number of Workers||CPU||RAM (GB)|
A maximum of 100 pods can run on a single worker node. The actual number of pods that each worker node runs depends on the workload type as well as the CPU and memory requirements of the workload.
To calculate the number and size of worker VMs you require, determine the following for your workload:
- Maximum number of pods you expect to run [
- Memory requirements per pod [
- CPU requirements per pod [
Using the values above, you can calculate the following:
- Minimum number of workers [
p / 100
- Minimum RAM per worker =
m * 100
- Minimum number of CPUs per worker =
c * 100
This calculation gives you the minimum number of worker nodes your workload requires. We recommend that you increase this value to account for failures and upgrades.
For example, increase the number of worker nodes by at least one to maintain workload uptime during an upgrade. Additionally, increase the number of worker nodes to fit your own failure tolerance criteria.
The maximum number of worker nodes that you can create for a PKS-provisioned Kubernetes cluster is 50.
An example app has the following minimum requirements:
- Number of pods [
p] = 1000
- RAM per pod [
m] = 1 GB
- CPU per pod [
c] = 0.10
To determine how many worker node VMs the app requires, do the following:
- Calculate the number of workers using
p / 100:
1000/100 = 10 workers
- Calculate the minimum RAM per worker using
m * 100:
1 * 100 = 100 GB
- Calculate the minimum number of CPUs per worker using
c * 100:
0.10 * 100 = 10 CPUs
- For upgrades, increase the number of workers by one:
10 workers + 1 worker = 11 workers
- For failure tolerance, increase the number of workers by two:
11 workers + 2 workers = 13 workers
In total, this app workload requires 13 workers with 10 CPUs and 100 GB RAM.
Please send any feedback you have to firstname.lastname@example.org.