首页 > 其他分享 >StatefulSet

StatefulSet

时间:2023-07-16 10:25:09浏览次数:31  
标签:StatefulSet 分区 更新 Pod spec 序数

有状态应用

实例之间有不对等关系,以及实例对外部数据有依赖关系的应用,就被称为“有状态应用”。

Pod管理策略

通过.spec.podManagementPolicy 字段来管理 Pod。
OrderedReady:严格遵循 Pod 顺序来启停,默认设置。
Parallel:告诉 StatefulSet 控制器并行启动或终止所有 Pod,并且在启动或终止另一个 Pod 之前不等待前一个 Pod 变为Running and Ready 或完全终止。

更新策略

OnDelete:用户必须手动删除Pod,以使控制器创建新的Pod。
RollingUpdate:如果.spec.updateStrategy未指定,则此为默认策略。
StatefulSet控制器将删除并重新创建StatefulSet中的每个Pod。它将以Pod终止(从最大序数到最小序数)的顺序进行,一次更新每个Pod。在更新下一个Pod之前,必须等待这个Pod Running and Ready。
Partitions:通过指定 .spec.updateStrategy.rollingUpdate.partition 来对 RollingUpdate 更新策略进行分区,如果指定了分区,则当 StatefulSet 的 .spec.template 更新时,具有大于或等于分区序数的所有 Pod 将被更新。
具有小于分区的序数的所有 Pod 将不会被更新,即使删除它们也将被重新创建。如果 StatefulSet 的 .spec.updateStrategy.rollingUpdate.partition 大于其 .spec.replicas,则其 .spec.template 的更新将不会传播到 Pod。在大多数情况下,不需要使用分区。

不会触发滚动更新的情况

修改更新策略。
删除首Pod。

标签:StatefulSet,分区,更新,Pod,spec,序数
From: https://www.cnblogs.com/WJQ2017/p/17557501.html

相关文章

  • kubernetes之 statefulset控制器
    第九部分statefulset控制器参考:https://blog.csdn.net/styshoo/article/details/73731993     https://blog.51cto.com/xuexinhuan/5424144即便是有状态管理,也需要使用脚本来运维。CoreOS:OperatorStatusfulSet:有状态Cattle,petPetSet->StatefulSeta、稳定......
  • k8s实战案例之基于StatefulSet控制器运行MySQL一主多从
    1、前言Pod调度运⾏时,如果应⽤不需要任何稳定的标示、有序的部署、删除和扩展,则应该使⽤⼀组⽆状态副本的控制器来部署应⽤,例如Deployment或ReplicaSet更适合⽆状态服务需求,⽽StatefulSet适合管理所有有状态的服务,⽐如MySQL、MongoDB集群等。2、StatefulSet控制器运行MySQL一......
  • k8s 之statefulset有状态应用
    StatefulSet由以下几个部分组成:1.HeadlessService:用来定义pod网路标识,生成可解析的DNS记录2.volumeClaimTemplates:存储卷申请模板,创建pvc,指定pvc名称大小,自动创建pvc,且pvc由存储类供应。3.StatefulSet:管理pod的Headlessservice不分配clusterIP,headlessse......
  • StatefulSet扩缩容源码分析
    k8sv1.15.0Informer监听cmd/kube-controller-manager/app/apps.go作为StatefulSet资源控制器,StatefulSetController通过PodInformer、StatefulSetInformer、PersistentVolumeClaimInformer、ControllerRevisionInformer来监听事件。扩缩容StatefulSetpodManagementPolicyPa......
  • 五、基于PVC+StatefulSet实现的MySQL主从架构
    案例(部署mysql)本节使用StatefulSet控制器部署一个MySQL集群,然后进行宕机测试,观察集群是否可以正常恢复使用并且不丢失数据。实现的集群有如下特征:是一个主从复制的MySQL集群1个主节点,多个从节点从节点能够水平扩展所有的写操作,只能在主节点上执行......
  • k8s-StatefulSet
    1、StatefulSet介绍RC、Deployment、DaemonSet都是面向无状态的服务,它们所管理的Pod的IP、名字,启停顺序等都是随机的,而StatefulSet是什么?顾名思义,有状态的集合,管理所有有状态的服务,比如MySQL、Bmongo复制集,rediscluster,rabbitmqcluster集群等。StatefulSet本质上是Deploym......
  • StatefulSet 更新策略
    OnDelete策略OnDelete更新策略实现了传统(1.7版本之前)的行为,它也是默认的更新策略。当我们选择这个更新策略并修改StatefulSet的.spec.template字段时,StatefulSet控......
  • StatefulSet 扩容和缩容
    概念和Deployment类似,可以通过更新replicas字段扩容/缩容StatefulSet,也可以使用kubectlscale、kubectleditkuectlpatch来扩容/缩容一个StatefulSet扩容kube......
  • 定义一个StatefulSet模板
    apiVersion:v1kind:Servicemetadata:name:nginxlabels:app:nginxspec:ports:-port:80name:webclusterIP:Noneselector:app:......
  • StatefulSet 模板,更新,扩缩容,删除
    概念:StatefulSet是用来管理有状态应用的工作负载API对象,kubectl中可以简写sts,sts每一个pod生成一个唯一的标识符,sts_name-number,number从0开始。StatefulSet会关联卷(......