【发布时间】:2020-07-12 15:34:22
【问题描述】:
我正在接近 k8s 卷和最佳实践,我注意到在阅读文档时,如果您想在集群中实现持久性,您似乎总是需要使用 StatefulSet 资源:
"StatefulSet 是用于管理有状态的工作负载 API 对象 应用程序。”
我已经实现了一些教程,其中一些使用 StatefulSet,另一些则没有。
事实上,假设我想持久化一些数据,我可以拥有我的无状态 Pod(甚至是 MySql 服务器 Pod!),其中我使用持久化状态的 PersistentVolumeClaim。如果我停止并重新运行集群,我可以从 Volume 恢复状态,而无需 StatefulSet。
我在这里附上一个 Github repo 的示例,其中有一个带有 MySql 的有状态应用程序,根本没有 StatefulSet: https://github.com/shri-kanth/kuberenetes-demo-manifests
那么我真的需要为 k8s 中的数据库使用 StatefulSet 资源吗?或者在某些特定情况下它可能是必要的做法?
【问题讨论】:
标签: database kubernetes persistent-volumes kubernetes-statefulset persistent-volume-claims