繁体   English   中英

将容器悬挂在kubernetes吊舱中

[英]Suspending a container in a kubernetes pod

我想暂停在kubernetes pod中运行的docker容器中的主进程。 我试图通过跑步来做到这一点

kubectl exec <pod-name> -c <container-name> kill -STOP 1

但信号不会阻止容器。 调查其他方法,看起来像docker stop --signal=SIGSTOPdocker stop --signal=SIGSTOP docker pause可能会起作用。 但是,据我所知,kubectl exec总是在容器的上下文中运行,并且这些命令需要在容器上下文之外的pod中运行。 kubectl的界面是否允许这样的东西? 我可以通过调用底层kubernetes API来实现这种行为吗?

您可以将replicaset设置为0,这会将工作部署的数量设置为0.这不是一个暂停,但它确实停止部署,直到您将部署数设置为> 0。

kubectl scale --replicas=0 deployment/<pod name> --namespace=<namespace>

所以kubernetes不支持暂停pod,因为它是一种VM类型的行为,并且因为开始新的更便宜它只是在发生故障时安排新的pod。 实际上你的豆荚应该是无国籍的。 并且任何需要存储状态的应用程序都应该在pod中安装持久卷。

Kubernetes的简单机制(和一般行为)是如果包含者内部的过程失败,那么kuberentes将通过创建一个新的pod来重新启动它。

如果你也评论你想要达到的最终目标,我想我可以帮助你更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM