一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

虚拟私有云服务的访问方法、装置、设备及存储介质与流程

2022-04-25 01:53:33 来源:中国专利 TAG:
1.本发明涉及数据处理
技术领域
:,尤其涉及一种虚拟私有云服务的访问方法、装置、设备及计算机可读存储介质。
背景技术
::2.基于虚拟私有云vpc(virtualprivatecloud)进行租户隔离是云计算领域的通用手段。kubernetes(简称k8s)作为基于容器的基础设施平台,用于多租户的共享使用。在kubernetes集群中,pod是所有业务类型的基础,也是k8s管理的最小单位级,是一个或多个容器的组合。在访问vpc中的服务(vpcpod)时,由于访问对象需要调用服务发现coredns服务或配置控制ingresscontroller服务访问被访问虚拟私有云服务vpcpod的接口服务,以确定被访问vpcpod对应的服务ip(podip)。但是,在访问对象与被访问虚拟私有云服务的接口服务之间存在隔离或访问对象没有访问权限(访问被访问虚拟私有云服务的接口服务的权限)时,会产生访问失败的问题。技术实现要素:3.本发明的主要目的在于提供一种虚拟私有云服务的访问方法、装置、设备及计算机可读存储介质,旨在解决虚拟私有云隔离导致不同虚拟私有云中的服务之间无法访问的技术问题。4.为实现上述目的,本发明提供一种虚拟私有云服务的访问方法,所述虚拟私有云服务的访问方法包括:通过虚拟防火墙组件以及所述虚拟防火墙组件中的第一地址映射,访问目标服务,并基于所述目标服务访问接口服务,其中,所述第一地址映射为被访问虚拟私有云服务的虚拟私有云ip与所述接口服务所属宿主机的ip之间的映射;通过所述接口服务确定所述被访问虚拟私有云服务的服务ip,并根据所述服务ip将访问请求转发至所述被访问虚拟私有云服务。5.此外,为实现上述目的,本发明还提供一种虚拟私有云服务的访问装置,所述虚拟私有云服务的访问装置包括:接口服务访问模块,用于通过虚拟防火墙组件以及所述虚拟防火墙组件中的第一地址映射,访问目标服务,并基于所述目标服务访问接口服务,其中,所述第一地址映射为被访问虚拟私有云服务的虚拟私有云ip与所述接口服务所属宿主机的ip之间的映射;访问请求转发模块,用于通过所述接口服务确定所述被访问虚拟私有云服务的服务ip,并根据所述服务ip将访问请求转发至所述被访问虚拟私有云服务。6.此外,为实现上述目的,本发明还提供一种虚拟私有云服务的访问设备,所述虚拟私有云服务的访问设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的虚拟私有云服务的访问程序,其中所述虚拟私有云服务的访问程序被所述处理器执行时,实现如上述的虚拟私有云服务的访问方法的步骤。7.此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有虚拟私有云服务的访问程序,其中所述虚拟私有云服务的访问程序被处理器执行时,实现如上述的虚拟私有云服务的访问方法的步骤。8.本发明提供一种虚拟私有云服务的访问方法,所述方法通过虚拟防火墙组件以及所述虚拟防火墙组件中的第一地址映射,访问目标服务,并基于所述目标服务访问接口服务,其中,所述第一地址映射为被访问虚拟私有云服务的虚拟私有云ip与所述接口服务所属宿主机的ip之间的映射;通过所述接口服务确定所述被访问虚拟私有云服务的服务ip,并根据所述服务ip将访问请求转发至所述被访问虚拟私有云服务。通过上述方式,基于虚拟防火墙组件中的地址映射,实现虚拟私有云内外隔离对象的互访,避免因虚拟私有云的隔离导致访问虚拟私有云服务失败的问题,提高了虚拟私有云服务的访问成功率,提高了用户体验,解决了虚拟私有云隔离导致不同虚拟私有云中的服务之间无法访问的技术问题。附图说明9.图1为本发明实施例方案中涉及的虚拟私有云服务的访问设备的硬件结构示意图;10.图2为本发明虚拟私有云服务的访问方法第一实施例的流程示意图;11.图3为本发明虚拟私有云服务的访问过程示意图;12.图4为本发明虚拟私有云服务的访问方法第二实施例的流程示意图;13.图5为本发明虚拟私有云服务的访问方法第三实施例的流程示意图;14.图6为本发明虚拟私有云服务的访问装置第一实施例的功能模块示意图。15.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式16.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。17.本发明实施例涉及的虚拟私有云服务的访问方法主要应用于虚拟私有云服务的访问设备,该虚拟私有云服务的访问设备可以是pc、便携计算机、移动终端等具有显示和处理功能的设备。18.参照图1,图1为本发明实施例方案中涉及的虚拟私有云服务的访问设备的硬件结构示意图。本发明实施例中,虚拟私有云服务的访问设备可以包括处理器1001(例如cpu),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口);存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。19.本领域技术人员可以理解,图1中示出的硬件结构并不构成对虚拟私有云服务的访问设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。20.继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作系统、网络通信模块以及虚拟私有云服务的访问程序。21.在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的虚拟私有云服务的访问程序,并执行本发明实施例提供的虚拟私有云服务的访问方法。22.本发明实施例提供了一种虚拟私有云服务的访问方法。23.参照图2,图2为本发明虚拟私有云服务的访问方法第一实施例的流程示意图。24.本实施例中,所述虚拟私有云服务的访问方法包括以下步骤:25.步骤s10,通过虚拟防火墙组件以及所述虚拟防火墙组件中的第一地址映射,访问目标服务,并基于所述目标服务访问接口服务,其中,所述第一地址映射为被访问虚拟私有云服务的虚拟私有云ip与所述接口服务所属宿主机的ip之间的映射;26.在基于vpc隔离的k8s集群网络环境下,由于位于vpc网络(vpc网络定义为业务网络)中的各个pod不能直接访问位于云管网络(k8s集群节点的宿主机网络定义为云管网络)中的域名解析服务(如服务发现coredns服务或配置控制ingresscontroller服务),因此,本实施例中,通过增加虚拟防火墙组件vfw组件(即虚拟防火墙插件),并在vfw中预先配置地址映射,由此实现跨网络访问。27.本实施例中,访问类型分为三种:28.第一种是k8s集群外的访问对象访问k8s集群内的pod实例,如图3中,vpc1与vpc2属于同一集群不同vpc,该集群外的访问对象访问该集群内的pod实例。该类型中的访问对象需要通过对应服务(ingresscontroller服务),并在vfw中增加两种地址映射(即外网ip与vpcpod的vpcip之间的映射以及被访问vpcpod的vpcip与用于获取被访问对象的podip的服务所属宿主机ip之间的映射)进行访问;29.第二种是k8s集群内的不同vpc内的pod实例互相访问,如图3中vpc1中的pod访问vpc2中的pod。该类型中的访问对象需要通过对应服务(coredns服务),并在vfw中增加两种地址映射(即被访问vpcpod的vpcip与访问对象所属vocip之间的映射以及被访问vpcpod的vpcip与用于获取被访问对象的podip的服务(coredns服务)所属宿主机ip之间的映射);30.第三种是k8s集群内的同一vpc内的pod实例互相访问,如下图中vpc1中的pod访问vpc1中的另外pod。该类型中的访问对象需要通过对应服务(coredns服务),并在vfw中增加一种地址映射(即被访问vpcpod的vpcip与用于获取被访问对象的podip的服务(coredns服务)所属宿主机ip之间的映射)。31.具体地,在vfw中增加被访问vpcpod的vpcip与所述接口服务所属宿主机的ip之间的映射,即可访问位于云管网络中的接口服务,以通过所述接口服务确定被访问vpcpod的podip。32.步骤s20,通过所述接口服务确定所述被访问虚拟私有云服务的服务ip,并根据所述服务ip将访问请求转发至所述被访问虚拟私有云服务。33.本实施例中,通过获取apiserver服务中的服务域名记录确定vpcpod的集群ip(即clusterip),并将clusterip返回至vpcpod(vpcpod通过k8s内置的iptablesnat规则(用于实现网络地址转换)将clusterip转换为podip,并将podip对应的访问转发给服务对应的后端pod实例。34.进一步地,所述通过所述接口服务确定所述被访问虚拟私有云服务的服务ip具体包括:35.通过所述接口服务获取服务域名记录,并在所述服务域名记录中,根据所述被访问虚拟私有云服务对应的服务,确定所述被访问虚拟私有云服务对应的目标集群ip;36.根据预设规则,将所述目标集群ip转换为所述目标服务ip。37.本实施例中,接口服务中存储有服务域名记录,服务域名记录中包括各个服务及其对应的集群ip(clusterip)。通过所述被访问vpcpod对应的服务(即所述被访问vpcpod所属服务),即可在服务域名记录中确定被访问vpcpod所属服务的目标集群ip,记为所述被访问vpcpod对应的目标集群ip。然后通过k8s内置的iptablesnat规则将所述目标集群ip转换为所述目标podip,即将目标clusterip的访问转发给被访问vpcpod所属服务对应的后端pod实例。38.本实施例提供一种虚拟私有云服务的访问方法,所述方法通过虚拟防火墙组件以及所述虚拟防火墙组件中的第一地址映射,访问目标服务,并基于所述目标服务访问接口服务,其中,所述第一地址映射为被访问虚拟私有云服务的虚拟私有云ip与所述接口服务所属宿主机的ip之间的映射;通过所述接口服务确定所述被访问虚拟私有云服务的服务ip,并根据所述服务ip将访问请求转发至所述被访问虚拟私有云服务。通过上述方式,基于虚拟防火墙组件中的地址映射,实现虚拟私有云内外隔离对象的互访,避免因虚拟私有云的隔离导致访问虚拟私有云服务失败的问题,提高了虚拟私有云服务的访问成功率,提高了用户体验,解决了虚拟私有云隔离导致不同虚拟私有云中的服务之间无法访问的技术问题。39.参照图4,图4为本发明虚拟私有云服务的访问方法第二实施例的流程示意图。40.基于上述图2所示实施例,本实施例中,所述步骤s10具体包括:41.步骤s11,在访问对象与所述被访问虚拟私有云服务不属于同一集群时,基于外部域名解析服务,对所述访问对象的外部域名进行解析,并确定所述外部域名对应的外网ip;42.步骤s12,通过所述被访问虚拟私有云服务对应的服务访问所述虚拟防火墙组件,并通过所述虚拟防火墙组件中的第二地址映射,访问对应配置控制服务,其中,所述第二地址映射为所述被访问虚拟私有云服务的虚拟私有云ip与所述外网ip之间的映射;43.步骤s13,通过所述配置控制服务,并基于所述虚拟防火墙以及所述第一地址映射,访问所述被访问虚拟私有云服务对应的接口服务。44.本实施例中,访问对象可以是集群外的移动端、网页、终端、客户端中的至少一种。采用常用的nginx作为ingresscontroller,且每个vpc分别部署一套ingresscontroller,并基于‑‑ingress-class参数指定唯一的ingressclass名,从而在ingress中可基于ingress-classannotation确定ingresscontroller。45.预先在ingresscontroller中进行配置,即通过‑‑kubeconfig参数将apiserver访问指向被访问vpcpod的集群ip。46.然后在检测到集群外的访问对象对集群内的vpcpod进行访问时,首先基于外部dns对访问对象的外部域名进行解析,由此确定所述外部域名对应的外网ip。在确定外网ip后,通过vfw中配置的所述被访问vpcpod的vpcip与所述外网ip之间的第二地址映射(即通过vfw代理外网ip访问vpcingresscontrollerip),访问被访问vpcpod所属vpc网络下的ingresscontroller服务。以通过ingresscontroller服务访问所述被访问vpcpod对应的接口服务(即通过vfw代理ingresscontroller服务访问位于宿主机ip的apiserver服务)。47.进一步地,所述步骤s12还包括:48.获取所述访问对象访问所述被访问虚拟私有云服务的访问链接,通过所述配置控制服务将所述访问链接与预设配置规则进行比对,以确定所述被访问虚拟私有云服务对应的服务。49.本实施例中,由于一个集群中存在多个服务,因此ingresscontroller服务需将访问被访问vpcpod对应的访问链接url(即外部域名访问vpcpod的链接,如http://abc.com:80/svc1)与配置规则(用于记载各url与对应服务的ingress规则)进行比对。并根据比对结果,确定所述被访问vpcpod所属服务的服务分组。ingresscontroller服务可根据所述被访问vpcpod所属服务的服务分组在apiserver中(即指向—kubeconfig参数中配置的代理vpcip)确定所述被访问vpcpod。以将服务流量转发到service对应的后端pod实例(即被访问vpcpod)。50.参照图5,图5为本发明虚拟私有云服务的访问方法第三实施例的流程示意图。51.基于上述图2所示实施例,本实施例中,所述步骤s10还包括:52.步骤s14,在所述访问对象与所述被访问虚拟私有云服务属于同一集群且属于同一虚拟私有云时,基于所述被访问虚拟私有云服务对应的服务名,确定所述被访问虚拟私有云服务对应的服务;53.步骤s15,通过所述被访问虚拟私有云服务对应的服务访问所述虚拟防火墙组件,并通过所述虚拟防火墙组件中的第一地址映射,访问服务发现服务;54.步骤s16,通过所述服务发现服务访问所述被访问虚拟私有云服务对应的接口服务。55.本实施例中,预先进行配置,k8s集群全局部署一套coredns服务,且所述coredns服务在k8s中以hostnetwork模式部署,在vfw映射coredns服务所属宿主机ip与所述被访问vpcpod的vpcip访问,以通过coredns服务解析出被访问vpcpod的podip,其中,每个vpc(vpcpod的vpcip)映射一个宿主机ip(即coredns服务所属宿主机ip),以现跨宿主机云管网络和业务vpc网络平面的服务访问。56.在所述访问对象与所述被访问vpcpod属于同一集群且属于同一vpc时,基于所述被访问vpcpod对应的服务名,即可确定所述被访问vpcpod对应的服务。由于属于同一vpc网络,不存在网络隔离,因此可直接访问被访问vpcpod对应的服务。然后根据被访问vpcpod中配置的nameserver进行服务域名解析(即指向coredns服务),具体通过vfw代理(基于被访问vpcpod的vpcip与所述接口服务所属宿主机的ip之间的映射)访问位于宿主机网络的coredns服务,coredns服务通过获取apiserver服务中的服务域名记录确定vpcpod的集群ip(即clusterip),并将clusterip返回至vpcpod(vpcpod通过k8s内置的iptablesnat规则(用于实现网络地址转换)将clusterip转换为podip,并将podip对应的访问转发给服务对应的后端pod实例。57.进一步地,所述通所述被访问虚拟私有云服务对应的服务访问所述虚拟防火墙组件,并通过所述虚拟防火墙组件中的第一地址映射,访问服务发现服务的步骤之前,还包括:58.在所述访问对象与所述被访问虚拟私有云服务属于同一集群且不属于同一虚拟私有云时,通过所述虚拟防火墙组件以及所述虚拟防火墙组件中的第三地址映射,访问所述被访问虚拟私有云服务对应的服务,其中,所述第三地址映射为所述访问对象所属虚拟私有云的虚拟私有云ip与所述被访问虚拟私有云服务的虚拟私有云ip之间的映射。59.本实施例中,在所述访问对象与所述被访问vpcpod属于同一集群且不属于同一vpc时,需要在所述虚拟防火墙组件中增加所述访问对象所属vpc的vpcip与所述被访问vpcpod的vpcip之间的映射,以实现跨网络服务访问。60.进一步地,所述通过所述被访问虚拟私有云服务对应的服务访问所述虚拟防火墙组件,并通过所述虚拟防火墙组件中的第一地址映射,访问服务发现服务的步骤之前,还包括:61.将所述被访问虚拟私有云服务对应的预设外部域名解析策略的标志设置为预设标志,并在所述外部域名解析配置中的外部域名解析服务器中添加访问服务发现服务以及对应地址映射。62.本实施例中,dnspolicy决定pod内预设dns配置策略(none表示无任何策略,并取决于podspec中的dnsconfig配置;default表示pod之dns配置完全从节点继承。),即将vpcpod中的dnspolicy配置为预设标志none,并将vpcpod中dnsconfig中的nameservers设置为指向coredns的地址映射。63.此外,本发明实施例还提供一种虚拟私有云服务的访问装置。64.参照图6,图6为本发明虚拟私有云服务的访问装置第一实施例的功能模块示意图。65.本实施例中,所述虚拟私有云服务的访问装置包括:66.接口服务访问模块10,用于通过虚拟防火墙组件以及所述虚拟防火墙组件中的第一地址映射,访问目标服务,并基于所述目标服务访问接口服务,其中,所述第一地址映射为被访问虚拟私有云服务的虚拟私有云ip与所述接口服务所属宿主机的ip之间的映射;67.访问请求转发模块20,用于通过所述接口服务确定所述被访问虚拟私有云服务的服务ip,并根据所述服务ip将访问请求转发至所述被访问虚拟私有云服务。68.进一步地,所述接口服务访问模块10具体包括:69.外部域名解析单元,用于在访问对象与所述被访问虚拟私有云服务不属于同一集群时,基于外部域名解析服务,对所述访问对象的外部域名进行解析,并确定所述外部域名对应的外网ip;70.控制服务访问单元,用于通过所述被访问虚拟私有云服务对应的服务访问所述虚拟防火墙组件,并通过所述虚拟防火墙组件中的第二地址映射,访问对应配置控制服务,其中,所述第二地址映射为所述被访问虚拟私有云服务的虚拟私有云ip与所述外网ip之间的映射;71.第一接口服务访问单元,用于通过所述配置控制服务,并基于所述虚拟防火墙以及所述第一地址映射,访问所述被访问虚拟私有云服务对应的接口服务。72.进一步地,所述接口服务访问模块10具体还包括:73.第一服务确认单元,用于获取所述访问对象访问所述被访问虚拟私有云服务的访问链接,通过所述配置控制服务将所述访问链接与预设配置规则进行比对,以确定所述被访问虚拟私有云服务对应的服务。74.进一步地,所述接口服务访问模块10具体包括:75.第二服务确认单元,用于在所述访问对象与所述被访问虚拟私有云服务属于同一集群且属于同一虚拟私有云时,基于所述被访问虚拟私有云服务对应的服务名,确定所述被访问虚拟私有云服务对应的服务;76.发现服务访问单元,用于通过所述被访问虚拟私有云服务对应的服务访问所述虚拟防火墙组件,并通过所述虚拟防火墙组件中的第一地址映射,访问服务发现服务;77.第二接口服务访问单元,用于通过所述服务发现服务访问所述被访问虚拟私有云服务对应的接口服务。78.进一步地,所述接口服务访问模块10具体还包括:79.被访问服务访问模块,用于在所述访问对象与所述被访问虚拟私有云服务属于同一集群且不属于同一虚拟私有云时,通过所述虚拟防火墙组件以及所述虚拟防火墙组件中的第三地址映射,访问所述被访问虚拟私有云服务对应的服务,其中,所述第三地址映射为所述访问对象所属虚拟私有云的虚拟私有云ip与所述被访问虚拟私有云服务的虚拟私有云ip之间的映射。80.进一步地,所述接口服务访问模块10具体还包括:81.地址映射配置单元,用于将所述被访问虚拟私有云服务对应的预设外部域名解析策略的标志设置为预设标志,并在所述外部域名解析配置中的外部域名解析服务器中添加访问服务发现服务以及对应地址映射。82.进一步地,所述访问请求转发模块20具体还用于:83.集群ip确定模块,用于通过所述接口服务获取服务域名记录,并在所述服务域名记录中,根据所述被访问虚拟私有云服务对应的服务,确定所述被访问虚拟私有云服务对应的目标集群ip;84.podip转换模块,用于根据预设规则,将所述目标集群ip转换为所述目标服务ip。85.其中,上述虚拟私有云服务的访问装置中各个模块与上述虚拟私有云服务的访问方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。86.此外,本发明实施例还提供一种计算机可读存储介质。87.本发明计算机可读存储介质上存储有虚拟私有云服务的访问程序,其中所述虚拟私有云服务的访问程序被处理器执行时,实现如上述的虚拟私有云服务的访问方法的步骤。88.其中,虚拟私有云服务的访问程序被执行时所实现的方法可参照本发明虚拟私有云服务的访问方法的各个实施例,此处不再赘述。89.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。90.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。91.本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。92.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。93.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的
技术领域
:,均同理包括在本发明的专利保护范围内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献