Statefulset部署应用

阿兵云原生 2023-07-29 10:08:27

上一部分我们分享到了使用 RS 没有办法让自己管理的多个 pod 都有一个独立的持久化声明,RS 没有办法在指定模板中对不同的 pod 做差异化处理

使用多个 RS 来分别管理自己的的一个 pod,当我们扩缩容的时候,也会出现问题,老的 pod 有遗留数据,pod 里面的有残留状态,这个时候,若创建了一个新的 pod 来替换,那么可能是会出现问题的,因为此时的 pod 是一个全新的 pod,他和老的 pod 的状态可能是不一致的

那么接下来,我们来分享 K8S 的一种解决方式 ,使用 Statefulset

Statefulset 资源

Statefulset 也是和 ReplicaSet 一样的属于 K8S 中的一种资源,可以管理 pod 的,但是 Statefulset 是可以专门定制一类应用,并且这些应用每一个实例都是不可替代的,可以说是独一无二

正因为 ReplicaSet 无法解决上述的问题,Statefulset 就来帮忙解决了,那么我们来看一下 Statefulset 为什么能解决,我们可以来对比一波

ReplicaSetStatefulset
管理的 pod 是无状态的管理的 pod 是有状态的
任何时候所管理的 pod 都可以被替换若有一个 pod 挂掉,这个 pod 是需要被重建的,
意味着必须与原来的 pod 实例拥有相同的名称,网络,标识,状态
可以填写期望的副本数可以填写期望的副本数
生成的 pod 名字后缀是随机的生成的 pod 名字,后缀是按索引顺序的

Statefulset 有哪些特点

Statefulset 可以提供稳定的网络标识

就像上述说到的,我们使用 Statefulset 创建的每一个 pod,都是按照索引顺序创建的,通过创建的 pod 名字我们就可以很清晰的看得出来,举个例子

咱们 ReplicaSet 创建出来的 pod 是类似于这样的名称,后缀都是随机的

 

 

点我查看原文 

更多的可以查看 零声每晚八点直播:https://ke.qq.com/course/417774

...全文
24 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

445

社区成员

发帖
与我相关
我的任务
社区描述
零声学院,目前拥有上千名C/C++开发者,我们致力将我们的学员组织起来,打造一个开发者学习交流技术的社区圈子。
nginx中间件后端 企业社区
社区管理员
  • Linux技术狂
  • Yttsam
  • 零声教育-晚晚
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

请新加入的VIP学员,先将自己参加活动的【所有文章】,同步至社区:

【内容管理】-【同步至社区-【零声开发者社区】

试试用AI创作助手写篇文章吧