How-To Implement CPU and Memory System Reservation for Kubernetes Nodes

Problem

You are observing CPU or memory constraints on your Kubernetes nodes and would like to implement systemReserved parameter to reserve some resources for the system processes.

Environment

  • Platform9 Managed Kubernetes - All Versions

  • Kubelet

Procedure

  1. Identify the worker kubelet configuration within the cluster.

# kubectl get cm -n kube-system
NAME                                 DATA   AGE
calico-config                        4      11d
coredns                              1      11d
dns-autoscaler                       1      11d
extension-apiserver-authentication   6      11d
kube-root-ca.crt                     1      11d
master-default-kubelet-config        1      11d
metrics-server-config                1      11d
worker-default-kubelet-config        1      11d
  1. Backup the original kubelet configuration configmap.

  1. Modify the default__kubelet configmap and add the systemReserved parameter.

Additional Information

  • As soon as the file is saved, the changes are automatically applied to all the existing worker nodes.

  • As a part of this change, the kubelet service on the worker node gets restarted.

Last updated