autoscale
Scaling Kubernetes Resources
Creates an autoscaler that automatically chooses and sets the number of pods that run in a kubernetes cluster.
Looks up a Deployment, ReplicaSet, StatefulSet, or ReplicationController by name and creates an autoscaler that uses the given resource as a reference. An autoscaler can automatically increase or decrease number of pods deployed within the system as needed.
Command
$ kubectl autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu-percent=CPU] [OR]
$ kubectl hpa (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu-percent=CPU] hpa stands for Horizontal Pod Autoscale
Example
Current State
$ kubectl get pods NAME READY STATUS RESTARTS AGE nginx-6db489d4b7-zcc8h 1/1 Running 0 5s Command
$ kubectl autoscale deployment nginx --min=2 --max=10 --cpu-percent=80 horizontalpodautoscaler.autoscaling/nginx autoscaled [OR]
$ kubectl hpa deployment nginx --min=2 --max=10 --cpu-percent=80 horizontalpodautoscaler.autoscaling/nginx autoscaled This will make sure to auto-scale horizontally when the CPU usage hits 80%.
Output
$ kubectl get pods NAME READY STATUS RESTARTS AGE nginx-6db489d4b7-2rrrm 1/1 Running 0 15s nginx-6db489d4b7-vxqwm 1/1 Running 0 53s Notice that the command has an arg that says --min=2, the deployment instantaniously auto-scales to 2 pods.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
Last modified September 23, 2020: docs update (b46eb86)