15.StatefulSet控制器的金丝雀发布
如果说Deployments和ReplicaSets解决的是无状态服务部署、扩缩容的刚需,那么StatefulSet控制器则是为了解决有状态服务的部署难题。
1.什么是StatefulSet?
StatefulSet是一个管理有状态应用的API对象。
StatefulSet作为Controller为Pod提供其唯一的标识。
它可以保证应用程序部署和扩展的先后顺序
2.StatefulSet的应用场景
StatefulSet 适用于有以下某个或多个需求的应用场景:
稳定,具有唯一的网络标志
稳定,含有持久化存储
有序,需要优雅地部署和扩展
有序,能够自动滚动升级
3.StatefulSet的使用限制
为了解决有状态应用的部署难题,StatefulSet也有其对应的使用限制:
对应pod上面的存储必须以存储类(https://github.com/kubernetes/examples/tree/master/staging/persistent-volume-provisioning/README.md)的方式提供,或者预先由管理员进行手动配置
我们再来回顾一下:
PVC:好比接口,使用者只需要知道这个接口如何使用即可,比如该传哪些参数,哪些是必传的等等,他并不需要了解接口是如何实现的。
PV&