其他分享
首页 > 其他分享> > Portworx on OpenShift 原理

Portworx on OpenShift 原理

作者:互联网

Portworx on RedHat OpenShift

https://v.qq.com/x/page/g0975mnzln0.html

欢迎回到Portworx技术讲解系列。我们今天介绍红帽Openshift上的Portworx。我们讨论基本的OpenShift部署,包括本地部署或者云部署方式,以及Portworx如何在这样的架构里使用。我们从生产环境开始,或者是具备一系列master节点的有一定数量级的集群开始。这是3个master节点,它们提供了API,用户可以通过API进行交互。它们也Host ETCD集群,意味着每一个Master节点上都存有状态,包括OpenShift集群的信息。另一部分我会介绍的是,OpenShift可以本地部署或者云部署,如部署到AWS、微软Azure、Google GCP,这些云计算平台上。本地部署通常是裸金属,可以包括存储阵列,和一组服务器,来提供计算和存储资源。不论是云计算还是本地部署,你可以有一组节点,或者一组VM,部署了操作系统,这些操作系统可能是RHEL或者CentOS。

一旦操作系统部署完成,我们可以把OpenShift部署到RHEL节点里。这个方块代表OpenShift。Openshift被部署到一组节点上,包括Master节点。这些节点里的3个是master节点,其他的可以做为应用、或者各种开发系统的主机。Portworx部署在OpenShift的上面。Portworx是一个云原生存储,为OpenShift上的应用,例如数据库,提供持久卷和动态部署。但是它是部署在Kubernetes之上的。在现在的情况下,它是部署在OpenShift上的,Portworx也可以运行在这些节点的任何一个节点之上,不是master节点,而是worker节点。

如果说我们的本地部署的基础架构,为我们的节点提供了一系列的LUNs,在云架构中,它可能是EBS或者Google持久磁盘。本地部署情况下,它可能是附加的存储阵列-提供LUN,或者直接附加的存储,如SSD,NVME,SATA驱动器。Portworx在安装完成后,会深入操作系统来消耗LUN,或者驱动器。它为Portworx创建了一个全局化的、跨越每一个OpenShift节点的可用存储池。这样你就能够在OpenShift集群上部署应用,Portworx会处理如何把数据附加到容器上。如果容器发生错误,它会流动到其他容器上。

用户如何来与Portworx互动?用户首先需要有一些Github上的代码,这些代码可以引用一个存储类,作为YAML文件的一部分。这个存储类可以为应用,例如数据库,设定一系列的参数,例如复制集、I/O优先级,I/O profile:database,优先级可以选择高、中、低。如果我们选择高,对于REPL,复制集,我们选3个复制集,我们的存储集群就会有这样的信息,以及一个YAML文件,它们会定义一个数据库,或者一个staple服务,会引用这个存储类。现在已经部署到集群上了,起了一个服务,例如是一个数据库,或者是staple服务,Portworx会动态的按照这些参数部署一个卷,为数据库容器服务,这个我们在Kubernetes和OpenShift上称之为PV。

需要引用的是PVC,包括存储类的名称,以便完成动态部署。现在因为我们已经有了3个复制集,Portworx会把三个复制及存储在3个位置,因此3个复制及是跨OpenShift集群的,这样就可以达到数据高可用。如果OpenShift节点上的容器发生错误,Openshift就会重新调度到集群的其他节点上,实现数据库的高可用。不论基础架构是本地部署还是云部署,也不论LUN附加在哪里。因为它管理的是下面的复制集。

这是对Portworx onOpenShift的总体价值,后面我们会讨论如果有多个OpenShift集群的情况,OpenShift可以通过Portworx提供容灾恢复功能。另一个要提到的是OpenShift可以动态的扩展,Portworx也可以随之动态扩展,只要OpenShift集群里的配置正确。在后面的系列视频里,我们会继续介绍OpenShift容灾、备份、和恢复。

标签:存储,部署,OpenShift,集群,原理,Portworx,节点
来源: https://blog.csdn.net/zhangjizhangji/article/details/106505023