《云原生之K8s实战》K8s有状态控制器StatefulSet

本文深入探讨了Kubernetes中的StatefulSet组件,用于管理有状态应用程序,如ElasticSearch、MongoDB等集群。StatefulSet确保Pod的名称、顺序和持久存储。它使用Headless Service进行通信,并通过volumeClaimTemplates实现每个Pod的独立存储。文章还介绍了StatefulSet的扩容缩容、滚动更新、分段更新以及非级联和级联删除操作。
摘要由CSDN通过智能技术生成

目录

StatefulSet组件.

StatefullSet扩容和缩容

滚动更新

分段更新

删除

1.非级联删除

2.级联删除


无状态服务? RC/RS、Deployment、DaemonSet都是管理无状态的服务,它们所管理的Pod的IP、名字,启停顺序等都是随机的。个体对整体无影响,所有 pod都是共用一个数据卷的,部署的tomcat就是无状态的服务,tomcat被删除,在启动一个新的tomcat,加入到集群即可,跟tomcat的名字无关。

StatefulSet(有状态集)常用于部署有状态的且需要有序启动的应用程序。

StatefulSet主要用于管理有状态应用程序的工作负载API对象,它所管理的 Pod的名称不能随意变化。比如在生产环境中,可以部署ElasticSearch集群、MongoDB集群或者需要持久化的 RabbitMQ集群、MySQL集群、Redis集群、Kafka集群和ZooKeeper集群等。

而StatefulSet创建的Pod一般使用Headless Service(无头服务)进行通信,和普通的Service 的区别在于Headless Service没有 clusterlP,它使用的是Endpoint进行互相通信。

FQDN : Fully Qualified Domain Name Headless一般的格式为: statefulSetName-{0..N-1}.serviceName.namespace.svc.cluster.local。

说明: serviceName为 Headless Service的名字。 0..N-1为Pod所在的序号,从0开始到N-1。 statefulSetName为 StatefulSet,的名字。 namespac

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你可知这世上再难遇我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值