私はMacOS 10.12でミニクーブを使用しており、ドッカーハブでホストされているプライベートイメージを使用しようとしています。私はminikubeが私の知っている限り、私のローカルkubernetesクラスタの一意のノードであり、それは私のポッドをすべてホストするVMを起動することを知っています。ミニクーブを使用してドッカーハブからプライベートイメージを引き出す
eval $(minikube docker-env)
を実行して、VMのドッカーランタイムを使用することができます。だから私はそれらの変数を使用して私のローカルドッカーのランタイムから他のものに変更しました。 Running docker images
変更が効果的に行われたことがわかりました。
私の次のステップは、docker login
を使用してドッカーハブにログインし、手動でイメージをプルすることでしたが、これはエラーなしで終了しました。その後、私はイメージがクラスタのどのポッドでも使用できるようになると考えましたが、私はいつもImagePullBackOff
を得ています。私もminikube ssh
経由でVMにsshしようとした結果は同じですが、イメージが使用されるが、何らかの理由で私はそれを使用することを拒否しているのか分からない。
それが助け場合は、これは私の展開記述ファイルです:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: web-deployment
spec:
replicas: 1
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: godraude/nginx
imagePullPolicy: Always
ports:
- containerPort: 80
- containerPort: 443
そして、これはkubectl describe pod <podname>
の出力です:
Events:
FirstSeen LastSeen Count From SubobjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
1m 1m 1 {default-scheduler } Normal Scheduled Successfully assigned web-deployment-2451628605-vtbl8 to minikube
1m 23s 4 {kubelet minikube} spec.containers{nginx} Normal Pulling pulling image "godraude/nginx"
1m 20s 4 {kubelet minikube} spec.containers{nginx} Warning Failed Failed to pull image "godraude/nginx": Error: image godraude/nginx not found
1m 20s 4 {kubelet minikube} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "nginx" with ErrImagePull: "Error: image godraude/nginx not found"
1m 4s 5 {kubelet minikube} spec.containers{nginx} Normal BackOff Back-off pulling image "godraude/nginx"
1m 4s 5 {kubelet minikube} Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "nginx" with ImagePullBackOff: "Back-off pulling image \"godraude/nginx\""