TCA3.2
TKG 2.5.2
The issue is driven by Resource Saturation coupled with Strict Scheduling Constraints:
To resolve this issue, increase the available "Allocatable" memory or relax the scheduling constraints.
Review the memory requests of the large application pods saturating the node.
Identify the pod consuming the reservation:
kubectl get pods -A -o custom-columns=NAME:.metadata.name,MEM_REQ:.spec.containers[*].resources.requests.memory
If the application does not functionally require the full reservation (e.g., 92GB), update the Deployment/StatefulSet YAML to reduce resources.requests.memory to a value that reflects actual requirements.
If the application legitimately requires the high memory reservation:
Increase the memory allocated to the Worker Node VMs.
Ensure that the new memory size is: Required Application Memory + System Overhead (Kubelet/OS) + DaemonSet Requests.
If the Pending pods do not strictly need to be on the saturated node:
Review the nodeAffinity or nodeSelector in the Pod spec.
Relax the constraints to allow these pods to schedule on other nodes among available in the cluster.
For more information on how Kubernetes calculates available memory, see Reserve Compute Resources for System Daemons.