迅维网

微信成功挑战10亿人聊天记录的背后,核心技术原来是它

qiufengss 2017-8-30 10:59


  首先介绍下有容云UFleet产品,UFleet -- 基于原生kubernetes技术,为企业打造专属的容器即服务(CaaS)平台,为企业提供使用的全生命周期管理服务和相关的资源服务,为使用的 构建、部署和运行提供统一的平台,并保障使用所需的资源随需供应。

  有了搞定有状态使用对存储的需要,UFleet没有对接第三方存储系统,而采用的是在UFleet平台上融合有容云自主研究的分布式存储系统,从而大大提升了平台资源整合以及利用率;下面将从四个方面来讲讲UFleet平台上怎么融合存储系统?

  一、Kubernetes有状态存储模型

  kubernetes的存储系统大致分为三个层次:普通Volume,Persistent Volume 和StorageClass动态存储供应。

  1.1 普通Volume(单节点)

  普通Volume,最简单的一种是“单节点存储卷”,它和Docker的存储卷相似,运用的是Pod所在K8S节点的本地目录。具体有两种:一种是emptyDir,是一个匿名的空目录,由Kubernetes在创建Pod时创建,删除Pod时删除。 另外一种是 hostPath,与emptyDir的分别是,它在Pod之外独立存在,由用户指定路径名。

  这类和节点绑定的存储卷在Pod迁移到其它节点后数据就会遗失,所以只能用于存储临时数据或用于在同一个Pod里的容器之间共享数据。


微信成功挑战10亿人聊天记录的背后,核心技术原来是它


  1.2 Persistent Volume(跨节点 - 静态方式)


  普通Volume和运用它的Pod之间是一种静态绑定关系,我们无法单独创建一个普通volume,因为它不是一个独立的K8S资源对象。而Persistent Volume 简称PV是一个K8S资源对象,所以我们可以单独创建。它不和Pod直接发生关系,而是通过Persistent Volume Claim,简称PVC来实现动态绑定。静态方式是管理员手动创建一堆PV,组成一个PV池,供PVC来绑定。


微信成功挑战10亿人聊天记录的背后,核心技术原来是它


  一个PV创建完后状态会变成Available,等待被PVC绑定。一旦被PVC邦定,PV的状态会变成Bound,就可以被相应的Pod运用。Pod运用完后会释放PV,PV的状态变成Released。变成Released的PV会根据定义的回收策略做相应的回收工作。有三种回收策略,Retain、Delete 和Recycle:

  Retain就是保留现场,K8S什么也不做。Delete 策略,K8S会自动删除该PV及里面的数据。Recycle方式,K8S会将PV里的数据删除,然后把PV的状态变成Available,又可以被新的PVC绑定运用。

  1.3 StorageClass(跨节点 – 动态方式)

  动态方式是通过一个叫 storage class的对象由存储系统根据PVC的要求自动创建;运用StorageClass除了由存储系统动态创建,节省了管理员的时间,还有一个好处是可以封装不同类型的存储供PVC选用。


微信成功挑战10亿人聊天记录的背后,核心技术原来是它


  StorageClass是Dynamic Provisioning(动态配置)的基础,允许集群管理员位底层存储平台做定义抽象。用户只需在PersistentVolumeClaim(PVC)通过名字引用StorageClass即可。

微信成功挑战10亿人聊天记录的背后,核心技术原来是它



雷人

握手

鲜花

鸡蛋

路过
收藏
来自: 今日头条
返回顶部
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索