1

I'm running the Kubernetes VPA on a GKE project. It has Vertical Pod Autoscaling enabled and I've run the vpa-up.sh script from their Github VPA.

Furthermore, the pods running are JupyterHub notebook servers, which has been setup following: Zero to Jupyterhub with Kubernetes. They are created with 200m CPU limit and 100m CPU request:

As a test, I'm running an infinite for loop, printing the value every time, to get the CPU running.

When running the for loop in a notebook, the CPU usage quickly reaches the limit of 200m CPU. However the VPA never performs a scale, despite the updateMode being Auto. I've tried setting a minAllowed for the VPA, but that still doesn't trigger a rescale.

  ...
  resourcePolicy:
    containerPolicies:
    - containerName: '*'
      minAllowed:
        cpu: 400m

So when describing the pod and autoscaler, the output shows:

NAME             CPU(cores)   MEMORY(bytes)   
jupyter-pytest   1m           411Mi
  ...
  recommendation:
    containerRecommendations:
    - containerName: jupyter-pytest
      lowerBound:
        cpu: 400m
        memory: 500Mi
      target:
        cpu: 400m
        memory: 500Mi
      uncappedTarget:
        cpu: 25m
        memory: 262144k
      upperBound:
        cpu: 400m
        memory: "951510605"

How come it doesn't perform a scale, despite the usage being below the lowerBound?

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.