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?
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
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.
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:
Likewise, we added high availability as an option (heads up that enabling this is irreversible):