aws / aws/containers-roadmap

[EKS] [Feature Request ]: Support for Image Streaming in EKS to Accelerate Large Container Image Pulls

Open
#2,448 3 comments 9 reactions 1 assignee Claimed by @jlbutler View on GitHub
ECR EKS Proposed
Dominant language
Shell
Stars
5.4k
Forks
334
PR merge metrics
No merged PRs in 30d

Description

## Feature Request: Support for Image Streaming in EKS to Accelerate Large Container Image Pulls

### Background:
In environments where large container images are used frequently, the time it takes to pull these images can significantly impact application startup times and cluster performance. In GKE (Google Kubernetes Engine), **Image Streaming** has been introduced to address this issue. With Image Streaming, container images are pulled on-demand as needed, rather than being fully downloaded before the container starts. This dramatically reduces startup times for large images, especially when applications don’t need the entire image at launch.

Here is the reference to GKE’s Image Streaming feature:
[Image Streaming in GKE](https://cloud.google.com/kubernetes-engine/docs/how-to/image-streaming)

### Request:
I would like to propose adding a similar feature to **Amazon EKS** that allows for **streaming container images** directly from registries. This feature would benefit users who work with large container images and need to improve their application startup times.

### Key Benefits:
- **Faster Pod Startup**: Containers can begin running sooner, reducing the impact of image pull times on deployment.
- **Optimized Network Usage**: Only the required layers or parts of the image are pulled initially, leading to more efficient bandwidth usage.
- **Improved Cluster Efficiency**: Large images would not block nodes while downloading, allowing workloads to be scheduled faster and cluster resources to be utilized more effectively.
- **faster scaling

### Current Workarounds:
Currently, users like myself have to implement workaround solutions, such as:
- Pre-pulling images using DaemonSets.
- Using SSH or cloud-init scripts to pull images on node boot.
- Caching images via other methods.

While these solutions work, they add complexity and introduce unnecessary overhead into the cluster setup. A native EKS feature similar to GKE Image Streaming would provide a clean, scalable, and efficient way to handle large container images in the cluster.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.