Caching images for faster workspace start

To improve the start time performance of Che workspaces, use the Image Puller. The Image Puller is an additional Kubernetes or OpenShift deployment. It creates a DaemonSet downloading and running the relevant container images on each node. These images are already available when a Che workspace starts.

The Image Puller provides the following parameters for configuration. The underlying platform determines the installation method.

Table 1. Image Puller parameters
Parameter Usage Default

CACHING_INTERVAL_HOURS

DaemonSets health checks interval in hours

"1"

CACHING_MEMORY_REQUEST

The memory request for each cached image when the puller is running. See Defining the memory parameters for the Image Puller.

10Mi

CACHING_MEMORY_LIMIT

The memory limit for each cached image when the puller is running. See Defining the memory parameters for the Image Puller.

20Mi

CACHING_CPU_REQUEST

The processor request for each cached image when the puller is running

.05 or 50 millicores

CACHING_CPU_LIMIT

The processor limit for each cached image when the puller is running

.2 or 200 millicores

DAEMONSET_NAME

Name of DaemonSet to create

kubernetes-image-puller

DEPLOYMENT_NAME

Name of the Deployment to create

kubernetes-image-puller

NAMESPACE

Kubernetes namespace or OpenShift project containing DaemonSet to create

k8s-image-puller

IMAGES

Semicolon separated list of images to pull, in the format <name1>=<image1>;<name2>=<image2> See Defining the list of images to pull.

NODE_SELECTOR

Node selector to apply to the Pods created by the DaemonSet

'{}'

AFFINITY

Affinity applied to pods created by the DaemonSet

'{}'

IMAGE_PULL_SECRETS

List of image pull secrets, in the format pullsecret1;…​ to add to pods created by the DaemonSet. Those secrets need to be in the image puller’s namespace and a cluster administrator must create them.

""