<font color="#c41230">有状态服务集(StatefulSet)-- </font>有状态应用型(stateful application)
特点
1. <font color="#c41230">StatefulSet Pod 具有唯一的标识</font><br>该标识包括<font color="#f15a23">顺序标识 </font>、<font color="#f15a23">稳定的网络标识 </font>和 <font color="#f15a23">稳定的存储</font>。 该标识和 Pod 是绑定的,不管它被调度在哪个节点上。<br>
2. <font color="#c41230">副本的索引有序<br></font>对于具有 N 个副本的 StatefulSet,StatefulSet 中的每个 Pod 将被分配一个整数序号, 从 0 到 N-1,该序号在 StatefulSet 上是唯一的。Pod 的名称的形式为<statefulset name>-<ordinal index><br>
3. <font color="#c41230">稳定的网络身份标识<br></font>StatefulSet 可以使用 <font color="#c41230">无头服务</font> 控制它的 Pod 的网络域<br>
1. 创建一个 Headless Service
2. 利用nslookup命令查询得到 SERVICE后面的POD的域名
3. 删除或收缩Stateful时, Pod 的序号、主机名、SRV 条目和记录名称没有改变,但和 Pod 相关联的 IP 地址可能发生了改变
4. 因此,<i><font color="#c41230"> 链接POD时, 不要使用IP, 应该使用 Pod 的 SRV 记录</font></i>(web-0.nginx.default.svc.cluster.local, web-1.nginx.default.svc.cluster.local)
4. <font color="#c41230">稳定的存储</font>
StatefulSet 控制器为每个Pod绑定 PersistentVolumes。
删除或者收缩 StatefulSet 并不会删除它关联的存储卷。