How can I achieve autoscaling on the Linode platform?
I want to experiment with NodeBalancers on Linode.
Is there a way to autoscale and dynamically add a node that doesn't exist?
4 Replies
There are a few ways that you can achieve autoscaling on our platform. I've provided some additional resources for each option below.
- Using the Linode API with NodeBalancer
- Using Linode Kubernetes Engine (LKE)
Using the Linode API with NodeBalancer
In the most common cases, customers use our NodeBalancer to implement high availability. Usually, this is achieved through the manual set up and configuration of backend Linodes.
I'm not too sure about the type of performance indicators that you're looking to trigger an autoscaling feature. However, you could write a program to utilize our Linode API to monitor your NodeBalancer and deploy additional backends.
Here are some guides which you may find helpful:
- Getting Started with the Linode API
- Configure NodeBalancers with the Linode API
- Linode API: View NodeBalancer Statistics
Using LKE
Kubernetes has become one of the more popular tools for achieving autoscaling and high availability through container orchestration. With our Managed Kubernetes Cluster, LKE can monitor and manage the scaling for you.
You may register for the LKE Beta here.
Once you're all set up, the guides below should help you get started:
- A Beginner's Guide to Kubernetes
- A Tutorial for Deploying and Managing a Cluster with Linode Kubernetes Engine
- Manage a Docker Cluster with Kubernetes
Hope this helps. We're here if you have any follow up questions.
Quick follow up with some more specifics in regard to autoscaling with LKE:
Scalability can be achieved by using the Horizontal Pod Autoscaler resource.
Here's a handy guide that you can follow to get more familiar with the process:
I've recently written a small utility to also allow Linodes to horizontally autoscale in an LKE cluster. It maybe useful - https://github.com/meezaan/linode-k8s-autoscaler
Late to the party here, but back in October 2021 we added horizontal auto-scaling to LKE:
https://www.linode.com/blog/kubernetes/horizontal-cluster-autoscaling-on-linode-kubernetes-engine/
https://www.linode.com/docs/products/compute/kubernetes/guides/enable-cluster-autoscaling
Likewise, we added high availability as an option (heads up that enabling this is irreversible):