I have 3 nodes kubernetes cluster managing with kubeadm. Previously i used kind and minikube. When I wanted make deployment based on docker image i just need make:
- kind load docker-image in kind or,
- minikube cache add in minikube,
Now, when I want make deployment in kubeadm I obviously get ImagePullBackOff. Question: Is a equivalent comment do add image to kubeadm and I can't find it, or there is entirely other way to solve that problem?
Maybe, question is not clear enough, so instead of delete it I try to put more details.
I have tree nodes (one control plane, and two workers) with docker, kubeadm, kubelet and kubectl installed on each. One deployment of my future cluster is machine learning module so I need tensorflow:
docker pull tensorflow/tensorflow
Using this image I build my own:
docker build -t mlimage:cluster -f ml.Dockerfile .
Next I prepare deployment.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: mldeployment spec: selector: matchLabels: app: mldeployment name: mldeployment replicas: 1 template: metadata: labels: app: mldeployment name: mldeployment spec: containers: - name: mlcontainer image: mlimage:cluster imagePullPolicy: Never ports: - name: http containerPort: 6060
and create it:
kubectl create -f mldeployment.yaml
Now, when I type
kubectl describe pod
In mldeployment are these events:
In that case of minikube or kind it was enought to simply add image to cluster typing
minikibe cache add ...
kind load docker-image ...
Question is how to add image from my machine to cluster in case of managing it from kubeadm. I assume that there is similar way to do that like for minikube or kind (without creating any connection to docker hub, because everything is locally).