Skip to content

Custom controller to allow you to step-scale your workloads.

Notifications You must be signed in to change notification settings

danishprakash/kube-step-podautoscaler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Step Pod Autoscaler

Scales deployments in steps using HPA.

image

Refer controller/*controller.go for implementation details and explanation for a better understanding.

Example Run

For a config of kind:

deployment: nodeservice
goalReplicas: 10
stepSize: 2

The controller would operate like:

1.643009   INFO    controller.deployment   Fetched HPA, calculating desiredReplicas                        {"reconciler kind": "Deployment", "name": "nodeservice", "HPA": "nodeservice"}
1.6430+09  INFO    controller.deployment   Updating HPA                                                    {"reconciler kind": "Deployment", "name": "nodeservice", "namespace": "default", "HPA": "nodeservice", "min/max": 10}
1.6430+09  INFO    controller.deployment   HPA resourceVersion didn't match, requeuing request             { "reconciler kind": "Deployment", "name": "nodeservice", "namespace": "default"}
1.6430+09  INFO    controller.deployment   Deployment is waiting for pods to come up, skipping updates.    { "reconciler kind": "Deployment", "name": "nodeservice", "namespace": "default", "deployment": "nodeservice"}
1.6430+09  INFO    controller.deployment   Deployment is waiting for pods to come up, skipping updates.    { "reconciler kind": "Deployment", "name": "nodeservice", "namespace": "default", "deployment": "nodeservice"}
1.6430+09  INFO    controller.deployment   Deployment is waiting for pods to come up, skipping updates.    { "reconciler kind": "Deployment", "name": "nodeservice", "namespace": "default", "deployment": "nodeservice"}
1.6430+09  INFO    controller.deployment   Deployment is waiting for pods to come up, skipping updates.    { "reconciler kind": "Deployment", "name": "nodeservice", "namespace": "default", "deployment": "nodeservice"}
1.6430+09  INFO    controller.deployment   Deployment is waiting for pods to come up, skipping updates.    { "reconciler kind": "Deployment", "name": "nodeservice", "namespace": "default", "deployment": "nodeservice"}
1.643009   INFO    controller.deployment   Fetched HPA, calculating desiredReplicas                        { "reconciler kind": "Deployment", "name": "nodeservice", "namespace": "default", "HPA": "nodeservice"}
1.6430+09  INFO    controller.deployment   Updating HPA                                                    { "reconciler kind": "Deployment", "name": "nodeservice", "namespace": "default", "HPA": "nodeservice", "min/max": 10}
1.6430+09  INFO    controller.deployment   Fetched HPA, calculating desiredReplicas                        { "reconciler kind": "Deployment", "name": "nodeservice", "namespace": "default", "HPA": "nodeservice"}
1.6430+09  INFO    controller.deployment   Updating HPA                                                    { "reconciler kind": "Deployment", "name": "nodeservice", "namespace": "default", "HPA": "nodeservice", "min/max": 10
1.6430+09  INFO    controller.deployment   Deployment is waiting for pods to come up, skipping updates.    { "reconciler kind": "Deployment", "name": "nodeservice", "namespace": "default", "deployment": "nodeservice"}
1.6430+09  INFO    controller.deployment   Deployment is waiting for pods to come up, skipping updates.    { "reconciler kind": "Deployment", "name": "nodeservice", "namespace": "default", "deployment": "nodeservice"}
1.6430+09  INFO    controller.deployment   Deployment up to date, skipping further updates.                { "reconciler kind": "Deployment", "name": "nodeservice", "namespace": "default", "deployment": "nodeservice"}

About

Custom controller to allow you to step-scale your workloads.

Topics

Resources

Stars

Watchers

Forks