Split between kubeResources and systemResources

Hello team,

As per this doc, certain amount of resources such as CPU and memory are system reserved. But, there is no mention about kube reservation. Is there any way to provide the kube-reservation for GKE nodes? Does GKE guarantee that kube daemons like kubelet continue running even if the kube-reservation is not done?

Reference:

  1. Reserve Compute Resources for System Daemons | Kubernetes

Hello @sathyanarayana4 ,

Welcome to Google Cloud Community!

You’re correct Kubernetes itself does not have a direct configuration option for “kube-reservation” because GKE uses a managed environment meaning Google Cloud Platform takes care of the underlying infrastructure and resource allocation. This includes ensuring that kube Daemons like "kubelet" have sufficient resources to run smoothly.

It ensures that it has the resources they need to operate correctly. Here are some of the breakdowns:

  • Managed by Google Kubernetes : GKE automatically sets aside a certain amount of CPU and memory for system daemons based on the node’s machine type. This default allocation is generally sufficient for normal operation.
  • Cluster Autoscaler : GKE uses the Cluster Autoscaler to manage resources dynamically. It scales node pools up or down based on resource needs, which helps to ensure that there are always enough resources available for both your workloads and system components.

If you have specific concerns or issues with resource allocation you may consider Resource Requests and limits for your workloads that might also be helpful. You may refer to this Scale container resource requests and Resource and limits for additional information.

I hope the above information is helpful.

1 Like
kubeReserved:
  cpu: 590m
  ephemeral-storage: 100Gi
  memory: 45098Mi

This is the configuration from one of the GCP cluster that we have. The kubelet configuration has only kubeReserved set. The systemReserved is not set. Does GCP ensure that OS/system services are uninterrupted when the system is under load even of systemReserved is not set?