Recently I faced an issue while working Kubernetes cluster. I was trying to build docker image from local repository to test some changes in production before we merge the code. After building the docker image and recreating the container it was showing ImagePullBackOff error when I check the status with
kubectl get pods
In this blog I am going to mention the possible cause for this error and will explain the resolution which worked for me.
In a Kubernetes, there’s an agent on for node which is called kubelet. This is responsible for running containers in the nodes. For some reason if image can't be pulled the kublet will throw ImagePullBackOff error.
There are some possible reasons for this when kubectl is not able to pull image from mentioned registry.
Either image or tag is not available.
The name of the image or tag is wrong in deployment yaml file
kubectl does not have access to image registry.
In my case there was no such issues mentioned above. The image with tag was there. I have specified the correct name in deployment yaml file and because it was a local registry, there was no need of authentication.
So here is how I solved this issue. I set image pull policy to following value in my deployment yaml file.