Skip to content

Speed up image pulls using IPFS #8186

@csweichel

Description

@csweichel

Is your feature request related to a problem? Please describe

Today we pull all images from a central registry. While this is the standard way, it can become a performance bottleneck when starting many different, possibly large images. We already optimise for layer re-use, yet image pull remains one of most time-consuming tasks during workspace startup.

One way we could try and improve the situation is by using IPFS to share layers across nodes within a cluster. This approach

We need to solve two paths:

  1. pushing layers into IPFS
  • nerdctl can push to IPFS. We could make the image-builder push to our local IPFS cluster once the image-builder lives on the workspace side. Pro: we just have to call a CLI as part of the image build. Downside: we need to give the image build workspaces access to our local cluster
  • registry facade can push layers on demand to IPFS (client libraries exist). Pro: straight forward caching implementation whereby IPFS becomes a mere optimisation. Downside: we have to implement this
  1. pulling layers from IPFS
  • the stargz snapshotter can pull from IPFS directly - registry-facade could add ipfs:// URLs to the manifest.
  • we could make registry-facade try and pull from IPFS, thereby providing a standard-compliant path towards the container runtime

Metadata

Metadata

Assignees

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions