我在k8s中部署了一个包含单个容器的部署,该容器在它完成工作时退出。默认情况下,k8s会重新启动容器。
我想在出口处重新创建容器(或整个Pod)。这项工作涉及到容器中的许多临时文件和其他更改,当容器退出时应该丢弃这些文件和从图像中创建的新容器。
如何配置部署(或其他工作负载),以便重新创建退出的容器,或者使整个容器退出并重新创建?
有一个restartPolicy设置,但为了进行部署,它不得不使用Always。这里似乎有一个maxRetries设置,但我找不到它的文档或任何示例。我不知道还能找什么。
发布于 2021-04-19 04:13:26
使用工作 API对象可能会有所帮助。如果在一个restartPolicy=Never中使用Job,那么每当运行在Pod容器中的进程退出时,由Job管理的Pods都会重新启动。使用restartPolicy=Always只会重新启动/重新创建容器,而不会重新创建pod。
此外,在Kubernetes中重新启动容器时,意味着它将被重新创建。:容器中创建的所有文件都将被删除,除了那些在附加的持久存储(例如PersistenceVolume)上创建的文件。在Kubernetes中没有类似于docker start/stop的内容。
https://stackoverflow.com/questions/67155802
复制相似问题