Statefulset的 headless service 模式不同于deployment的service会将访问service的流量转发到实际的pod上,headless service会将用户访问的 svn-name 解析为实际的后端pod地址,用户可以直接通过 pod-x.svc_name 访问到该pod
Statefulset 会为每个pod添加一个序列号,从0开始,严格按照序列号启动pod,当前一个pod未Running时,下一个pod会一直处于pending状态,当我们的业务需要实现主从,主备等分布式业务环境时,便于实现
上图所示,client访问pod时,指定名称 pod-0.svc_name 即可访问到pod-0 ,集群DNS会将name解析到pod-0的ip地址
解析关系不会随着pod的容器而变化,同时Statefulset管理的pod容器后,pod 名称依然是之前的带序号名称,不会变化
重点:1. pod启动时严格按照编号顺序启动
2.Statefulset为每个pod创建了一个固定的DNS解析记录,每个实例拥有一个固定且稳定的网络名称
