其他分享
首页 > 其他分享> > 当vSAN遇上Kubernetes

当vSAN遇上Kubernetes

作者:互联网

Kubernetes项目在2015年成为CNCF的首个项目,该容器编排平台是由谷歌开源给CNCF的,最初是从谷歌的Borg项目中脱颖而出。Kubernetes开源之后迅速成为整个云原生领域的首选开源容器编排器,支持并集成Kubernetes等开源技术的原生云计算基金会(CNCF)于2018年3月8号宣布,Kubernetes从CNCF旗下正式毕业,这也意味着该开源项目已经成熟,并且足够灵活,可在任何行业、各种规模的公司中大规模地管理容器。


从2018年8月29号发布的最新CNCF用户调查报告可看到,企业在部署Kubernetes架构时面临的容器持久化存储挑战仍然处在高位。虽然当前Kubernetes Rook Ceph与CSI等开放Plugins接口致力于支撑Kubernetes容器持久化存储管理方面的问题,但这些技术均为开源项目,一般的企业客户难于掌握和持续运维这些成熟度不高的存储架构。


图片


VMware vSAN产品作为一款企业级分布式架构自2013年推出后,迅速成为SDS市场上主流产品,得到全球范围内19000家客户的采购与部署。


本文致力于介绍如何通过VMware vSAN存储平台解决企业客户所面临Kubernetes容器持久化存储难度。


首先,我们了解为Kubernetes提供持久数据的一些关键要求:


因为这些关键要求,使得Kubernetes要实现容器持久化存储非常困难,这也是社区正在致力解决的问题之一,主要困难如下:


其次,正是为了弥补这些关键要求与困难之间的差距,VMware Kubernetes Cloud provider 插件则可以帮助企业客户解决这些问题。


一、为虚拟化下环境下的Kubernets 管理节点和工作节点提供存储空间


图片


一般情况下:管理节点和工作节点需要以下空间:


  1. 2个ephemeral磁盘空间


  2. 1个持久化空间(用于存放持久化数据如管理节点的etcd key/value数据和工作节点的docker images文件 )


这部分的操作比较简单,只需要在VMware vCenter管理界面为不同管理VM和工作节点创建不同的磁盘即可。



二、 为Kubernets Pod空号提供存储空间


图片


Kubernetes Pod存储空间需要通过Persistent Volume (PV)来实现


  1. 在vSphere vCenter管理界面上通过K8s Cloud Provider plugin将Persistent Volume 映射到vSANDatastore存储空间上的VMDK文件。


  2. 附加VMDK文件到工作节点VM,作为磁盘使用。


  3. Pod再从这个磁盘挂载volume进行使用。



三、同时还可通过Cloud Provider plugin为PV分配不同的SPBM,过程如下:


图片


  1. 可在VMware vCenter管理界面创建对应的SPBM policy,如副本保护数量,磁盘条带数等参数(如右图所示)。


  2. 将Provisioner、Datastore、StoragePolicyName等参数写入Pod创建时所用到的volume yaml文件(如左图所示)。


  3. 最终将实现Pod volume被分配到vSANDatastore存储空间,并采用指定的存储策略。


图片


标签:容器,存储,Kubernetes,节点,开源,Pod,vSAN,遇上
来源: https://blog.51cto.com/u_15127585/2726690