私は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"ノードの問題により、再起動する必要があります。なにか提案を?
通常 "ImagePullBackOff"の場合、数秒/数分後に再試行されます。手動で再試行したい場合は、古いポッドを削除してポッドを再作成できます。ポッドを削除して再作成するための1行のコマンドは次のようになります。
kubectl replace --force -f <yml_file_describing_pod>
Yamlファイルがない場合
kubectl get pod PODNAME -n NAMESPACE -o yaml | kubectl replace --force -f -
$ kubectl replace --force -f <resource-file>
すべてうまくいけば、次のようになるはずです。
<resource-type> <resource-name> deleted
<resource-type> <resource-name> replaced
これについての詳細は、執筆時点でKubernetesのドキュメントの "manage-deployment"と kubectl-cheatsheet のページにあります。
Pod
がDeployment
またはService
の一部である場合、それを削除するとPod
が再起動され、場合によっては別のノードに配置されます。
$ kubectl delete po $POD_NAME
もしそれが個々のreplace
であればPod
:
$ kubectl get po -n $namespace $POD_NAME -o yaml | kubectl replace -f -
ポッドを削除してみてください。もう一度画像を取得しようとします。
kubectl delete pod <pod_name> -n <namespace_name>
まず、ポッドの何が問題になっているのかを確認してください。
kubectl logs -p <your_pod>
私の場合、YAMLファイルに問題がありました。
そのため、設定ファイルを修正して置き換える必要があります。
kubectl replace --force -f <yml_file_describing_pod>