ErrImagePull on kubernetes

2/9/2018

I suffer from this error when I deploy a pod.

  • the image lies on google container registry within the same project as the cluster

  • i can pull the image from the registry on my local computer

  • i cannot pull the image if I ssh into the instance

From the docs it states that this should work out of the box. I checked and storage read access is indeed there.

Here's the config:

apiVersion: v1
kind: ReplicationController
metadata:
  name: luigi
spec:
  replicas: 1
selector:
  app: luigi
template:
  metadata:
    name: luigi
    labels:
      app: luigi
  spec:
    containers:
    - name: scheduler
      image: eu.gcr.io/bi/luigi/scheduler:latest
      command: ['/usr/src/app/run_scheduler.sh']
    - name: worker
      image: eu.gcr.io/bi/luigi/scheduler:latest
      command: ['/usr/src/app/run_worker.sh']

Describe gives me:

Failed to pull image "eu.gcr.io/bi/luigi/scheduler:latest": rpc error: code = Unknown desc = Error response from daemon: repository eu.gcr.io/bi/luigi/scheduler not found: does not exist or no pull access
-- shredding
google-compute-engine
kubernetes

1 Answer

5/1/2018

From the error message, it seems to be caused by the absence of the credentials to download the image from the docker registry. Please note that this access credentials are "client specific". In this case, when kubernetes (kubelet to be specific) is the client and it needs the imagepullsecret to present the necessary credentials.

Please add the imagepullsecret with required credentials and it should work

-- pr-pal
Source: StackOverflow