Article
Cluster Autoscaling
Jun 26, 2023
|
5
min read
Autoscaling is a feature in cloud computing that automatically adjusts the number of compute resources (such as virtual machines, containers, or function instances) in response to changes in demand. Autoscaling enables a cloud system to scale up or down its resources as needed, in real-time, to ensure optimal performance and cost efficiency. Autoscaling works by monitoring metrics such as CPU utilization, network traffic, or application response times and automatically adding or removing compute resources based on predefined scaling policies.
Implementing auth can be difficult and time consuming, as well as being a critical part of most software systems. This holds especially true for applications that are public/customer facing.
Authentication providers like Auth0 and Okta have become common place in software development. These providers help take this work off of your plate, and this can be made even easier by using a reverse proxy that provides authentication capabilities, like oauth2-proxy.
These solutions are fairly straightforward for most applications (API, SPA, etc.) but things start to get complicated when you want to use multiple authentication flows for the same software application/platform.
We'll look at a specific use-case, with the hope that this can be adapted to fit most cases.
Prerequisites:
An existing Amazon EKS cluster
An existing IAM OIDC provider for your cluster
Steps to Follow:
Create EKS cluster using eksctl
eksctl create cluster --name my-cluster --region ap-southeast-1 --nodegroup-name temporary-nodes --node-type t3.small –managedTo create an IAM OIDC identity provider for your cluster with eksctl
Determine whether you have an existing IAM OIDC provider for your cluster.Retrieve your cluster's OIDC provider ID and store it in a variable.
Determine whether an IAM OIDC provider with your cluster's ID is already in your account.
If output is returned, then you already have an IAM OIDC provider for your cluster and you can skip the next step. If no output is returned, then you must create an IAM OIDC provider for your cluster.
Create an IAM OIDC identity provider for your cluster with the following command. Replace my-cluster with your own value.
For Deploying Cluster Autoscaler follow the AWS Documentation
From our Blog
Article
March 01, 2021
Why scaling ?
Implement auto-scaling with Kubernetes to adjust resources dynamically, ensuring you only pay for what you use.
Case study
April 01, 2021
Cluster autoscaling
It adjusts your infrastructure capacity based on actual demand, ensuring that your application remains responsive and available.