To size TKG Service cluster nodes, you specify the virtual machine (VM) class. The platform provides default VM classes, and you can create your own. To use a VM class, you associate it with the target vSphere Namespace and reference the class in the cluster manifest.
About VM 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 VM Classes with TKG Service Clusters
To use a VM class with a TKG Service 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 TKG Service Clusters.
kubectl get virtualmachineclass
.
Default VM Classes
The table lists default VM class types that are used as deployment sizes for TKG 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 VM Classes
vSphere IaaS control plane supports custom VM classes for use with TKG Service 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. Refer to the VM Services documentation for details.