前言在Deployment中,一个Pod可以随意关闭和启动,Pod之间的关系是平等的。当Pod之间存在主从关系,每个Pod对应一个特定存储卷中的内容时,就不能使用Deploymentcontroller来任意操作Pod。我们需要使用一个名为StatefulSet的控制器来处理这个有状态应用程序Pod。更新历史20200605-初稿-左成礼原文地址-https://blog.zuolinux.com/2020/06/05/about-controller-statefulset.htmlStatefulSetcontrollerworkingprinciple管理有状态应用Pod的秘诀在于提供稳定的ImmutablePod标识和稳定的不可变存储。稳定不变的拓扑状态,即不变的主机名。标识符与Pod绑定,无论Pod被调度到哪个节点。StatefulSet中的每个Pod都会分配一个整数序列号,从0到N-1。序列号在StatefulSet上是唯一的。每个Pod从StatefulSet名称和Pod序列号派生出它的主机名。合并后的主机名格式为$(StatefulSetname)-$(serialnumber)。如果StatefulSet名称为web,replicas为3,则将创建三个名为web-0、web-1和web-2的Pod。每个Pod创建成功后,会得到一个匹配的DNS名称,格式为:
