如何重启 kubernetes pod 并保留数据

王仁锟*_*王仁锟 0 docker kubernetes

我现在使用 kubernetes 来运行 Docker 容器。我只是创建了容器,然后使用 SSH 连接到我的 pod。

我需要进行一些系统配置更改,因此我需要重新启动容器,但是当我重新启动容器时,它将丢失 pod 中的所有数据。kubernetes 会像原来的 Docker 镜像一样运行一个新的 pod。

那么如何重新启动 pod 并将数据保存在其中呢?

向 kubernetes 提供了我的 Bluemix

小智 5

您需要了解有关容器的更多信息,因为您的问题表明您没有完全掌握这些概念。

  1. 在容器中运行 SSH 是一种反模式,容器不是虚拟机。因此,从中删除 SSH 服务器。
  2. 您运行 SSH 的事实表明您可能在每个容器中运行多个进程。这通常是不好的做法。因此,删除该主管并直接在您的入口点调用您的主流程。
  3. 设置您的容器映像主进程以在运行时使用环境变量或配置文件进行配置。

最后一项意味着您可以在 Pod 清单中定义环境变量或使用 Kubernetes configmaps 来存储配置文件。您的 Pod 将读取这些内容,并且您在容器中的进程将得到正确配置。否则,您的 Pod 将死亡或您的进程将无法正常运行,您只需编辑环境变量或配置映射即可。

我在这里的主要建议是,在正确编写 docker 映像并仔细考虑配置之前不要使用 Kubernetes,您不应该在容器中执行 exec 来运行您的进程。

最后,更一般地说,您不应该将状态保存在容器内。