explaingit

kubernetes/autoscaler

8,850GoAudience · ops devopsComplexity · 4/5Setup · hard

TLDR

Official Kubernetes tools that automatically add or remove cloud servers and adjust container resource limits based on your app's actual traffic and usage.

Mindmap

mindmap
  root((autoscaler))
    What it does
      Scale cluster nodes
      Adjust container resources
      Handle idle servers
    Components
      Cluster Autoscaler
      Vertical Pod Autoscaler
      Addon Resizer
    Tech Stack
      Go
      Kubernetes
    Audience
      Platform engineers
      DevOps teams
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Automatically scale your Kubernetes cluster up when pods are pending and down when servers sit idle to cut cloud costs.

USE CASE 2

Right-size container CPU and memory requests automatically so you stop over-provisioning resources.

USE CASE 3

Scale a monitoring sidecar deployment proportionally as your cluster grows or shrinks.

Tech stack

GoKubernetes

Getting it running

Difficulty · hard Time to first run · 1h+

Requires a running Kubernetes cluster on a supported cloud provider such as AWS, GCP, or Azure.

In plain English

This repository holds the official autoscaling tools for Kubernetes, the widely used system for running and managing containerized applications across groups of servers. When your application gets more traffic, you want more computing resources to appear automatically, and when traffic drops, you want to stop paying for resources you are not using. That is what this project handles. There are three main components. The Cluster Autoscaler watches whether your application containers have enough machines to run on. If containers are waiting for space, it asks the cloud provider to add more servers to the cluster. If servers sit idle for long enough, it removes them. It supports the major public cloud providers. The Vertical Pod Autoscaler looks at how much CPU and memory your running containers actually use versus what they asked for, and adjusts those requests up or down over time so the numbers stay realistic. This helps avoid wasting resources or hitting limits unexpectedly. It is currently in beta. The Addon Resizer is a simpler version of the vertical autoscaler that adjusts resource requests for a specific deployment based on how many servers are in the cluster, rather than on actual usage data. All three tools are written in Go and are part of the official Kubernetes project. They are infrastructure-level components meant for engineers or platform teams managing Kubernetes clusters, not end-user applications.

Copy-paste prompts

Prompt 1
Help me configure the Kubernetes Cluster Autoscaler for AWS EKS to automatically add nodes when my pods are unschedulable and remove idle ones after 10 minutes.
Prompt 2
Show me how to set up the Vertical Pod Autoscaler in recommendation mode so it suggests CPU and memory limits without automatically changing them.
Prompt 3
Write a Cluster Autoscaler configuration for Google GKE with a minimum of 2 nodes and maximum of 20 nodes per node pool.
Prompt 4
Explain the difference between Horizontal Pod Autoscaler and Vertical Pod Autoscaler and when I should use each one.
Open on GitHub → Explain another repo

← kubernetes on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.