CN111736955B - 一种数据存储方法、装置、设备及可读存储介质 - Google Patents
一种数据存储方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111736955B CN111736955B CN202010605042.3A CN202010605042A CN111736955B CN 111736955 B CN111736955 B CN 111736955B CN 202010605042 A CN202010605042 A CN 202010605042A CN 111736955 B CN111736955 B CN 111736955B
- Authority
- CN
- China
- Prior art keywords
- port
- control node
- address
- virtual
- creating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000007726 management method Methods 0.000 claims description 35
- 230000003068 static effect Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 6
- 238000009434 installation Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 abstract description 12
- 230000002085 persistent effect Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 3
- 238000005773 Enders reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- XQMVBICWFFHDNN-UHFFFAOYSA-N 5-amino-4-chloro-2-phenylpyridazin-3-one;(2-ethoxy-3,3-dimethyl-2h-1-benzofuran-5-yl) methanesulfonate Chemical compound O=C1C(Cl)=C(N)C=NN1C1=CC=CC=C1.C1=C(OS(C)(=O)=O)C=C2C(C)(C)C(OCC)OC2=C1 XQMVBICWFFHDNN-UHFFFAOYSA-N 0.000 description 1
- 101150071927 AANAT gene Proteins 0.000 description 1
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 1
- 101000652292 Homo sapiens Serotonin N-acetyltransferase Proteins 0.000 description 1
- 102100030547 Serotonin N-acetyltransferase Human genes 0.000 description 1
- 239000003818 cinder Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种kubernetes集群的数据存储方法、装置、设备及存储介质;在本申请中,虚拟路由器可实现租户网络的虚拟机与控制节点之间的通信;在虚拟机的kubernetes集群上安装csi‑cinder插件,在存储***通过cinder服务进行统一管理后,kubernetes集群便可利用上述通信方式,通过csi‑cinder插件直接访问控制节点的cinder服务,从而实现kubernetes集群的持久化数据存储。
Description
技术领域
本发明涉及数据存储技术领域,更具体地说,涉及一种kubernetes集群的数据存储方法、装置、设备及存储介质。
背景技术
OpenStack是一个开源云操作***,是目前最流行的开源IaaS(Infrastructureas a Service,基础设施即服务)平台,用来管理虚拟机资源。随着容器技术的不断发展,客户除了对IaaS基础资源需求外,对一些IaaS+的服务需求越来越多,其中需求最强烈的就是容器集群服务以及基于容器的应用部署。Kubernetes是目前最流行的开源容器编排引擎,kubernetes on openstack是一种行之有效的组合方案,提供虚拟机和容器的混合资源,即把kubernetes集群部署在openstack上的虚拟机上,社区magnum项目已经实现了kubernetes集群的部署。除了提供容器服务本身之外,部署在容器上的应用的数据也需要持久化,就需要支持容器的持久存储,因为容器本身不能够进行持久存储,容器消失关联的存储也消失。目前的一般做法是使用本地目录作为持久存储,但是不能够进行业务的迁移,另外就是部署一套存储***为kubernetes管理的容器提供持久存储,这种做法的缺点是kubernetes和openstack各自管理一套或者多套存储***,而且还需要存储***的管理和数据网络与虚拟机的业务网络打通才能够让虚拟机访问。这样就需要两套或者多套存储***资源来支撑整个平台,而且对于客户的网络要求比较苛刻,而且使用起来也不友好。
发明内容
本发明的目的在于提供一种kubernetes集群的数据存储方法、装置、设备及存储介质,以实现kubernetes集群的数据存储。
为实现上述目的,本发明提供的一种kubernetes集群的数据存储方法,包括:
在OpenStack平台创建共享网络,在所述共享网络中创建第一端口,在所述OpenStack平台的控制节点的虚拟交换机网桥上创建第二端口,将所述第一端口与所述第二端口关联,并在OpenStack平台创建虚拟路由器;
在OpenStack平台创建用户的租户网络,在所述租户网络上创建虚拟机,并在所述虚拟机上安装kubernetes集群;
将所述租户网络挂载至所述虚拟路由器,并在所述kubernetes集群上部署csi-cinder插件,以使所述kubernetes集群利用所述csi-cinder插件,通过所述虚拟路由器访问控制节点的cinder服务,实现所述kubernetes集群的数据存储;其中,所述虚拟路由器用于将访问所述cinder服务的请求通过第一端口转发至管理网中控制节点的cinder服务。
其中,在所述共享网络中创建第一端口,在所述OpenStack平台的控制节点的虚拟交换机网桥上创建第二端口,将所述第一端口与所述第二端口关联,包括:
在所述共享网络中创建第一端口,所述第一端口的数量和控制节点的数量相同;
在每个控制节点的虚拟交换机网桥上创建第二端口,所述第二端口的数量与所述第一端口的数量相同;
将与同一个控制节点对应的第一端口和第二端口关联,并在控制节点上设置虚拟网卡,所述虚拟网卡的地址设置为与控制节点对应的第一端口的地址;
在keepalived里配置所述共享网络中未被占用的第一端口的IP地址为第一VIP地址,并将与所述第一VIP地址对应的同一控制节点的管理网的IP地址,设置为第二VIP。
其中,所述在OpenStack平台创建虚拟路由器,包括:
在OpenStack平台创建虚拟路由器;
在所述虚拟路由器内设置静态路由,所述静态路由为:当所述虚拟路由器接收到所述虚拟机发送的访问控制节点的存储操作请求时,将所述存储操作请求的下一跳地址指向所述第一VIP地址,以通过第一VIP地址和第二VIP地址的关联关系,将所述存储操作请求发送至第二VIP地址的cinder服务。
其中,在所述虚拟路由器内设置静态路由之后,还包括:
在所述虚拟路由器上开启防火墙功能,仅允许将所述存储操作请求发送至控制节点的cinder服务。
其中,所述存储操作请求包括:所述kubernetes集群的所述csi-cinder插件向控制节点的cinder服务发送的容器卷申请请求、容器卷挂载请求、数据存储请求、容器卷卸载请求、容器卷扩容请求。
为实现上述目的,本发明进一步提供一种kubernetes集群的数据存储装置,包括:
创建模块,用于在OpenStack平台创建共享网络,在所述共享网络中创建第一端口,在所述OpenStack平台的控制节点的虚拟交换机网桥上创建第二端口,将所述第一端口与所述第二端口关联,并在OpenStack平台创建虚拟路由器;
集群安装模块,用于在OpenStack平台创建用户的租户网络,在所述租户网络上创建虚拟机,并在所述虚拟机上安装kubernetes集群;
部署模块,用于将所述租户网络挂载至虚拟路由器,并在所述kubernetes集群上部署csi-cinder插件 ,以使所述kubernetes集群利用所述csi-cinder插件,通过所述虚拟路由器访问控制节点的cinder服务,实现所述kubernetes集群的数据存储;其中,所述虚拟路由器用于将访问所述cinder服务的请求通过第一端口转发至管理网中控制节点的cinder服务。
其中,所述创建模块包括:
第一端口创建单元,用于在所述共享网络中创建第一端口,所述第一端口的数量和控制节点的数量相同;
第二端口创建单元,用于在每个控制节点的虚拟交换机网桥上创建第二端口,所述第二端口的数量与所述第一端口的数量相同;
关联单元,用于将与同一个控制节点对应的第一端口和第二端口关联,并在控制节点上设置虚拟网卡,所述虚拟网卡的地址设置为与控制节点对应的第一端口的地址;
地址设置单元,用于在keepalived里配置所述共享网络中未被占用的第一端口的IP地址为第一VIP地址,并将与所述第一VIP地址对应的同一控制节点的管理网的IP地址,设置为第二VIP。
其中,所述创建模块包括:
路由器创建单元,用于在OpenStack平台创建虚拟路由器;
静态路由设置单元,用于在所述虚拟路由器内设置静态路由;所述静态路由为:当所述虚拟路由器接收到所述虚拟机发送的访问控制节点的存储操作请求时,将所述存储操作请求的下一跳地址指向所述第一VIP地址,以通过第一VIP地址和第二VIP地址的关联关系,将所述存储操作请求发送至第二VIP地址的cinder服务。为实现上述目的,本发明进一步提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的数据存储方法的步骤。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的数据存储方法的步骤。
通过以上方案可知,本发明实施例提供的一种kubernetes集群的数据存储方法、装置、设备及存储介质;在本申请中,创建了用户的租户网络、共享网络和虚拟路由器后,通过将共享网络的第一端口和控制节点的第二端口关联后,使得虚拟路由器可根据该关联关系,实现租户网络的虚拟机与控制节点之间的通信;本申请在虚拟机的kubernetes集群上安装csi-cinder插件,在控制节点通过cinder服务进行统一管理后,kubernetes集群便可利用上述通信方式,通过csi-cinder插件直接访问控制节点的cinder服务,从而实现kubernetes集群的数据存储;可以看出,本申请通过cinder服务对openstack和kubernetes的存储***进行统一管理,通过虚拟路由器使得kubernetes可以访问控制节点的cinder服务,进而使得达到统一存储的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种kubernetes集群的数据存储方法流程示意图;
图2为本发明实施例公开的一种业务网和管理网通信示意图;
图3为本发明实施例公开的容器卷创建流程图;
图4为本发明实施例公开的一种kubernetes集群的数据存储装置结构示意图;
图5为本发明实施例公开的一种电子设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种kubernetes集群的数据存储方法、装置、设备及存储介质,以实现kubernetes集群的数据存储。
参见图1,本发明实施例提供的一种kubernetes集群的数据存储方法流程示意图,包括:
S101、在OpenStack平台创建共享网络,在共享网络中创建第一端口,在OpenStack平台的控制节点的虚拟交换机网桥上创建第二端口,将第一端口与第二端口关联,并在OpenStack平台创建虚拟路由器;
需要说明的是,本申请中的S101具体是用来打通虚拟机与控制节点之间的通信,从而使得虚拟机上安装的kubernetes集群,可以利用csi-cinder插件访问控制节点中的cinder服务,实现kubernetes集群的持久化数据存储。
具体来说,本申请能够进行统一存储管理的关键就是虚拟机业务网络和管理网中cinder的通信,通信方法主要是利用虚拟路由器的SNAT和ovs(openvswitch,虚拟交换机)br-int 虚拟网卡技术,在控制节点上增加一个租户网络的IP,并进行网口转发,最终实现管理网和业务网进行通信,其中S101具体包括如下步骤:
S1、在共享网络中创建第一端口,第一端口的数量和控制节点的数量相同;
具体来说,参见图2,为本发明实施例公开的一种业务网和管理网通信示意图;通过该图可以看出,本申请首先在openstack里创建一个可以和管理网通信的共享网络shareNetwork,并配置为外部网络,网段自行进行规划,不能和管理网已有的地址冲突。然后在该共享网络上创建第一端口neutron port,如果控制节点的数量为多个,则就对应创建多个第一端口neutron port,参见图2,由于控制节点的数量为一个,因此共享网络中创建的第一端口的数量为一个。
S2、在每个控制节点的虚拟交换机网桥上创建第二端口,所述第二端口的数量与所述第一端口的数量相同;
S3、将与同一个控制节点对应的第一端口和第二端口关联,并在控制节点上设置虚拟网卡,所述虚拟网卡的地址设置为与控制节点对应的第一端口的地址;
进一步,本申请还需要在控制节点的虚拟交换机ovs 网桥br-int上添加一个第二端口port,并将该第二端口port关联到创建的第一端口neutron port,并开启linux的网口转发功能。需要说明的是,如果openstack***的控制节点的数量为多个,则创建与每一个控制节点对应的第一端口后,同样需要创建与每个控制节点对应的第二端口,因此,本申请中的第一端口的数量和控制节点的数量相同,第二端口的数量和控制节点的数量相同,第一端口的数量与第二端口的数量相同。并且,本申请将对应的第一端口和第二端口关联后,还需要在控制节点上配置一个虚拟网卡,设置该虚拟网卡的mac地址为对应的第一端口neutron port的mac地址,设置该虚拟网卡的IP地址为对应的第一端口neutron port的IP地址。
S4、在keepalived里配置所述共享网络中未被占用的第一端口的IP地址为第一VIP地址,并将与所述第一VIP地址对应的同一控制节点的管理网的IP地址,设置为第二VIP。
需要说明的是,由于第一端口及第二端口的数量为多个,而每个端口都具有对应的IP地址,因此本申请为了保证***具备高可用,在Keepalived里配置一个共享网络shareNetwork里一个没有被占用的端口的IP地址为VIP地址,该VIP地址具体包括第一端口的第一VIP地址和第二端口的第二VIP地址,该第一VIP地址和第二VIP地址对应的端口属于同一个控制节点。并且,该Keepalived里的VIP优先级配置和openstack的管理网VIP优先级保持一致,能够保证两个VIP始终在一个节点启动,如:Keepalived里的VIP为第一个控制节点的第一端口的IP地址,则管理网中的第二VIP同样是该第一个控制节点的管理网IP地址。
S5、在OpenStack平台创建虚拟路由器;在所述虚拟路由器内设置静态路由,所述静态路由为:当所述虚拟路由器接收到所述虚拟机发送的访问控制节点的存储操作请求时,将所述存储操作请求的下一跳地址指向所述第一VIP地址,以通过第一VIP地址和第二VIP地址的关联关系,将所述存储操作请求发送至第二VIP地址的cinder服务。
参见图2,本申请在创建共享网络,并将共享网络与控制节点的端口关联之后,还需要创建虚拟路由器vRouter1,并在该虚拟路由器上设置网关为共享网络的一个IP地址,进行snat转发;具体来说,由于本申请预先设置了共享网络中不同第一端口的优先级,如:优先级最高的第一端口的IP地址为第一VIP地址,因此本申请具体是将虚拟路由器的网关设置为第一VIP地址。并且,本申请还需要配置静态路由,具体为:配置虚拟机访问管理网的下一条地址为控制节点的第一端口neutron port的IP地址,进行静态路由配置后,可在虚拟机访问管理网络中控制节点的IP地址时,将该访问请求直接发送至第一VIP地址,并通过第一VIP地址和第二VIP地址的关联关系,将访问请求发送至第二VIP地址的cinder服务。
S102、在OpenStack平台创建用户的租户网络,在租户网络上创建虚拟机,并在虚拟机上安装kubernetes集群;
具体的,在本申请中,每个用户需要创建自己的租户网络,该租户网络为图2中的Network1或者Network2;然后在用户创建的租户网络上创建虚拟机,并安装kubernetes集群。
S103、将租户网络挂载至虚拟路由器,并在kubernetes集群上部署csi-cinder插件,以使kubernetes集群利用csi-cinder插件,通过虚拟路由器访问控制节点的cinder服务,实现kubernetes集群的数据存储;其中,所述虚拟路由器用于将访问所述cinder服务的请求通过第一端口转发至管理网中控制节点的cinder服务。
具体来说,用户创建虚拟机并安装kubernetes集群后,如果想访问openstack***的cinder管理的存储***,则需要把用户的租户网络挂载到虚拟路由器vRotuer上。如图2所示,需要将租户网络network1和network2与虚拟路由器vRouter进行关联,并将虚拟路由器的网关设置为租户网络的IP地址,这样,虚拟机或者裸机便可以通过各自的租户网络IP访问管理网中的cinder服务。进一步,为了保证安全,本申请在虚拟路由器上开启防火墙功能,仅允许将存储操作请求发送至控制节点的cinder服务。通过这种方式,使得管理网无法知道虚拟机的真实IP,通过设置虚拟路由器的防火墙,只暴露cinder的访问端口给虚拟机,保证双方的安全性。
需要说明的是,Kubernetes集群部署完成后,用户需要通过操作界面控制台,一键部署csi-cinder插件,该插件可利用用户信息访问控制节点的cinder服务,创建容器卷进行使用。其中,在部署csi-cinder插件时,用户只需要输入当前已登录用户的密码,因为用户的密码都是隐私的,不易存放到配置文件里,需要手动输入进行确认。进而,后台kubernetes集群管理组件会根据当前用户的token解析出项目ID和用户名,通过keystone获取cinder endpoint,并将上述信息与用户输入的密码一同转换成kubernetes的config文件,并进行加密,然后调用该kubernetes集群的api-server安装csi-cinder插件。在安装插件时,kubernetes csi-cinder插件利用config文件和cinder交互。其中,cinderendpoint为暴露在管理网IP上的存储服务访问地址,也就是管理数据卷的cinder服务。
其中,本申请中的kubernetes集群利用所述csi-cinder插件,通过所述虚拟路由器访问控制节点的cinder服务,实现所述kubernetes集群的数据存储时,具体包括如下步骤:kubernetes集群利用csi-cinder插件向控制节点发送存储操作请求,虚拟路由器通过第一端口的第一VIP地址接收该存储操作请求,并转发至管理网的第二端口的第二VIP地址,从而实现将存储操作请求发送至管理网的控制节点,以通过该控制节点的cinder服务响应存储操作请求。其中,存储操作请求包括:kubernetes集群的csi-cinder插件向控制节点的cinder服务发送的容器卷申请请求、容器卷挂载请求、数据存储请求、容器卷卸载请求、容器卷扩容请求。
需要说明的是,本申请中的Kubernetes集群运行在虚拟机上,若kubernetes集群想使用持久存储,则首先需要申请一个数据卷,然后挂载到虚拟机上的目录上。只有挂载到目录上的数据卷才会被kubernetes识别并使用,而申请数据卷、挂载数据卷等动作,均是kubernetes的csi-cinder插件发送命令给cinder服务完成的。
可以理解的是,本申请可抽象出容器卷和容器卷类型,其用法和虚拟机的卷和卷类型一样,选择不同的卷类型,会落到对应的存储***,对于熟悉虚拟机操作的人员很容易上手操作。因此,Csi-cinder插件安装好以后,用户就可以创建容器卷。首先先选择某个卷类型,并传递给集群管理组件,自动转换成kubernetes内部对应的csi-cinder插件里的一个存储类SC(storage class,代表着一个存储的类型,创建的容器卷需要在某个存储类下),如果该存储类不存在则创建,如果存在则复用,在该存储类下创建一个容器持久卷,使用户可以对容器卷进行像虚拟机一样的操作,如挂载、卸载、扩容删除等,如图3所示,用户选择容器卷信息后,可以通过管理分析中心将信息发送至集群管理组件,并通过集群的csi-cinder插件与控制节点中cinder服务的交互,实现对容器卷的各种操作。
综上可以看出,本申请提出的这种OpenStack和kubernetes存储资源统一管理的方法,可以对存储***进行统一管理,可以使用同一套存储***同时提供虚拟机和容器的持久存储,不需要额外一套存储***,也不需要虚拟机额外一个网卡,也不需要额外的IP规划,节省硬件资源,同时避免了在每个节点上安装存储***驱动,操作方便、快捷,而且操作上能够和虚拟机与虚拟机卷的用法一致,学习成本低。
下面对本发明实施例提供的数据存储装置进行介绍,下文描述的数据存储装置与上文描述的数据存储方法可以相互参照。
参见图4,本发明实施例提供的一种kubernetes集群的数据存储装置结构示意图;该装置包括:
创建模块100,用于在OpenStack平台创建共享网络,在所述共享网络中创建第一端口,在所述OpenStack平台的控制节点的虚拟交换机网桥上创建第二端口,将所述第一端口与所述第二端口关联,并在OpenStack平台创建虚拟路由器;
集群安装模块200,用于在OpenStack平台创建用户的租户网络,在所述租户网络上创建虚拟机,并在所述虚拟机上安装kubernetes集群;
部署模块300,用于将所述租户网络挂载至虚拟路由器,并在所述kubernetes集群上部署csi-cinder插件 ,以使所述kubernetes集群利用所述csi-cinder插件,通过所述虚拟路由器访问控制节点的cinder服务,实现所述kubernetes集群的数据存储;其中,所述虚拟路由器用于将访问所述cinder服务的请求通过第一端口转发至管理网中控制节点的cinder服务。
其中,所述创建模块包括:
第一端口创建单元,用于在所述共享网络中创建第一端口,所述第一端口的数量和控制节点的数量相同;
第二端口创建单元,用于在每个控制节点的虚拟交换机网桥上创建第二端口,所述第二端口的数量与所述第一端口的数量相同;
关联单元,用于将与同一个控制节点对应的第一端口和第二端口关联,并在控制节点上设置虚拟网卡,所述虚拟网卡的地址设置为与控制节点对应的第一端口的地址;
地址设置单元,用于在keepalived里配置所述共享网络中未被占用的第一端口的IP地址为第一VIP地址,并将与所述第一VIP地址对应的同一控制节点的管理网的IP地址,设置为第二VIP。
其中,所述创建模块包括:
路由器创建单元,用于在OpenStack平台创建虚拟路由器;
静态路由设置单元,用于在所述虚拟路由器内设置静态路由;所述静态路由为:当所述虚拟路由器接收到所述虚拟机发送的访问控制节点的存储操作请求时,将所述存储操作请求的下一跳地址指向所述第一VIP地址,以通过第一VIP地址和第二VIP地址的关联关系,将所述存储操作请求发送至第二VIP地址的cinder服务。
其中,所述创建模块还包括:
功能开启单元,用于在所述虚拟路由器上开启防火墙功能,仅允许将所述存储操作请求发送至控制节点的cinder服务。
其中,所述存储操作请求包括:所述kubernetes集群的所述csi-cinder插件向控制节点的cinder服务发送的容器卷申请请求、容器卷挂载请求、数据存储请求、容器卷卸载请求、容器卷扩容请求。
参见图5,本发明实施例还公开了一种电子设备结构示意图;该设备包括:
存储器11,用于存储计算机程序;
处理器12,用于执行所述计算机程序时实现上述任意方法实施例所述的数据存储方法的步骤。
在本实施例中,设备可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机等终端设备。
该设备可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是设备的内部存储单元,例如该设备的硬盘。存储器11在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式硬盘,智能存储卡(SmartMedia Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括设备的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于设备的应用软件及各类数据,例如执行数据存储方法的程序代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行数据存储方法的程序代码等。
该总线13可以是外设部件互连标准(perIPheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,设备还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备与其他电子设备之间建立通信连接。
可选地,该设备还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备中处理的信息以及用于显示可视化的用户界面。
图5仅示出了具有组件11-14的设备,本领域技术人员可以理解的是,图5示出的结构并不构成对设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例所述的数据存储方法的步骤。
其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory ,ROM)、随机存取存储器(Random Access Memory ,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (6)
1.一种kubernetes集群的数据存储方法,其特征在于,包括:
在OpenStack平台创建共享网络,在所述共享网络中创建第一端口,在所述OpenStack平台的控制节点的虚拟交换机网桥上创建第二端口,将所述第一端口与所述第二端口关联,并在OpenStack平台创建虚拟路由器;
在OpenStack平台创建用户的租户网络,在所述租户网络上创建虚拟机,并在所述虚拟机上安装kubernetes集群;
将所述租户网络挂载至所述虚拟路由器,并在所述kubernetes集群上部署csi-cinder插件,以使所述kubernetes集群利用所述csi-cinder插件,通过所述虚拟路由器访问控制节点的cinder服务,实现所述kubernetes集群的数据存储;其中,所述虚拟路由器用于将访问所述cinder服务的请求通过第一端口转发至管理网中控制节点的cinder服务;
在所述共享网络中创建第一端口,在所述OpenStack平台的控制节点的虚拟交换机网桥上创建第二端口,将所述第一端口与所述第二端口关联,包括:
在所述共享网络中创建第一端口,所述第一端口的数量和控制节点的数量相同;
在每个控制节点的虚拟交换机网桥上创建第二端口,所述第二端口的数量与所述第一端口的数量相同;
将与同一个控制节点对应的第一端口和第二端口关联,并在控制节点上设置虚拟网卡,所述虚拟网卡的地址设置为与控制节点对应的第一端口的地址;
在keepalived里配置所述共享网络中未被占用的第一端口的IP地址为第一VIP地址,并将与所述第一VIP地址对应的同一控制节点的管理网的IP地址,设置为第二VIP;
所述在OpenStack平台创建虚拟路由器,包括:
在OpenStack平台创建虚拟路由器;
在所述虚拟路由器内设置静态路由,所述静态路由为:当所述虚拟路由器接收到所述虚拟机发送的访问控制节点的存储操作请求时,将所述存储操作请求的下一跳地址指向所述第一VIP地址,以通过第一VIP地址和第二VIP地址的关联关系,将所述存储操作请求发送至第二VIP地址的cinder服务。
2.根据权利要求1所述的数据存储方法,其特征在于,在所述虚拟路由器内设置静态路由之后,还包括:
在所述虚拟路由器上开启防火墙功能,仅允许将所述存储操作请求发送至控制节点的cinder服务。
3.根据权利要求1所述的数据存储方法,其特征在于,所述存储操作请求包括:所述kubernetes集群的所述csi-cinder插件向控制节点的cinder服务发送的容器卷申请请求、容器卷挂载请求、数据存储请求、容器卷卸载请求、容器卷扩容请求。
4.一种kubernetes集群的数据存储装置,其特征在于,包括:
创建模块,用于在OpenStack平台创建共享网络,在所述共享网络中创建第一端口,在所述OpenStack平台的控制节点的虚拟交换机网桥上创建第二端口,将所述第一端口与所述第二端口关联,并在OpenStack平台创建虚拟路由器;
集群安装模块,用于在OpenStack平台创建用户的租户网络,在所述租户网络上创建虚拟机,并在所述虚拟机上安装kubernetes集群;
部署模块,用于将所述租户网络挂载至虚拟路由器,并在所述kubernetes集群上部署csi-cinder插件 ,以使所述kubernetes集群利用所述csi-cinder插件,通过所述虚拟路由器访问控制节点的cinder服务,实现所述kubernetes集群的数据存储;其中,所述虚拟路由器用于将访问所述cinder服务的请求通过第一端口转发至管理网中控制节点的cinder服务;
所述创建模块包括:
第一端口创建单元,用于在所述共享网络中创建第一端口,所述第一端口的数量和控制节点的数量相同;
第二端口创建单元,用于在每个控制节点的虚拟交换机网桥上创建第二端口,所述第二端口的数量与所述第一端口的数量相同;
关联单元,用于将与同一个控制节点对应的第一端口和第二端口关联,并在控制节点上设置虚拟网卡,所述虚拟网卡的地址设置为与控制节点对应的第一端口的地址;
地址设置单元,用于在keepalived里配置所述共享网络中未被占用的第一端口的IP地址为第一VIP地址,并将与所述第一VIP地址对应的同一控制节点的管理网的IP地址,设置为第二VIP;
所述创建模块包括:
路由器创建单元,用于在OpenStack平台创建虚拟路由器;
静态路由设置单元,用于在所述虚拟路由器内设置静态路由;所述静态路由为:当所述虚拟路由器接收到所述虚拟机发送的访问控制节点的存储操作请求时,将所述存储操作请求的下一跳地址指向所述第一VIP地址,以通过第一VIP地址和第二VIP地址的关联关系,将所述存储操作请求发送至第二VIP地址的cinder服务。
5.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至3任一项所述的数据存储方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的数据存储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010605042.3A CN111736955B (zh) | 2020-06-29 | 2020-06-29 | 一种数据存储方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010605042.3A CN111736955B (zh) | 2020-06-29 | 2020-06-29 | 一种数据存储方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111736955A CN111736955A (zh) | 2020-10-02 |
CN111736955B true CN111736955B (zh) | 2023-01-10 |
Family
ID=72652135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010605042.3A Active CN111736955B (zh) | 2020-06-29 | 2020-06-29 | 一种数据存储方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111736955B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112839072B (zh) * | 2020-10-19 | 2023-06-30 | 南京中兴新软件有限责任公司 | 数据处理方法、装置、***、计算机设备和可读介质 |
CN111966305B (zh) * | 2020-10-22 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 持久卷分配方法、装置、计算机设备和存储介质 |
CN113485786B (zh) * | 2021-06-29 | 2022-05-17 | 济南浪潮数据技术有限公司 | 一种基于云物理机实现pod挂载cinder卷的方法及*** |
CN113676471B (zh) * | 2021-08-17 | 2023-04-07 | 上海道客网络科技有限公司 | 基于容器云平台的跨节点通信方法、***、介质和电子设备 |
CN113746741B (zh) * | 2021-08-20 | 2023-07-18 | 苏州浪潮智能科技有限公司 | 一种存储设备网络的设置方法、装置、设备及可读介质 |
CN114928591A (zh) * | 2022-05-31 | 2022-08-19 | 济南浪潮数据技术有限公司 | 一种虚拟机ip地址的添加方法、装置以及介质 |
CN115883354B (zh) * | 2023-02-21 | 2023-05-19 | 塔比星信息技术(深圳)有限公司 | 应用自动化部署方法、装置、设备及存储介质 |
CN115987890B (zh) * | 2023-03-20 | 2023-06-09 | 苏州浪潮智能科技有限公司 | 跨集群访问虚拟ip地址方法、装置、电子设备及存储介质 |
CN116599901B (zh) * | 2023-06-13 | 2024-01-23 | 苏州浪潮智能科技有限公司 | 业务调度方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108449272A (zh) * | 2017-09-19 | 2018-08-24 | 大唐网络有限公司 | 一种基于OpenStack架构提供端口转发服务的实现方法 |
US20180307522A1 (en) * | 2015-12-31 | 2018-10-25 | Huawei Technologies Co., Ltd. | Software-defined data center, and deployment method for service cluster therein |
CN109656686A (zh) * | 2018-12-17 | 2019-04-19 | 武汉烽火信息集成技术有限公司 | OpenStack上部署容器云方法、存储介质、电子设备及*** |
CN110750334A (zh) * | 2019-10-25 | 2020-02-04 | 北京计算机技术及应用研究所 | 一种基于Ceph的网络靶场后端存储***设计方法 |
CN111176664A (zh) * | 2019-12-26 | 2020-05-19 | 中国电子科技网络信息安全有限公司 | 一种存储集群设置方法、装置、介质及设备 |
-
2020
- 2020-06-29 CN CN202010605042.3A patent/CN111736955B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180307522A1 (en) * | 2015-12-31 | 2018-10-25 | Huawei Technologies Co., Ltd. | Software-defined data center, and deployment method for service cluster therein |
CN108449272A (zh) * | 2017-09-19 | 2018-08-24 | 大唐网络有限公司 | 一种基于OpenStack架构提供端口转发服务的实现方法 |
CN109656686A (zh) * | 2018-12-17 | 2019-04-19 | 武汉烽火信息集成技术有限公司 | OpenStack上部署容器云方法、存储介质、电子设备及*** |
CN110750334A (zh) * | 2019-10-25 | 2020-02-04 | 北京计算机技术及应用研究所 | 一种基于Ceph的网络靶场后端存储***设计方法 |
CN111176664A (zh) * | 2019-12-26 | 2020-05-19 | 中国电子科技网络信息安全有限公司 | 一种存储集群设置方法、装置、介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111736955A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111736955B (zh) | 一种数据存储方法、装置、设备及可读存储介质 | |
CN111614738B (zh) | 基于Kubernetes集群的服务访问方法、装置、设备及存储介质 | |
US10666609B2 (en) | Management of domain name systems in a large-scale processing environment | |
EP3170071B1 (en) | Self-extending cloud | |
CN109889621B (zh) | 虚拟私有云服务的配置方法和装置 | |
US9246765B2 (en) | Apparatus and methods for auto-discovery and migration of virtual cloud infrastructure | |
CN106850324B (zh) | 虚拟网络接口对象 | |
US11641308B2 (en) | Software defined networking orchestration method and SDN controller | |
CN111901177B (zh) | 一种裸金属服务器网络配置方法、***及相关设备 | |
CN103607430A (zh) | 一种网络处理的方法和***及网络控制中心 | |
US11177974B2 (en) | Consistent provision of member node group information on virtual overlay network | |
CN109120444B (zh) | 云资源管理方法、处理器以及存储介质 | |
WO2021086800A1 (en) | Cloud-based managed networking service that enables users to consume managed virtualized network functions at edge locations | |
CN114942826A (zh) | 跨网络多集群***及其访问方法及云计算设备 | |
CN113079207A (zh) | 一种实现端口或网络高可用的方法、***、终端及介质 | |
CN114422350B (zh) | 一种公共云容器实例创建方法 | |
CN110061857B (zh) | 一种多mec能力开放和共享的方法及*** | |
CN115604120A (zh) | 一种多云集群资源共享方法、装置、设备及存储介质 | |
CN112328318A (zh) | 专有云平台自动规划的方法、装置及存储介质 | |
CN108881460B (zh) | 一种云平台统一监控的实现方法和实现装置 | |
CN104967572A (zh) | 网络访问方法、装置及设备 | |
CN110753093B (zh) | 云计算***中设备的管理方法和装置 | |
US10171292B1 (en) | Deploying a cloud infrastructure in a remote site | |
CN103209127A (zh) | 基于Linux***实现虚拟路由转发方法和装置 | |
CN113923149B (zh) | 网络接入方法、装置、网络***、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |