Portworx技术视频系列:通过PX-AutoPilot自动扩展存储池容量

欢迎来到Portworx技术系列视频,我是Ryan Wallner。今天我们来介绍一下存储容量管理。Portworx Autopilot,我们会专门介绍一下存储池扩充、容量管理,这样可以让用户基于一些提前设定的规则引擎,自动的添加磁盘。Portwortx Autopilot可以自动化的管理容量,自动化的运维,例如添加磁盘,扩充PVCs,或者在存储池里扩充磁盘。这些操作可以通过脚本自动执行,也可以手动方式,但都是以K8S云原生的方式来进行的,定义YAML文件,给予Portworx权限来做这些事情。

当你完成了Portworx的配置,为每个节点配置了每个100G的磁盘,假如是云中,我们使用EBS,这样我们就为PVCs设定了一个Portworx存储池,总共300G。应用会使用PVCs,后续可能有更多的应用,数据库,服务会运行在K8S上,当它们开始使用存储容量的时候,假设它们使用了150G的空间。这是所有存储容量的一半。我们如何来管理这些容量?如何触发动作呢?我们来看一下Autopilot是怎么做的。

当你安装了Portworx,开始使用Autopilot,你会需要Prometheus,Prometheus的作用,是收集K8S里应用运行情况的信息,Portworx自身也使用Prometheus,方式是Portworx提供API,含有Prometheus端点,这个端点,会向Prometheus提供运行情况的信息,Prometheus就可以看到比如卷的数量、总体容量、已经使用了多少,CPU、内存这些。

AutoPilot,我们用AP来表示,会接入Prometheus,并且获取状况信息,这样AutoPilot根据状况信息,和事先制定的规则,对Portworx的运行进行自动化管理,现在我们对管理控制的流程有了概要性的了解,以及Autopilot的工作原理,我们需要创建一些规则,用Prometheus能够理解的表达,同时Autopolit可以去执行,假设,已经使用的字节,和总共的字节数,表明了我们还有多少容量可以使用。我们设定一个规则:如果我们剩下的容量已经不到40%了,也就是我已经使用了60%的容量,就会触发动作,来扩充我们的集群。

扩充的方式是增加磁盘。我们可以制定一些规则增加额度的限制,例如,每次当使用到60%容量时,这种情况可能会经常发生,我们可以设定,触发增加50%容量的动作,就是总体容量增加50%。也可以增加一些限制,例如,每个存储池的上限不要超过2TB,这是考虑你有成本限制的情况。这就是通过Autopilot来设定一些自动化的规则,以及设定限制。

还有其他配置方式,主要的配置方式就是规则、动作、和方式,当存储池增长到了60%,Prometheus会探测到,Autopilot就会触发规则,来进行相应的动作,这里动作就是增加存储池容量,增加磁盘会增加存储池容量50%,达到450G。这样我们的容量使用率就不再是60%了,Portworx增加总容量后,它就会低于60%,这个规则仍然是有效的,因为后续可能会进一步需要存储容量。

这里我们演示了,Autopilot如何通过规则和动作,自动化的控制下层的存储,如AWS, Azure,Vmware Vsphere,部署磁盘,加到存储池里面,确保一切都可以自动化的有序进行。这里我们介绍了增加磁盘的类型,直观的可以看到通过Portworx增加了存储池的容量,为PVCs服务。后续我们还会介绍其他类型,比如当磁盘达到使用率的阈值的时候,增加单个磁盘的容量,而不是增加新磁盘,以及介绍PVCs。上面我们介绍了Autopilot,自动增加磁盘容量,以及存储池容量,希望对您有用,谢谢!