it-swarm.com.ru

Как повторить попытку вытягивания изображения в стручках кубернетес?

Я новичок в 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" мне нужно перезапустить его. Любое предложение?

74
Dilshani Subasinghe

Обычно в случае "ImagePullBackOff" повторяется через несколько секунд/минут. Если вы хотите повторить попытку вручную, вы можете удалить старый модуль и создать его заново. Однострочная команда для удаления и воссоздания модуля будет:

kubectl replace --force -f <yml_file_describing_pod>
54
Ayon Nahiyan

В случае отсутствия файла yaml:

kubectl get pod PODNAME -n NAMESPACE -o yaml | kubectl replace --force -f -

201
Maciek Sawicki
$ kubectl replace --force -f <resource-file>

если все идет хорошо, вы должны увидеть что-то вроде:

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

подробности об этом можно найти в документации Kubernetes, на страницах "manage-deploy" и kubectl-cheatsheet на момент написания статьи.

19
eversMcc

Если Pod является частью Deployment или Service, его удаление перезапустит Pod и, возможно, поместит его на другой узел:

$ kubectl delete po $POD_NAME

replace это, если это индивидуальное Pod:

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

6
Carlos Nunez

Сначала попытайтесь понять, что не так со стручком:

kubectl logs -p <your_pod>

В моем случае это была проблема с файлом YAML.

Итак, мне нужно исправить файл конфигурации и заменить его:

kubectl replace --force -f <yml_file_describing_pod>
0
edubriguenti