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.To customize the size of the Kubernetes master node VM, see Customize Master and Worker Node VM Size and Type.
|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 plan in a PKS-provisioned Kubernetes cluster is set by the Maximum number of workers on a cluster field in the Plans pane of the PKS tile. To customize the size of the Kubernetes worker node VM, see Customize Master and Worker Node VM Size and Type.
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.
You select the CPU, memory, and disk space for the Kubernetes node VMs from a set list in the PKS tile. Master and worker node VM sizes and types are selected on a per-plan basis. For more information, see the Plans section of the PKS installation topic for your IaaS. For example, Installing PKS on vSphere with NSX-T.
While the list of available node VM types and sizes is extensive, the list may not provide the exact type and size of VM that you want. You can use the Ops Manager API to customize the size and types of the master and worker node VMs. For more information, see How to Create or Remove Custom VM_TYPE Template using the Operations Manager API in the Pivotal Knowledge Base.
Please send any feedback you have to firstname.lastname@example.org.