当前位置:   article > 正文

Kubernetes之StatefulSet_statefullset pod名字定制

statefullset pod名字定制

StatefulSet介绍

从1.9 GA版本开始,StatefulSet成为kubernetes的稳定特性。StatefulSet是一种副本控制器,管理pod的部署、缩放等。与ReplicaSet、Deployment不同的是,它对集合中的pod提供顺序、唯一性保证。StatefulSet为集合中的每个pod分配唯一、持久的pod名称、DNS解析、持久化存储,并且负责将这些标识粘在pod上,无论pod调度到任何节点上。

什么时候需要使用StatefulSet

当应用的需求,与下述中的一条或者多条相符时,使用StatefulSet就会有价值:

  • 唯一、稳定的网络标识(pod原本没有网络标识,service有)。
  • 稳定、持久化存储。
  • 多个副本有序、优雅的部署与缩放。
  • 多个副本有序、优雅的部署与缩放。
  • 多个副本有序、优雅的自动滚动升级。

StatefulSe限制

  • StatefulSet特性,1.5之前的版本不可用,1.9之前的版本不稳定。
  • 必需为pod提供持久化存储。
  • 删除或者缩容StatefulSet时,出于数据安全的目的,不会自动删除与pod相关的持久化存储,需要手动处理。
  • 当前StatefulSet需要通过无头服务为其所管理的pod提供网络标识,或者说DNS条目,用户需手动创建无头服务。

唯一、稳定pod名称

StatefulSet中的pod名称由StatefulSet配置中的name加上表示序号的整数,整数从0开始取值,最大值为副本数量减1.

唯一、稳定网络ID

StatefulSet通过与其相关的无头服务为每个pod提供DNS解析条目。假如无头服务的DNS条目为:
"$(service name).$(namespace).svc.cluster.local",
那么pod的解析条目就是"$(pod name).$(service name).$(namespace).svc.cluster.local",每个pod name也是唯一的。

稳定持久存储

通过 PersistentVolume 提供持久化存储。

创建StatefulSet

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/162215
推荐阅读
相关标签
  

闽ICP备14008679号