k8s 通过 StatefulSet 支持有状态应用

对于一个拥有 N 个副本的 StatefulSet 来说 , Pod 在部署时按照 {0 …… N-1} 的序号顺序创建的 , 而删除的时候按照逆序逐个删除.
【k8s 通过 StatefulSet 支持有状态应用】当 Pod 所在的节点发生故障导致 Pod 飘移到其他节点上 , 或者 Pod 因故障被删除重建 , Pod 的 IP 都会发生变化 , 但是 Pod 的域名不会有任何变化 , 这也就意味着服务间可以通过不变的 Pod 域名来保障通信稳定 , 而不必依赖 Pod IP 。
在 StatefulSet 中 , 支持两种更新升级策略 , 即 RollingUpdate 和 OnDelete 。 RollingUpdate策略是默认的更新策略 。 升级过程大致如下 , 先逆序删除所有的 Pod , 然后依次用新镜像创建新的 Pod 出来 。 把更新策略设置为 OnDelete 时 , 我们就必须手动先删除 Pod , 才能触发新的 Pod 更新 。