To size Tanzu Kubernetes cluster nodes, you specify the virtual machine class. vSphere with Tanzu provides default classes, and you can create your own. To use a class, associate it with the target vSphere Namespace and reference the class in the manifest.
About Virtual Machine Classes
spec.policies.resources.requests
matches the
spec.hardware
settings. The best effort class allows resources to be overcommitted. For production workloads it is recommended that you use the guaranteed VM class type.
Using Virtual Machine Classes
To use a virtual machine class with a Tanzu Kubernetes cluster, the VM class must be bound to the vSphere Namespace where the cluster is provisioned. To do this, you associate the class with the target namespace. See Configure a vSphere Namespace for Tanzu Kubernetes releases.
kubectl get virtualmachineclassbinding
. To view all virtual machine classes present on the
Supervisor Cluster, run the command
kubectl describe virtualmachineclasses
. Note, however, that because only bound classes can be used to provision a cluster, the latter command is informational-only. See
Workflow for Provisioning Tanzu Kubernetes Clusters Using the TKGS v1alpha2 API.
Default Virtual Machine Classes
The table Default Virtual Machine Classes lists default virtual machine class types that are used as deployment sizes for Tanzu Kubernetes cluster nodes.
To avoid overcommitting resources, production workloads should use the guaranteed class type. To avoid running out of memory, do not use the small or extra small class size for any worker node where you are deploying workloads in any environment (development, test, or production).
Class | CPU | Memory (GB) | Reserved CPU and Memory |
---|---|---|---|
guaranteed-8xlarge |
32 |
128 |
Yes |
best-effort-8xlarge |
32 |
128 |
No |
guaranteed-4xlarge |
16 |
128 |
Yes |
best-effort-4xlarge |
16 |
128 |
No |
guaranteed-2xlarge |
8 |
64 |
Yes |
best-effort-2xlarge |
8 |
64 |
No |
guaranteed-xlarge |
4 |
32 |
Yes |
best-effort-xlarge |
4 |
32 |
No |
guaranteed-large |
4 |
16 |
Yes |
best-effort-large |
4 |
16 |
No |
guaranteed-medium |
2 |
8 |
Yes |
best-effort-medium |
2 |
8 |
No |
guaranteed-small |
2 |
4 |
Yes |
best-effort-small |
2 |
4 |
No |
guaranteed-xsmall |
2 |
2 |
Yes |
best-effort-xsmall |
2 |
2 |
No |
Custom Virtual Machine Classes
vSphere with Tanzu supports custom virtual machine classes for use with Tanzu Kubernetes clusters. Once you have defined a custom VM class, you must associate it with the target vSphere Namespace before you can use it with a cluster. See Create a VM Class in vSphere with Tanzu.