After a while using Kubernetes, I tried to improve the cluster and try to use all the features from the cloud provider such as the autoscaling groups and multiple availability zones.
The environment
- AWS (The idea is the same for other cloud providers)
- Kubernetes
- Autoscaling groups for the workes for each availability zone (
zone-a
,zone-b
,zone-c
). - Cluster-Autoscaler (CA)
The cluster will scale when:
- There are pods that failed to run in the cluster due to insufficient resources.
- There are nodes in the cluster that have been underutilized for an extended period of time and their pods can be placed on other existing nodes.