kubernetes资源对象--PetSets/StatefulSet

Kubernetes StatefulSet是用于管理有状态服务的资源对象,确保每个Pod具有稳定的网络标识、持久存储和有序启动。常见应用场景包括数据库和集群管理服务。StatefulSet中的Pod有固定的名称、主机名和DNS域名,通过Headless Service实现内部通信,并通过PVC与PV关联实现数据持久化。在扩展和更新时,StatefulSet遵循特定规则,如手动更新和有序扩缩容。当节点故障时,Pod无法自动迁移。
摘要由CSDN通过智能技术生成

PetSet首次在K8S1.4版本中,在1.5更名为StatefulSet。除了改了名字之外,这一API对象并没有太大变化。

注意:以下内容的验证环境为CentOS7、K8S版本1.5.2,并部署SkyDNS。

http://blog.csdn.net/liyingke112/article/details/76685794

概念

在云原生应用的体系里,有下面两组近义词;第一组是无状态(stateless)、牲畜(cattle)、无名(nameless)、可丢弃(disposable);第二组是有状态(stateful)、宠物(pet)、有名(having name)、不可丢弃(non-disposable)。

RC和RS主要是控制无状态服务,Pod的名字是随机设置的,重建后新的Pod名字变了,名字和部署在哪儿都不重要,重要的只是Pod总数。

PetSet/StatefulSet是用来部署和管理有状态服务。PetSet/StatefulSet中的每个Pod的名字都是事先确定的,不能更改,能提供固定的DNS名称、pod级别的持久化存储和有序podPod名字是用来关联与该Pod对应的状态。

应用场景

有状态服务:数据库服务MySQL和PostgreSQL

集群化管理服务Zookeeper、etcd等有状态服务。

作为一种比普通容器更稳定可靠的模拟虚拟机的机制。传统的虚拟机正是一种有状态的宠物,运维人员需要不断地维护它,容器刚开始流行时,用容器来模拟虚拟机使用,所有状态都保存在容器里,而这已被证明是非常不安全、不可靠的。使用PetSet/StatefulSet,Pod仍然可以通过漂移到不同节点提供高可用,而存储也可以通过外挂的存储来提供高可靠性,PetSet/StatefulSet做的只是将确定的Pod与确定的存储关联起来保证状态的连续性。

特性

pod稳定的唯一网络标识

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值