How to use Burstable pods on Autopilot GKE?

228 Views Asked by At

I don't manage to create burstable (or besteffort) pods on my Autopilot GKE cluster.

When I follow the documentation to create a burstable pod, and copy paste the example, it creates a Guaranteed pod. However I have to remove the spec.nodeSelector and spec.tolerations settings of the example as they are optional, and don't seem to work.

My cluster is a few days old and runs K8S 1.28.5 with the default settings. I think I'm missing something.

2

There are 2 best solutions below

0
e741af0d41bc74bf854041f1fbdbf On BEST ANSWER

Google updated their documentation and it now requires a more recent GKE version on the "rapid" channel.

I updated my cluster and it now works.

3
Srividya On

GKE Autopilot silently overwrites limits with the requests, there’s no visible warnings.

As said, In an Autopilot cluster, each Pod is treated as a Guaranteed QoS Class Pod, with limits that are equal to requests. Autopilot automatically sets resource limits equal to requests if you do not have resource limits specified. If you do specify resource limits, your limits will be overridden and set to be equal to the requests.

So, you are getting a guaranteed pod even though you have created a burstable pod. However, Autopilot adds an autopilot.gke.io/resource-adjustment annotation on the Deployment when a resource config is overridden. Therefore, if you set the requests and the limits are not set/requests are less than the limits, then the pods can burst into available bursting capacity.

Please refer to the document for setting resource limits in autopilot.

EDIT:

I have reproduced the usecase that has been given in documentation. After deploying the burstable pod.yaml, I am getting the Guranteed QoS class for the burstable pod deployment which is incorrect. For this you can create a new public issue tracker(PIT) stating that the example in the document is giving false output.enter image description here

In case you want to report a new issue, please do not hesitate to create a new Issue Tracker thread describing your issue. The Google Engineering team will validate the issue.

Note : The Issue Tracker is a forum for end users to report platform-wide bugs and request features to improve google cloud products.