The Kubernetes Image Puller can be installed using Helm.
-
The
helmbinary -
An OpenShift or Kubernetes cluster to install to
-
The
ocor thekubectlbinaryIn the instructions below, use the occommand when installing on OpenShift and thekubectlcommand for installing on Kubernetes.
The following parameters are available for configuring the installation with Helm:
| Value | Usage | Default |
|---|---|---|
|
The value of |
|
|
The repository to pull the image from |
|
|
The image tag to pull |
|
|
The name of the ServiceAccount to create |
|
|
The name of the ConfigMap to create |
|
|
The value of |
|
|
The value of |
|
|
The value of |
|
|
The value of |
|
Installing
-
Clone the
kubernetes-image-pullerrepository:$ git clone https://github.com/che-incubator/kubernetes-image-puller $ cd kubernetes-image-puller
-
Create a namespace to deploy the puller into:
$ oc create namespace k8s-image-puller
-
Run
helm install:$ helm install kubernetes-image-puller --namespace k8s-image-puller deploy/helm
To set values, edit the
deploy/helm/values.yamlfile, or use the--set property.name=<value>parameter.
Verifying the installation
-
Confirm that a new deployment,
kubernetes-image-puller, and a DaemonSet (named based on the value of theDAEMONSET_NAMEparameter) exist. The DaemonSet needs to have a Pod for each node in the cluster:$ oc get deployment,daemonset,pod --namespace k8s-image-puller NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/kubernetes-image-puller 1/1 1 1 4m21s NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/kubernetes-image-puller 3 3 3 3 3 <none> 3m40s NAME READY STATUS RESTARTS AGE pod/kubernetes-image-puller-b556c8bd4-qxwwl 1/1 Running 0 4m21s pod/kubernetes-image-puller-glh87 3/3 Running 0 3m40s pod/kubernetes-image-puller-h7lxf 3/3 Running 0 3m40s pod/kubernetes-image-puller-nrt6p 3/3 Running 0 3m40s -
Check that the
ConfigMapnamedk8s-image-pullerhas the values specified in the Helm configuration, or that they contain the default values:$ oc get configmap k8s-image-puller --output yaml apiVersion: v1 data: CACHING_INTERVAL_HOURS: "1" CACHING_MEMORY_LIMIT: 20Mi CACHING_MEMORY_REQUEST: 10Mi DAEMONSET_NAME: kubernetes-image-puller IMAGES: java11-maven=quay.io/eclipse/che-java11-maven:nightly; che-theia=eclipse/che-theia:next; java-plugin-runner=eclipse/che-remote-plugin-runner-java8:latest; NAMESPACE: k8s-image-puller NODE_SELECTOR: '{}' kind: ConfigMap metadata: creationTimestamp: "2020-02-17T22:15:22Z" name: k8s-image-puller namespace: k8s-image-puller resourceVersion: "3078" selfLink: /api/v1/namespaces/k8s-image-puller/configmaps/k8s-image-puller uid: 71bc5ce4-d095-468e-ab7b-23c1e0a36638