Skip to content

A sample project showcasing the implementation of Vertical Pod Autoscaler.

License

Notifications You must be signed in to change notification settings

jhandguy/vertical-pod-autoscaler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vertical Pod Autoscaler

A sample project showcasing the implementation of Vertical Pod Autoscaler.

Blog Post

Installing

Autoscaling without Pod Disruption Budget

kind create cluster --image kindest/node:v1.27.3 --config=kind/cluster.yaml

helm repo add jetstack https://charts.jetstack.io
helm install jetstack/cert-manager --name-template cert-manager --create-namespace -n cert-manager --values kind/cert-manager-values.yaml --version 1.13.2 --wait

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm install ingress-nginx/ingress-nginx --name-template ingress-nginx --create-namespace -n ingress-nginx --values kind/ingress-nginx-values.yaml --version 4.8.3 --wait

helm repo add metrics-server https://kubernetes-sigs.github.io/metrics-server
helm install metrics-server/metrics-server --name-template metrics-server --create-namespace -n metrics-server --values kind/metrics-server-values.yaml --version 3.11.0 --wait

helm install helm-chart --name-template vertical-pod-autoscaler --create-namespace -n vertical-pod-autoscaler --wait

helm install sample-app/helm-chart --name-template sample-app --create-namespace -n sample-app --wait

Autoscaling with Pod Disruption Budget

kind create cluster --image kindest/node:v1.27.3 --config=kind/cluster.yaml

helm repo add jetstack https://charts.jetstack.io
helm install jetstack/cert-manager --name-template cert-manager --create-namespace -n cert-manager --values kind/cert-manager-values.yaml --version 1.13.2 --wait

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm install ingress-nginx/ingress-nginx --name-template ingress-nginx --create-namespace -n ingress-nginx --values kind/ingress-nginx-values.yaml --version 4.8.3 --wait

helm repo add metrics-server https://kubernetes-sigs.github.io/metrics-server
helm install metrics-server/metrics-server --name-template metrics-server --create-namespace -n metrics-server --values kind/metrics-server-values.yaml --version 3.11.0 --wait

helm install helm-chart --name-template vertical-pod-autoscaler --create-namespace -n vertical-pod-autoscaler --wait

helm install sample-app/helm-chart --name-template sample-app --set podDisruptionBudget.enabled=true --create-namespace -n sample-app --wait

Smoke Testing

curl localhost/success -H "Host: sample.app" -v
curl localhost/error -H "Host: sample.app" -v

Load Testing

k6 run k6/script.js

Uninstalling

kind delete cluster