2016-10-26 29 views
28

我是kubernetes的新手。我在豆莢裏有個問題。當我運行命令如何重新啓動kubernetes Pods?

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默認-813fy」 節點的問題,我需要重新啓動它。任何建議?

回答

22

通常情況下,「ImagePullBackOff」會在幾秒/分鐘後重試。如果您想手動重試,可以刪除舊的吊艙並重新創建吊艙。

kubectl delete pods wso2am-default-813fy 
kubectl create -f <yml_file_describing_pod> 
+1

你救了我的一天:)謝謝 –

+1

如果你有複製集/控制器來管理這個吊艙,一個新的吊艙應自動創建後殺了它。 – Hem

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

,如果一切順利的話,你應該看到:這

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

細節可以在K8S找到docco, 「管理部署」 和 「kubectl-的cheatsheet」寫作時的頁面。

81

在不具有YAML文件的情況下:

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

+0

這是一個巧妙的把戲 – noamt