I've setup a private K8s cluster using kops on AWS, and I'd like to be able to autoscale the nodes based on CPU use. I've read that this is possible with GCE, but is it possible with AWS?
I've setup a private K8s cluster using kops on AWS, and I'd like to be able to autoscale the nodes based on CPU use. I've read that this is possible with GCE, but is it possible with AWS?
Yes it is possible, you can do this by using Cluster Autoscaler or CA
As for how to do it with kops. First, you need to edit instance groups and add extra labels.
Cluster Autoscaler has its own auto-discovery which is recommended if you have multiple instance groups. With auto-discovery there is no need to set min and max size in two places, and there is no need to change CA config if you add group later.
You should add additional IAM policy rules for nodes:
And apply the configuration:
Now you can install CA, but keep in mind to check with CA version is recommended for Kubernetes version. For this you should check the releases.
Once you have deployed CA, you need to choose the right AWS region.
Now you can choose an expander.
Cluster Autoscaler does support following providers: GCE ,GKE ,AWS ,Azure, Alibaba Cloud
Hope this will be helpful.