Statefulset:部署有状态的多副本应用

10.1.什么是Statefulset

  StatefulSet是Kubernetes提供的管理有状态应用的负载管理控制器API。
       特点:
  1.具有固定的网络标记(主机名)
  2.具有持久化存储
  3.需要按顺序部署和扩展
  4.需要按顺序终止和删除
  5.需要按顺序滚动和更新

10.2.statefulset的创建

  statefulset的创建顺序从0到N-1,终止顺序则相反,如果需要对satateful扩容,则之前的n个pod必须存在,如果要终止一个pod,则他的后续pod必须全部终止。

       创建statefulset

#kubectl create -f ss-nginx.yml

  查看statefulset

#kubectl get statefulset

  

  statefulset会使用一个完全一致的pod来替换被删除的pod。

  statefulset扩容和缩容时,都会删除最高索引的pod,当这个pod完全被删除后,才回删除拥有次高索引的pod。

10.3.statefulset中发现伙伴的节点

  通过DNS中SRV互相发现。

10.4.更新statefulset

#kuebctl edit statefulset kubia

  但修改后pod不会自动 被更新,需要手动delete pod后会重新调度更新。

10.5.statefulset如何处理节点失效

 
posted @ 2019-08-07 09:09 姚红 阅读(...) 评论(...) 编辑 收藏