关于StatefulSet
1.StatefulSet 为每个 Pod 副本创建了一个 DNS 域名,这个域名的格式为:
1 | $(podname).(headless servername) |
也就意味着服务间是通过Pod域名来通信而非 Pod IP,因为当Pod所在Node发生故障时,Pod会被飘移到其它 Node 上,Pod IP 会发生变化,但是 Pod 域名不会有变化。
2.缩容一个statefulset会最先删除最高索引值的实例(要把一个statefulset从两个实例扩容到三个实例,那么新实例的索引值就会是2,现有实例使用索引值为0和1)。
3.像statefulset创建pod一样,statefulset也需要创建持久卷声明。所以一个statefulset可以拥有一个或多个卷声明模板,这些持久卷声明会在创建pod前创建出来,绑定到一个pod实例上。