k8s应用管理——有状态无状态

背景

由于ReplicaSet、ReplicationController、Deployment等这些控制器都是无状态的,但是我们想要使用k8s来编排有状态的服务如数据库等,但因为有状态服务的复杂性,为此,k8s 推出了面向有状态服务的工作负载 StatefulSet。网络持久化、存储持久化,部署持久化

有状态服务

      -认为所有pod都是一样的,不具备与其他实例有不同的关系。
     - 没有顺序的要求。
     - 不用考虑再哪个Node运行。
     - 随意扩容缩容。

无状态服务

   - 集群节点之间的关系。
  - 数据不完全一致。
  - 实例之间不对等的关系。
  - 依靠外部存储的应用。
  - 通过dns维持身份

如何解决无状态的?

k8s 推出了面向有状态服务的工作负载 StatefulSet(kind:StatefulSet)。其管理的 pod 具有如下特点:

  1. 唯一性 - 对于包含 N 个副本的 StatefulSet,每个 pod 会被分配一个 [0,N)范围内的唯一序号。
  2. 顺序性 - StatefulSet 中 pod 的启动、更新、销毁默认都是按顺序进行的。
  3. 稳定的网络身份标识 - pod 的主机名、DNS 地址不会随着 pod 被重新调度而发生变化。
  4. 稳定的持久化存储 - 当 pod 被重新调度后,仍然能挂载原有的 PersistentVolume,保证了数据的完整性和一致性。
  5. <
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值