1.4.8

面向无状态的服务:
RC、Deployment、DaemonSet、job都是面向无状态的服务


现实中很多服务是有状态的:
MySQL集群、MongoDB集群、Akka集群、ZooKeeper集群等,有以下共同点:
*每个节点都有固定的身份ID,通过这个ID,集群中成员相互发现并通信
*集群的规模比较固定,集群规模不能随便变动
*集群中每个节点都是有状态的,通常会持久化数据到永久存储中
*如果磁盘损坏,则集群中某个节点无法正常运行,集群功能受损


statefulset(可以看作是deployment/rc的一个变种)的几个特性:
*statefulset里每个pod都有稳定、唯一的网络标识,可以用来发现集群内的其他成员
*statefulset控制的pod副本的启停顺序是受控的,操作第n个pod时,前n-1个pod已经是运行切准备好的状态
*statefulset控制的pod采用稳定的持久化存储卷,通过PV/PVC来实现,删除POD默认不会删除与statefulset相关的存储卷