Kubernetes cluster sizing guide
Overview¤
This page collects best practice that has been validated on AUCLoud Kubernetes service configuration for sizing and capacity management.
What do the sizes mean?¤
Need something different
If these profiles do not meet your business needs please talk with your customer success manager.
The VCD UI plugin lists four profile sizes available:
TKG Policy Name | vCPU | Memory GB |
---|---|---|
TGK extra-large | 8 | 32 |
TGK large | 4 | 16 |
TGK medium | 2 | 8 |
TGK small | 2 | 4 |
What drives storage requirements on my nodes?¤
Under the architecture for AUCloud Kubernetes services your data in persistent volumes is stored on named disks.
- Logs generated by containers (e.g to standard out)
- The containers pulled down to the node to execute.
- IO within the containers which is not written to the persistent volume.
- Containers should be treated as immutable objects and this should be discouraged as there are no persistence guarantees.
How many nodes should I use for my control plane?¤
The Kubernetes control plane contains multiple elements. There robust community documentation covering those elements.
At a high level, there control plane needs to scale with the number of individual resources (such as pods, jobs, persistent volumes) and changes to those resources and can be scaled vertically and horizontally.
The kubernetes control plane uses a distributed key-store called etcd to store state.
etcd quorum requirements drive the horizontal number of nodes. In order to execute transactions on an etcd cluster of N
nodes N/2 + 1
nodes must accept the transaction.
The result is that 'odd' node pools are the most efficient. AUCloud recommends a starting point of 3 control plane nodes for a high availability cluster.
1 node may be used for development environments.