amazon-eks-ami icon indicating copy to clipboard operation
amazon-eks-ami copied to clipboard

Reflecting actual available ephemeral-storage for nodes

Open mirajranpura opened this issue 2 years ago • 1 comments

Description of changes: By default the OS+k8s components consumes at-least 2+Gi on any empty node. Having the default values of KubeReserved:ephemeral-storage set to 1Gi, leads to disk-pressure for pods heavily relying on ephemeral storage while the allocatable presented by kubelet is not exactly same as the OS free-available disk.

Impact Adjusting KubeReserved:ephemeral-storage to 3Gi, not only provides the actual usable blocks to k8s but also helps to skip the user-data script modification out of box use case eg managed node group.

Example: An empty worker node with 20 GB disk

df -hk /
Filesystem              1K-blocks     Used          Available    Use%   Mounted on
/dev/nvme0n1p1          20959212      4297520       16661692     21%    / 

Testing Done

Case 1 (current): ephemeral-storage with 1Gi

kubectl describe ip-172-31-x-x.ec2.internal  
...
Allocatable:
...
  ephemeral-storage:            18242267924
...

Case 2 (Requesting with this pull): ephemeral-storage with 3Gi

kubectl describe ip-172-31-x-x.ec2.internal  
...
Allocatable:
...
  ephemeral-storage:             16094784276
...

Issue #, if available: https://github.com/aws/containers-roadmap/issues/1847

mirajranpura avatar Dec 13 '22 11:12 mirajranpura