-
Notifications
You must be signed in to change notification settings - Fork 3
Description
We've run into cases of the the MySQL pod being OOMKilled when using the default minikube configuration (2 GB memory). We don't set any resource requests or limits on our pods, which means Kubernetes assigns BestEffort QoS class to them:
When a Node runs out of resources, Kubernetes will first evict BestEffort Pods running on that Node, followed by Burstable and finally Guaranteed Pods. When this eviction is due to resource pressure, only Pods exceeding resource requests are candidates for eviction.
We should set resource requests on critical pods, like MySQL, Kafka, and Event API, so they fall under Burstable QoS and are less likely to get evicted. We don't need to set resource limits as this would risk the pods being killed if they exceed the limit.