When running a job with a fairly large image (few GBs) transition time from SCHEDULED to RUNNING takes about 6 mins.
When enabling container runnable image streaming with enableImageStreaming I don’t really observe any difference in startup time. What is the expected improvement?
When describing the job the only change I observe is an extra label is added
The improvement of enableImageStreaming comes from accessing files in the container image without waiting for the whole image being pulled. Therefore, it depends on access pattern. Does your task use most content in the container is relatively short time (which will see less benefits)?
Images with empty layers or duplicate layers are not supported.
You might not notice the benefits of Image streaming during the first pull of an eligible image. However, after Image streaming caches the image, future image pulls on any jobs benefit from Image streaming.
Besides, there is a image pulling log which is specifically for Image Streaming in the Cloud Logging. An example format is
If image streaming is not met, we will fall back pulling images without image streaming. Currently, the most straight forward way checking if the image is streamed or not is by the VM system log.
journalctl -u snapshotter
The above command will give you logs if your image is streamed. Something like
image xxx is backed by image streaming
We have logging improvement in our backlog to make all image streaming info more accessible though the cloud logging.