在Kubernetes中,有状态副本集(StatefuleSet)被用来管理有状态应用的API对象。StatefulSet管理Pod部署和扩容,并为这些Pod提供顺序和唯一性的保证。与Deployment相似的地方是,StatefulSet基于spec规格管理Pod,与Deployment不同的地方是,StatefulSet需要维护每一个Pod的唯一身份标识。这些Pod基于同样的spec创建,但互相之间不能替换,每一个Pod都保留自己的持久化标识,这个唯一的身份标识由顺序、稳定的网络标识和稳定的存储所组成。此身份标识一直跟随着Pod,不管它被调度到哪个节点上。
StatefuleSet的应用场景有以下几种:
•稳定、唯一的网络标识
•稳定、持久的存储
•按照顺序、优雅的部署和扩容
•按照顺序、优雅的删除和终止
•按照顺序、自动滚动更新
单击工作负载页面的有状态副本集StatefulSet,可查看管理平台中的有状态副本集列表。单击有状态副本集名称,可进入有状态副本集详细信息页面。
说明如下:
•容器组
容器组页签显示有状态副本集创建的Pod及其基本信息,包括名称、节点IP、容器组IP、状态、重启次数和创建时间。单击容器组名称可查看容器组的详细信息,请参见容器组(Pod)信息。
•服务
创建有状态副本集时创建的服务列表及其信息,包括服务名称、集群IP、内部入口、外部入口、创建时长和标签。
单击服务名称,可查看该服务的详细信息,请参见查看服务。
在搜索框中输入服务名称的关键字,可过滤出符合条件的服务。
单击服务后的,并选择删除可删除服务。
•YAML
YAML页签显示有状态副本集的配置和运行状态信息,可以单击编辑YAML编辑文件内容,修改有状态副本集的相关信息。
•事件
事件页签显示RS的事件,包括事件名称、来源、子对象、总数、最早出现于和最近出现于。
•审计日志
显示有状态副本集的审计日志信息。