-
Notifications
You must be signed in to change notification settings - Fork 313
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Windows Nodes Don't Currently Support Out of Memory Eviction (OOMKILL) #2820
Comments
Hi ojfw20, AKS bot here 👋 I might be just a bot, but I'm told my suggestions are normally quite good, as such:
|
Triage required from @Azure/aks-pm |
/sig windows |
@immuzz, @justindavies would you be able to assist? Issue DetailsWhat happened: Pods fail to start on a Windows nodepool after resource demands increase past node capacity. Pods on a Windows node also start paging to disk when the node runs out of memory. What you expected to happen: OOMKill feature triggers scheduling of pods on a node with free memory, allowing pods to start as expected. How to reproduce it (as minimally and precisely as possible): Overallocate a Windows node with pods, trigger pods to request more memory than the node can provide. Anything else we need to know?: We have been informed that OOMKill is not support on Windows nodes. This seems to be a gaping hole in the feasibility of using Windows nodepools for any sort of elastic scalability. We would like to see OOMKill supported on Windows nodepools. https://kubernetes.io/docs/setup/production-environment/windows/intro-windows-in-kubernetes/#kubelet-compatibility agrees, and states that:
Environment:
|
Hi! Any update on this? |
I think that this needs upstream support. cc @allyford |
bump @allyford |
Reference kubernetes/kubernetes#119184 |
Based on the update here, creating a separate feature request specifically for adding the new kubelet parameters from upstream into AKS. See #4068 |
Closing this issue. Upstream investigations of node conditions that lead to evictions can be found here: kubernetes/kubernetes#119184 Now that upstream has supported memory based eviction for windows, using #4068 for tracking |
What happened: Pods fail to start on a Windows nodepool after resource demands increase past node capacity. Pods on a Windows node also start paging to disk when the node runs out of memory.
What you expected to happen: OOMKill feature triggers scheduling of pods on a node with free memory, allowing pods to start as expected.
How to reproduce it (as minimally and precisely as possible): Overallocate a Windows node with pods, trigger pods to request more memory than the node can provide.
Anything else we need to know?: We have been informed that OOMKill is not support on Windows nodes. This seems to be a gaping hole in the feasibility of using Windows nodepools for any sort of elastic scalability. We would like to see OOMKill supported on Windows nodepools.
https://kubernetes.io/docs/setup/production-environment/windows/intro-windows-in-kubernetes/#kubelet-compatibility agrees, and states that:
The (Windows) kubelet does not take OOM eviction actions
Eviction by using --enforce-node-allocable is not implemented
Eviction by using --eviction-hard and --eviction-soft are not implemented
Environment:
kubectl version
): 1.21.7The text was updated successfully, but these errors were encountered: