kubectl not able to pull the image from private repository

sitakant picture sitakant · Feb 16, 2017 · Viewed 36.8k times · Source

I am running kubeadm alpha version to set up my kubernates cluster. From kubernates , I am trying to pull docker images which is hosted in nexus repository. When ever I am trying to create a pods , It is giving "ImagePullBackOff" every time. Can anybody help me on this ?

Detail for this are present in https://github.com/kubernetes/kubernetes/issues/41536

Pod definition :

apiVersion: v1
kind: Pod
metadata:
  name: test-pod
  labels:
    name: test
spec:
  containers:
    - image: 123.456.789.0:9595/test
      name: test
      ports:
        - containerPort: 8443
  imagePullSecrets:
    - name: my-secret

Answer

Janos Lenart picture Janos Lenart · Feb 16, 2017

You need to refer to the secret you have just created from the Pod definition.

When you create the secret with kubectl create secret docker-registry my-secret --docker-server=123.456.789.0 ... the server must exactly match what's in your Pod definition - including the port number (and if it's a secure one then it also must match up with the docker command line in systemd).

Also, the secret must be in the same namespace where you are creating your Pod, but that seems to be in order.