[ 
https://issues.apache.org/jira/browse/YUNIKORN-3088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17986835#comment-17986835
 ] 

Wilfred Spiegelenburg commented on YUNIKORN-3088:
-------------------------------------------------

We need to track all pods from other namespaces as the pods tracked define the 
usage on the nodes. A node in K8s does not expose the amount of resources 
already allocated to other pods. If we do not track all pods YuniKorn might 
think a node is empty when it just runs non YuniKorn scheduled pods. If 
YuniKorn assigns a pod to a node like that, the node admission process could 
reject the pod with an OutOfmemory or OutOfcpu state.

We track the non YuniKorn pods and assign them to a node to make sure the usage 
counters are correct. We moved away from hiding that in occupied resources and 
expose more detail directly in the core. The overhead of it is minimal but the 
insight you get is far better.

I would say this is working as expected.

> admissionController.filtering.processNamespaces doesn't appear to work 
> correctly
> --------------------------------------------------------------------------------
>
>                 Key: YUNIKORN-3088
>                 URL: https://issues.apache.org/jira/browse/YUNIKORN-3088
>             Project: Apache YuniKorn
>          Issue Type: Bug
>            Reporter: Jordan Zimmerman
>            Priority: Major
>             Fix For: 1.6.3
>
>
> We want YuniKorn to operate on only 1 namespace so we are setting 
> {{admissionController.filtering.processNamespaces}} in {{yunikorn-configs}} 
> to that namespace. However I see in the YuniKorn logs {{Adding occupied 
> resources to node}} for pods in other namespaces. Why is this? Is this 
> expected? Are we doing something wrong? (note: we have the Admission 
> controller disabled via Helm chart value).
> E.g. the following pods/namespace should not be managed
> {code}
> 2025-06-11T08:05:22.304Z      INFO    shim.cache.external     
> external/scheduler_cache.go:311 Adding occupied resources to node       
> {"nodeID": "k3d-test-agent-0", "namespace": "starburst-spark", "podName": 
> "h-history-m-796bdc4d7c-zdpmb", "occupied": "resources:{key:\"memory\"  
> value:{value:524288000}}  resources:{key:\"pods\"  value:{value:1}}  
> resources:{key:\"vcore\"  value:{value:500}}"}
> 2025-06-11T08:05:22.304Z      INFO    shim.cache.external     
> external/scheduler_cache.go:311 Adding occupied resources to node       
> {"nodeID": "k3d-test-agent-0", "namespace": "starburst-spark", "podName": 
> "prometheus-kube-prometheus-stack-prometheus-0", "occupied": 
> "resources:{key:\"pods\"  value:{value:1}}"}
> 2025-06-11T08:05:22.304Z      INFO    shim.cache.external     
> external/scheduler_cache.go:311 Adding occupied resources to node       
> {"nodeID": "k3d-test-agent-0", "namespace": "starburst-sep", "podName": 
> "coordinator-7fc569ddbf-dn7f8", "occupied": "resources:{key:\"memory\"  
> value:{value:3221225472}}  resources:{key:\"pods\"  value:{value:1}}  
> resources:{key:\"vcore\"  value:{value:500}}"}
> 2025-06-11T08:05:22.304Z      INFO    shim.cache.external     
> external/scheduler_cache.go:311 Adding occupied resources to node       
> {"nodeID": "k3d-test-server-0", "namespace": "starburst-spark", "podName": 
> "starburst-spark-job-manager-7b8fb4bd65-jgjzs", "occupied": 
> "resources:{key:\"pods\"  value:{value:1}}"}
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@yunikorn.apache.org
For additional commands, e-mail: issues-h...@yunikorn.apache.org

Reply via email to