用于有状态应用程序的 Kubernetes 部署

Kubernetes Deployment for stateful application

我对为有状态应用程序(如 wordpress 和 co)设计部署和/或有状态集的最佳实践有疑问。 我目前的想法是为一个特定的 cms 制作一个完全动态的图像。有了这个想法,我可以将项目数据装入其中。比如主题、文件等。 在 wordpress 的情况下,它将是 wp-content/themes。或者这是错误的方法。是否已经使用正确的数据构建映像并且不用担心部署,因为您已经拥有了一切。

您使用有状态应用有哪些经验,您是如何解决这些问题的"problems"。

感谢您的回答:)

所有你需要的 运行 (wp-content/themes) 应用程序最好放一张图片。 所有这些都会改变(有状态),你可以存储在 PVC 中。

我不认为 Wordpress 在这件事上真的是有状态的,它应该像常规部署一样部署。

Stateful Set 通常是需要存储的数据库之类的东西。例如,Cassandra 通常是一个带有已安装的 Volume Claims 的 Stateful Set。当一个实例死亡时,会产生一个与旧实例具有相同名称、IP 地址和卷的新实例。片刻之后,它应该再次成为集群的一部分。

对于部署,您将不会获得相同的名称或 IP 地址,并且您无法装载卷声明。