LATEST VERSION: v1.2 - RELEASE NOTES
Pivotal Container Service v1.2

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.

Overview

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.

Master Node VM Size

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)
1-513.75
6-1027.5
11-100415
101-250830
251-5001660
500+32120

Worker Node VM Number and Size

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 [p]
  • Memory requirements per pod [m]
  • CPU requirements per pod [c]

Using the values above, you can calculate the following:

  • Minimum number of workers [W] = 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.

Prior to PKS v1.2.1, the maximum number of worker nodes that you could create for a PKS-provisioned Kubernetes cluster was 50. This limit is removed in PKS v1.2.1+.

Example Worker Node Requirement Calculation

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:

  1. Calculate the number of workers using p / 100:
    1000/100 = 10 workers
  2. Calculate the minimum RAM per worker using m * 100:
    1 * 100 = 100 GB
  3. Calculate the minimum number of CPUs per worker using c * 100:
    0.10 * 100 = 10 CPUs
  4. For upgrades, increase the number of workers by one:
    10 workers + 1 worker = 11 workers
  5. 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 pks-feedback@pivotal.io.

Create a pull request or raise an issue on the source for this page in GitHub