mrunalp/ocid

Do we need a CAS for images on the kubelet?

Opened this issue · 5 comments

The flow I'm thinking of (this is a subset of point 1) and 2) from #6):

  1. KubeletGenericRuntimeManager->PullImage
  2. ocid->PullImage
  3. PullImage->containers/image->GetImage (provides ReaderCloser to containers/storage)
  4. StoreImage (with containers/storage) to be later used by containers/storage to setup rootfs for containers
  5. [...]
  6. Later in the flow in ocid containers/storage will use the previously stored image to setup rootfs and such

Now the hard points are 3) and 4).

Point 3: What do we mean by GetImage? what do we get? Layers blobs + Config? what about the config? should it be saved along with the Manifest or should be later queried when running a container?

Point 4: containers/storage uses the readers from containers/image and save them on disk somehow - and here come a CAS or some image storage (CAS wise, /cc @sgotti)

/cc @mrunalp @nalind @rhatdan

@runcom

Point 3: What do we mean by GetImage? what do we get? Layers blobs + Config? what about the config? should it be saved along with the Manifest or should be later queried when running a container?

I think we should get the layers as well as config.

Later in the flow containers/image will use the previously stored image to setup rootfs and such

Can't we do this in ocid instead calling into containers/storage instead of containers/image calling into containers/storage?

Can't we do this in ocid instead calling into containers/storage instead of containers/image calling into containers/storage?

yup sorry if it wasn't clear that ocid will be the wrapper like, first containers/image, then containers/storage in ocid (I fixed the first comment)

I think we should get the layers as well as config.

right basically, like Docker sigh does already - later we probably need something to actually parse the config and provide a Config struct like the one in containers/image#36

So the main stuff still stands, which is how to structure the storage on disk for images

Right @nalind is working on something similar for the atomic command, so we need to coordinate these efforts together.