Kubernetesポッドで画像のプルを再試行するにはどうすればよいですか?


90

私はkubernetesを初めて使用します。ポッドに問題があります。コマンドを実行すると

 kubectl get pods

結果:

NAME                   READY     STATUS             RESTARTS   AGE
mysql-apim-db-1viwg    1/1       Running            1          20h
mysql-govdb-qioee      1/1       Running            1          20h
mysql-userdb-l8q8c     1/1       Running            0          20h
wso2am-default-813fy   0/1       ImagePullBackOff   0          20h

「wso2am-default-813fy」ノードの問題のため、再起動する必要があります。なにか提案を?

回答:


68

通常「ImagePullBackOff」の場合、数秒/分後に再試行されます。手動で再試行する場合は、古いポッドを削除して、ポッドを再作成できます。ポッドを削除して再作成するための1行のコマンドは次のとおりです。

kubectl replace --force -f <yml_file_describing_pod>

6
このポッドを管理するレプリケーションセット/コントローラーがある場合、新しいポッドは強制終了後に自動的に作成されます。
ヘム

^^絶対に。ポッドを殺せばそれが永久に消えてしまうとしたらとても心配です。
Damien Roche

3
kubectl replace --force -f ...削除して作成するのと同じだと思います
Oliver

1
デプロイでポッドを作成した場合は、ポッドを削除するだけで、新しいポッドが自動的に作成されます
Illidan

なぜ--forceオプションが必要なのですか?
mchawre


19
$ kubectl replace --force -f <resource-file>

すべてがうまくいけば、次のように表示されます。

<resource-type> <resource-name> deleted
<resource-type> <resource-name> replaced

この詳細は、執筆時点でのKubernetesのドキュメント、「manage-deployment」、kubectl-cheatsheetのページに記載されています。


ポッドのリソースファイルがどのように見えるかを知るにはどうすればよいですか?私は./pod.jsonファイルを見ましたが、リンクはテンプレートや類似のものについて言及していません
Dominique Paul

7

がまたはのPod一部であるDeployment場合Service、削除するとが再起動し、場合によってはPod別のノードに配置されます。

$ kubectl delete po $POD_NAME

replaceそれが個人の場合Pod

$ kubectl get po -n $namespace $POD_NAME -o yaml | kubectl replace -f -


2

ポッドを削除してみてください。画像をもう一度プルしようとします。

kubectl delete pod <pod_name> -n <namespace_name>


0

最初に、ポッドの何が問題かを確認してください。

kubectl logs -p <your_pod>

私の場合、それはYAMLファイルの問題でした。

したがって、構成ファイルを修正して置き換える必要がありました。

kubectl replace --force -f <yml_file_describing_pod>

0

ほとんどの場合、ImagePullBackOffの問題は、画像が存在しないか、ポッドYAMLファイルの問題が原因です。

私がやることはこれです

kubectl get pod -n $namespace $POD_NAME --export > pod.yaml | kubectl -f apply -

以前のポッドが機能しなかった理由を確認するために、pod.yamlも表示します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.