2017-09-08 45 views
2

内容器我有一个吊舱test-1495806908-xn5jn带2升的容器。我想重新启动其中一个名为container-test。是否有可能重新启动一个容器中的单个容器,以及如何?如果不是,我该如何重新启动pod?kubernetes重启荚

kubectl create -f deployment.yaml 
+0

你是如何创建的荚? – oe18

+0

已编辑:kubectl create -f deployment.yaml – s5s

回答

4

是否有可能重新启动一个容器

不通过kubectl,虽然取决于群集的设置:

的吊舱使用deployment.yaml与创建你可以“欺骗”和docker kill the-sha-goes-here,这将导致kubelet重启“失败”容器(假设,当然,吊舱重启的政策说,这是它应该做的)

我怎么重启荚

这取决于波德是如何创建的,但根据您所提供的窗格名称,这似乎是一个ReplicaSet的监督下,让你可以kubectl delete pod test-1495806908-xn5jn和kubernetes将建立在其设立一个新的(新的吊舱将有一个不同的名称,所以不要指望kubectl get pods以后再返回test-1495806908-xn5jn

+0

默认的重新启动策略始终是重新启动 – Hem

1

的全部理由有kubernetes是那么它所管理的容器,你所以你不必太在乎容器中容器的生命周期。

既然你有一个deployment设置使用replica set。您可以使用kubectl delete pod test-1495806908-xn5jn删除吊舱,并且kubernetes将管理2个容器的新吊舱的创建,而无需任何停机时间。尝试手动重新启动单个容器时,会忽略kubernetes的全部好处。

2

有些情况下,您希望重新启动特定容器而不是删除该容器并让Kubernetes重新创建该容器。

做了kubectl exec POD_NAME -c CONTAINER_NAME reboot为我工作。