CN112925647A - 云边协同系统、集群资源的控制方法及装置 - Google Patents
云边协同系统、集群资源的控制方法及装置 Download PDFInfo
- Publication number
- CN112925647A CN112925647A CN202110315057.0A CN202110315057A CN112925647A CN 112925647 A CN112925647 A CN 112925647A CN 202110315057 A CN202110315057 A CN 202110315057A CN 112925647 A CN112925647 A CN 112925647A
- Authority
- CN
- China
- Prior art keywords
- client
- cluster
- resource
- resources
- cluster resources
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000008569 process Effects 0.000 claims description 28
- 238000004891 communication Methods 0.000 claims description 26
- 238000012544 monitoring process Methods 0.000 claims description 19
- 238000001914 filtration Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 238000013468 resource allocation Methods 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000002955 isolation Methods 0.000 abstract description 18
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000007726 management method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000013475 authorization Methods 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种云边协同系统、集群资源的控制方法及装置,属于云服务领域。其中,该系统包括:多个边缘节点,分布式部署在多个机房,用于存储K8S集群的集群资源,并通过边缘网络承载云业务;中心节点,与所述多个边缘节点连接,用于存储资源模板,并在本地以租户账号为单位隔离缓存基于所述资源模板的集群资源;客户端,与所述边缘节点和所述中心节点连接,通过所述租户账号登录,用于发布所述集群资源,查询所述集群资源的状态信息。通过本发明,解决了相关技术不能在公有云上实现租户隔离的技术问题,可以在公有云的硬件资源上承载多个租户的云服务,同时提高了集群资源的安全性。
Description
技术领域
本发明涉及云服务领域,具体而言,涉及一种云边协同系统、集群资源的控制方法及装置。
背景技术
相关技术中,kenc(Kingsoft Cloud Edge Node Computing,边缘节点计算)边缘容器云平台,是基于Kubernetes(简称kube/K8S)、容器、OVS(Open vSwitch)、LVS(LinuxVirtual Server)等开源技术,以及边缘计算提供商自研的Wayne(基于Web的Kubernetes多集群管理平台)、ENAT(Elastic NetworkAddressTranslation,弹性网络地址转换))、EIP(ElasticIP,弹性IP)、Local PV(本地卷)等组件,组成的一个企业级分布式的边缘容器云平台。kenc在技术逻辑上由一个管理节点和大量业务节点两类角色组成,管理节点不承担业务负载只进行群集管理调度,业务节点向客户开放供应容器IaaS(Infrastructure as aService,基础设施即服务)资源。
相关技术中常用的管理方案中,都是以私有云的方式部署,Kubernetes原生联邦管理模式管理集群,其最大问题是不能多租户隔离,例如rancher kubesphere等均以私有云的模式部署,均用K8S原生联邦管理,不考虑网络隔离,资源隔离等问题,而作为公有云厂商,是要做到云服务器上跑不同租户的不同业务,并且互不影响。相关技术存在以下几个缺点:相关技术中,不能做到多租户隔离,租户不能根据自己想要的节点(机房)去发布自己的资源,租户对自己发布资源的模板不能管理。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种云边协同系统、集群资源的控制方法及装置。
根据本发明实施例的一个方面,提供了一种云边协同系统,包括:多个边缘节点,分布式部署在多个机房,用于存储K8S集群的集群资源,并通过边缘网络承载云业务;中心节点,与所述多个边缘节点连接,用于存储资源模板,并在本地以租户账号为单位隔离缓存基于所述资源模板的集群资源;客户端,与所述边缘节点和所述中心节点连接,通过所述租户账号登录,用于发布所述集群资源,查询所述集群资源的状态信息。
进一步,所述中心节点包括:开放应用编程接口API组件,与所述客户端连接,用于检测所述客户端的调用请求;联邦组件,用于监听所述多个边缘节点中集群资源的状态信息,并在本地缓存所述状态信息。
进一步,所述联邦组件包括:数据库,用于存储所述集群资源的资源模板,以及所述资源模板的发布状态信息;缓存,用于监听所述多个边缘节点中基于所述资源模板的集群资源,并在本地以租户账号为单位隔离缓存集群资源的状态信息。
进一步,所述缓存还用于:在接收到来自所述客户端的调用请求后,对所述客户端进行鉴权,在鉴权通过后,通过代理建立与所述客户端之间的通信连接,根据所述客户端的访问权限对本地缓存的状态信息进行过滤,并向所述客户端返回过滤后的目标状态信息。
进一步,所述客户端还包括:创建模块,用于创建所述资源模板,并将所述资源模板上传到所述中心节点;发布模块,用于基于所述资源模板发布集群资源到若干个目标边缘节点。
进一步,所述中心节点还包括:命名空间模块,用于以云服务的租户账号为单位,对集群资源进行分类,并将每个类别的若干个集群资源封装在一个容器中,其中,每个容器对应一个名称空间;控制组模块,用于在接收到来自所述客户端的访问请求之后,根据租户账号查找服务进程,其中,每个服务进程对应同一类别的若干个集群资源。
进一步,所述中心节点还包括:用户资源定义CRD模块,用于在接收到所述客户端自定义的CRD资源后,通过对象组件转换所述CRD资源,并将转换后的CRD资源部署至所述中心节点。
根据本发明实施例的另一个方面,提供了一种集群资源的控制方法,包括:接收客户端创建的K8S集群的资源模板,并将所述资源模板存储至数据库,其中,所述资源模板用于所述客户端在边缘节点上发布集群资源;监听多个边缘节点中的集群资源,并在本地以租户账号为单位隔离缓存所述集群资源的状态信息,其中,所述租户账号登录在所述客户端上。
进一步,所述方法还包括:在接收到来自所述客户端的调用请求后,对所述客户端进行鉴权,在鉴权通过后,通过代理建立与所述客户端之间的通信连接,根据所述客户端的访问权限对本地缓存的状态信息进行过滤,并向所述客户端返回过滤后的目标状态信息。
根据本发明实施例的另一个方面,提供了一种集群资源的控制装置,包括:接收模块,用于接收客户端创建的K8S集群的资源模板,并将所述资源模板存储至数据库,其中,所述资源模板用于所述客户端在边缘节点上发布集群资源;监听模块,用于监听多个边缘节点中的集群资源,并在本地以租户账号为单位隔离缓存所述集群资源的状态信息,其中,所述租户账号登录在所述客户端上。
进一步,所述装置还包括:返回模块,用于在接收到来自所述客户端的调用请求后,对所述客户端进行鉴权,在鉴权通过后,通过代理建立与所述客户端之间的通信连接,根据所述客户端的访问权限对本地缓存的状态信息进行过滤,并向所述客户端返回过滤后的目标状态信息。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
根据本发明实施例的另一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
通过本发明,多个边缘节点分布式部署在多个机房,用于存储K8S集群的集群资源,并通过边缘网络承载云业务;中心节点存储资源模板,并在本地以租户账号为单位隔离缓存基于所述资源模板的集群资源,客户端通过所述租户账号登录,用于发布所述集群资源,查询所述集群资源的状态信息,通过在中心节点上以租户账号为单位隔离缓存基于资源模板的集群资源,实现了一种在公有云上的多租户隔离方案,解决了相关技术不能在公有云上实现租户隔离的技术问题,可以在公有云的硬件资源上承载多个租户的云服务,同时提高了集群资源的安全性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种云边协同系统的结构图;
图2是本发明实施例的网络部署示意图;
图3是根据本发明实施例的一种集群资源的控制方法的流程图;
图4是根据本发明实施例的一种集群资源的控制装置的结构框图;
图5是实施本发明实施例的一种电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
在本实施例中提供了一种云边协同系统,图1是根据本发明实施例的一种云边协同系统的结构图,如图1所示,包括:
多个边缘节点10,分布式部署在多个机房,用于存储K8S集群的集群资源,并通过边缘网络承载云业务;
在本实施例中,每个机房部署在一个区域,如行政市县,社区等,即每个机房部署一个边缘节点,边缘节点作为客户端的接入网关,实现云业务的分布式承载,提高线上业务的检测速度。
边缘节点是基于云服务和运营商边缘节点搭建的分布式边缘资源池。边缘节点充分利用云服务提供方在边缘网络的资源储备和调度管理的能力,通过边缘节点为客户提供高效稳定高性价比的计算和网络服务,以降低客户接入延迟和成本,并逐步引导融合更多行业应用。
中心节点12,与所述多个边缘节点连接,用于存储资源模板,并在本地以租户账号为单位隔离缓存基于所述资源模板的集群资源;
中心节点用于全局同步边缘节点的资源状态信息,并通过前端交互展示给客户端。
客户端14,与所述边缘节点和所述中心节点连接,通过所述租户账号登录,用于发布所述集群资源,查询所述集群资源的状态信息。
可选的,状态信息用于表征集群资源的占用状态,资源发布状态,编辑,删减等状态,该状态信息与集群资源在边缘节点上的当前状态或历史状态对应。
本实施例中,云资源的租户使用的客户端可以与边缘节点和所述中心节点连接,基于边缘节点可以发布集群资源,并通过访问集群资源执行云业务,在另一方面,基于中心节点创建资源,状态查询等。
通过上述系统,多个边缘节点分布式部署在多个机房,用于存储K8S集群的集群资源,并通过边缘网络承载云业务;中心节点存储资源模板,并在本地以租户账号为单位隔离缓存基于所述资源模板的集群资源,客户端通过所述租户账号登录,用于发布所述集群资源,查询所述集群资源的状态信息,通过在中心节点上以租户账号为单位隔离缓存基于资源模板的集群资源,实现了一种在公有云上的多租户隔离方案,解决了相关技术不能在公有云上实现租户隔离的技术问题,可以在公有云的硬件资源上承载多个租户的云服务,同时提高了集群资源的安全性。
图2是本发明实施例的网络部署示意图,包括多个边缘节点(示意了边缘节点1,边缘节点2,边缘节点3),中心节点,客户端(示意了客户端a,客户端b,客户端c,客户端d,客户端e)等,客户端通过互联网连接到中心节点,通过边缘网选择连接到边缘节点,边缘节点与中心节点之间通过核心网连接,中心节点管理所有的边缘节点,同时与客户端进行交互。
在实施例的一个实施方式中,所述中心节点包括:开放应用编程接口(Application Programming Interface,API)组件,与所述客户端连接,用于检测所述客户端的调用请求;联邦组件,用于监听所述多个边缘节点中集群资源的状态信息,并在本地缓存所述状态信息。其中,开放API(open API)组件通过SDK(Software Development Kit,软件开发工具包)实现中心节点与客户端之间的交互,使客户隔离租户账号的命名空间,在中心节点访问权限范围内的信息。
在基于上述实施方式的一个实例中,所述联邦组件包括:数据库,用于存储所述集群资源的资源模板,以及所述资源模板的发布状态信息;缓存(Cache),用于监听所述多个边缘节点中基于所述资源模板的集群资源,并在本地以租户账号为单位隔离缓存集群资源的状态信息。
客户端首先创建集群资源的资源模板,可选的,资源模板包括容器名称,镜像地址,所需硬件资源(CPU核心数,内存容量等)等。中心节点存储客户端创建的资源模板,并与创建的租户账号进行关联绑定,客户端在创建集群资源时,首先查询资源模板,然后再基于该模板发布具体的资源,中心节点通过鉴权,客户端只能查询到自己创建的资源模板,从而实现了基于租户账号的集群资源分类。
可选的,所述缓存还用于:在接收到来自所述客户端的调用请求后,对所述客户端进行鉴权,在鉴权通过后,通过代理(proxy)建立与所述客户端之间的通信连接,根据所述客户端的访问权限对本地缓存的状态信息进行过滤,并向所述客户端返回过滤后的目标状态信息。
在查询的过程中,中心节点向客户端返回当前租户账号创建的集群资源,或者返回租户账号管辖的集群资源,其他不相关的资源直接在中心节点过滤,实现资源访问的租户隔离。
可选的,租户账号包括主账号和子账号,用户使用云账号作为租户账号登录在客户端上,客户端是在本地运行云服务实例的终端。在一些场景中,云账号分为主账号和子账号,其中主账号是用户在云服务厂商注册的账号,可以创建多个子账号,每个子账号对应一个子用户,子用户也可称为IAM(Identity and Access Management,身份与访问控制)用户,IAM用户是IAM的一种实体身份类型,有确定的身份ID和身份凭证,可以与某个确定的人或应用程序一一对应,是最小单位的鉴权对象,一个租户账号(主账号)下可以创建多个IAM账号,对应企业内的员工、系统或应用程序,IAM用户不拥有资源,IAM用户必须在获得云账号的授权后才能登录控制台或使用API操作云账号下的资源。当企业有多种云资源时,使用IAM的授权管理功能,可以实现用户分权及资源统一管理。
客户端通过HTTP(HyperText Transfer Protocol,超文本传输协议)的Transfer-Encoding(传输编码)组件连接到中心节点的kenc-openAPI组件(一种开放API组件),该组件通过查询数据库的校验权限等,然后proxy代理到kenc-federation组件(一种联邦组件),建立一个客户端到中心节点的联邦组件之间的连接,联邦组件会对边缘节点返回的监听时间进行过滤(过滤其他租户的数据),并给回给对应的客户端,解决了客户监听边缘节点查询状态信息而产生的安全问题。
在实施例的一个实施方式中,所述客户端还包括:创建模块,用于创建所述资源模板,并将所述资源模板上传到所述中心节点;发布模块,用于基于所述资源模板发布集群资源到若干个目标边缘节点。
在本实施例的一个实施方式中,中心节点包括kenc-APIserver(接口服务组件),kenc-federation(联邦组件),kenc-console(前端组件),kenc-openAPI(开放接口组件)。
kenc-APIserver:采用beego框架搭建,通过mysql等工具管理租户账号的权限,资源模板,客户命名空间等;
kenc-federation:采用监听机制监听集群所纳管的所有K8S集群资源,并且缓存在cache系统中方便并发查询,实现全局同步;
kenc-console:采用angularjs的前端代码框架搭建交互组件,在前端展示给客户端;
kenc-openAPI:采用beego框架对K8S原生openAPI做封装,使客户隔离客户命名空间。
基于该实施方式的实施流程包括:用户创建资源模板,认证系统校验当前用户是否有权限创建资源,如果有权限,通过数据库(Wayne DB)负责存储用户创建的各个资源模板和发布状态等信息,同时从数据库取出模板并做部分输入处理,例如注解,标签等,用户根据已经存在的模板发布到对应的K8S集群,通过缓存(Wayne Cache系统)采用Watch机制监听Wayne所纳管的所有K8S集群资源,并且缓存在Cache系统中,方便查询。
采用本实施例的方案,通过部署中心管理组件kenc-federation管理边缘节点,部署kenc-APIserver组件提供接口并做租户隔离,部署kenc-console组件实现与客户端的前端展示,通过部署kenc-openAPI组件替换原生K8SopenAPI。
在实施例的一个实施方式中,所述中心节点还包括:命名空间(Namespace)模块,用于以云服务的租户账号为单位,对集群资源进行分类,并将每个类别的若干个集群资源封装在一个容器中,其中,每个容器对应一个名称空间;控制组(Cgroup/control group)模块,用于在接收到来自所述客户端的访问请求之后,根据租户账号查找服务进程,其中,每个服务进程对应同一类别的若干个集群资源。
命名空间模块用于实现访问隔离,针对一类资源进行抽象,并将其封装在一起提供给一个容器使用,对于统一容器内的资源,因为每个容器都有自己的抽象,所以彼此之间是不可见的,从而实现访问隔离。
控制组模块是基于Linux内核的一个功能模块,用来限制,控制与分离一个进程组群的硬件资源(如CPU、内存、磁盘输入输出等),本实施例中限制的硬件资源为CPU中运行的进程。控制组模块通过配置硬件资源,可以监控配置的进程,允许或拒绝进程访问某些资源,甚至在运行的系统中动态配置进程。控制组模块通过将一组进程放在一个控制组里,通过给这个控制组分配指定的可用硬件资源以及可访问的集群资源,达到控制这一组进程可用资源的目的。
在实施例的一个实施方式中,所述中心节点还包括:用户资源定义(CustomResourceDefinition,CRD)模块,用于在接收到所述客户端自定义的CRD资源后,通过对象组件转换所述CRD资源,并将转换后的CRD资源部署至所述中心节点。
在本实施例中,在Kubernetes集群中一切都可视为资源,通过自定义资源二次开发能力来扩展Kubernetes API,通过CRD模块可以向Kubernetes API中增加新资源类型,而不需要修改Kubernetes源码来创建自定义的APIserver,提高Kubernetes的扩展能力。当创建一个新的CRD资源时,Kubernetes API服务器将为你指定的每个版本创建一个新的RESTful资源路径,可以根据该API路径来创建自己定义的类型资源。CRD资源可以是命名空间的,也可以是集群范围的,由CRD资源的作用域(scpoe)字段中所指定的,与现有的内置对象一样,删除某个名称空间将删除该名称空间中的所有自定义对象。CRD资源本身没有名称空间,所有名称空间都可以使用。用户在客户端可自定义自己的CRD资源,通过联邦节点的对象组件(informer)转换,实现发布部署自定义CRD。
在本实施例中还提供了一种集群资源的控制方法,应用在上述实施例的云边协同系统的中心节点中,图3是根据本发明实施例的一种集群资源的控制方法的流程图,如图3所示,该流程包括如下步骤:
步骤S302,接收客户端创建的K8S集群的资源模板,并将所述资源模板存储至数据库,其中,所述资源模板用于所述客户端在边缘节点上发布集群资源;
步骤S304,监听多个边缘节点中的集群资源,并在本地以租户账号为单位隔离缓存所述集群资源的状态信息,其中,所述租户账号登录在所述客户端上。
在与客户端交互时,中心节点用于全局同步边缘节点的资源状态信息,并通过前端交互展示给客户端。本实施例开放API组件,与所述客户端连接,检测所述客户端的调用请求,监听所述多个边缘节点中集群资源的状态信息,并在本地缓存所述状态信息。其中,开放API组件通过SDK实现本地设备(对应本实施例的执行主体-云边协同系统的中心节点)与客户端之间的交互,使客户隔离租户账号的命名空间,在本地访问权限范围内的信息。
在基于上述实施方式的一个实例中,采用数据库存储所述集群资源的资源模板,以及所述资源模板的发布状态信息,采用缓存监听所述多个边缘节点中基于所述资源模板的集群资源,并在本地以租户账号为单位隔离缓存集群资源的状态信息。
客户端首先创建集群资源的资源模板,可选的,资源模板包括容器名称,镜像地址,所需硬件资源(CPU核心数,内存容量等)等。通过存储客户端创建的资源模板,并与创建的租户账号进行关联绑定,客户端在创建集群资源时,首先查询资源模板,然后再基于该模板发布具体的资源,通过鉴权,客户端只能查询到自己创建的资源模板,从而实现了基于租户账号的集群资源分类。
可选的,在接收到来自所述客户端的调用请求后,对所述客户端进行鉴权,在鉴权通过后,通过代理(proxy)建立与所述客户端之间的通信连接,根据所述客户端的访问权限对本地缓存的状态信息进行过滤,并向所述客户端返回过滤后的目标状态信息。
在一个示例中,向所述客户端返回过滤后的目标状态信息包括:向客户端返回当前租户账号创建的集群资源,或者返回租户账号管辖的集群资源,其他不相关的资源直接过滤掉,实现资源访问的租户隔离。
本实施例的租户账号包括主账号和子账号,用户使用云账号作为租户账号登录在客户端上,客户端是在本地运行云服务实例的终端。在一些场景中,云账号分为主账号和子账号,其中主账号是用户在云服务厂商注册的账号,可以创建多个子账号,每个子账号对应一个子用户,子用户也可称为IAM用户,IAM用户是IAM的一种实体身份类型,有确定的身份ID和身份凭证,可以与某个确定的人或应用程序一一对应,是最小单位的鉴权对象,一个租户账号(主账号)下可以创建多个IAM账号,对应企业内的员工、系统或应用程序,IAM用户不拥有资源,IAM用户必须在获得云账号的授权后才能登录控制台或使用API操作云账号下的资源。当企业有多种云资源时,使用IAM的授权管理功能,可以实现用户分权及资源统一管理。
客户端通过HTTP协议的Transfer-Encoding组件连接到本地设备的kenc-openAPI组件,该组件通过查询数据库的校验权限等,然后proxy代理到kenc-federation组件,建立一个客户端到本地设备的联邦组件之间的连接,联邦组件会对边缘节点返回的监听时间进行过滤(过滤其他不相关租户的数据),并给回给对应的客户端,解决了客户监听边缘节点查询状态信息而产生的安全问题。
可选的,还可以以云服务的租户账号为单位,对集群资源进行分类,并将每个类别的若干个集群资源封装在一个容器中,其中,每个容器对应一个名称空间;在接收到来自所述客户端的访问请求之后,根据租户账号查找服务进程,其中,每个服务进程对应同一类别的若干个集群资源。本实施例采用命名空间实现访问隔离,针对一类资源进行抽象,并将其封装在一起提供给一个容器使用,对于统一容器内的资源,因为每个容器都有自己的抽象,所以彼此之间是不可见的,从而实现访问隔离。
在根据租户账号查找服务进程时,通过控制组模块实现,采用Linux内核的一个功能模块,用来限制,控制与分离一个进程组群的硬件资源(如CPU、内存、磁盘输入输出等),本实施例中限制的硬件资源为CPU中运行的进程。控制组模块通过配置硬件资源,可以监控配置的进程,允许或拒绝进程访问某些资源,甚至在运行的系统中动态配置进程。通过将一组进程放在一个控制组里,通过给这个控制组分配指定的可用硬件资源以及可访问的集群资源,达到控制这一组进程可用资源的目的。
在实施例的一个实施方式中,方案还包括:在接收到所述客户端自定义的CRD资源后,通过对象组件转换所述CRD资源,并将转换后的CRD资源部署至本地设备(中心节点)。
采用本实施例的方案,将云边协同系统中的中心节点拆分为各个组件,各司其职,互不干扰,做到了客户资源及网络的完全隔离,对于客户端,通过中心节点的隔离缓缓,客户端可以更方便、更安全管理自己的资源模板,查询资源状态,对各节点的资源精确管理到各个节点。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种集群资源的控制装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的一种集群资源的控制装置的结构框图,如图4所示,该装置包括:接收模块40,监听模块42,其中,
接收模块40,用于接收客户端创建的K8S集群的资源模板,并将所述资源模板存储至数据库,其中,所述资源模板用于所述客户端在边缘节点上发布集群资源;
监听模块42,用于监听多个边缘节点中的集群资源,并在本地以租户账号为单位隔离缓存所述集群资源的状态信息,其中,所述租户账号登录在所述客户端上。
可选的,所述装置还包括:返回模块,用于在接收到来自所述客户端的调用请求后,对所述客户端进行鉴权,在鉴权通过后,通过代理建立与所述客户端之间的通信连接,根据所述客户端的访问权限对本地缓存的状态信息进行过滤,并向所述客户端返回过滤后的目标状态信息。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本申请实施例还提供了一种电子设备,图5是本发明实施例的一种电子设备的结构图,如图5所示,包括处理器51、通信接口52、存储器53和通信总线54,其中,处理器51,通信接口52,存储器53通过通信总线54完成相互间的通信,存储器53,用于存放计算机程序;处理器51,用于执行存储器53上所存放的程序时,实现如下步骤:接收客户端创建的K8S集群的资源模板,并将所述资源模板存储至数据库,其中,所述资源模板用于所述客户端在边缘节点上发布集群资源;监听多个边缘节点中的集群资源,并在本地以租户账号为单位隔离缓存所述集群资源的状态信息,其中,所述租户账号登录在所述客户端上。
进一步,所述方法还包括:在接收到来自所述客户端的调用请求后,对所述客户端进行鉴权,在鉴权通过后,通过代理建立与所述客户端之间的通信连接,根据所述客户端的访问权限对本地缓存的状态信息进行过滤,并向所述客户端返回过滤后的目标状态信息。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的集群资源的控制方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的集群资源的控制方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种云边协同系统,其特征在于,包括:
多个边缘节点,分布式部署在多个机房,用于存储K8S集群的集群资源,并通过边缘网络承载云业务;
中心节点,与所述多个边缘节点连接,用于存储资源模板,并在本地以租户账号为单位隔离缓存基于所述资源模板的集群资源;
客户端,与所述边缘节点和所述中心节点连接,通过所述租户账号登录,用于发布所述集群资源,查询所述集群资源的状态信息。
2.根据权利要求1所述的系统,其特征在于,所述中心节点包括:
开放应用编程接口API组件,与所述客户端连接,用于检测所述客户端的调用请求;
联邦组件,用于监听所述多个边缘节点中集群资源的状态信息,并在本地缓存所述状态信息。
3.根据权利要求2所述的系统,其特征在于,所述联邦组件包括:
数据库,用于存储所述集群资源的资源模板,以及所述资源模板的发布状态信息;
缓存,用于监听所述多个边缘节点中基于所述资源模板的集群资源,并在本地以租户账号为单位隔离缓存集群资源的状态信息。
4.根据权利要求3所述的系统,其特征在于,所述缓存还用于:在接收到来自所述客户端的调用请求后,对所述客户端进行鉴权,在鉴权通过后,通过代理建立与所述客户端之间的通信连接,根据所述客户端的访问权限对本地缓存的状态信息进行过滤,并向所述客户端返回过滤后的目标状态信息。
5.根据权利要求1所述的系统,其特征在于,所述客户端还包括:
创建模块,用于创建所述资源模板,并将所述资源模板上传到所述中心节点;
发布模块,用于基于所述资源模板发布集群资源到若干个目标边缘节点。
6.根据权利要求1所述的系统,其特征在于,所述中心节点还包括:
命名空间模块,用于以云服务的租户账号为单位,对集群资源进行分类,并将每个类别的若干个集群资源封装在一个容器中,其中,每个容器对应一个名称空间;
控制组模块,用于在接收到来自所述客户端的访问请求之后,根据租户账号查找服务进程,其中,每个服务进程对应同一类别的若干个集群资源。
7.根据权利要求1所述的系统,其特征在于,所述中心节点还包括:
用户资源定义CRD模块,用于在接收到所述客户端自定义的CRD资源后,通过对象组件转换所述CRD资源,并将转换后的CRD资源部署至所述中心节点。
8.一种集群资源的控制方法,其特征在于,包括:
接收客户端创建的K8S集群的资源模板,并将所述资源模板存储至数据库,其中,所述资源模板用于所述客户端在边缘节点上发布集群资源;
监听多个边缘节点中的集群资源,并在本地以租户账号为单位隔离缓存所述集群资源的状态信息,其中,所述租户账号登录在所述客户端上。
9.一种集群资源的控制装置,其特征在于,包括:
存储模块,用于接收客户端创建的K8S集群的资源模板,并将所述资源模板存储至数据库,其中,所述资源模板用于所述客户端在边缘节点上发布集群资源;
缓存模块,用于监听多个边缘节点中的集群资源,并在本地以租户账号为单位隔离缓存所述集群资源的状态信息,其中,所述租户账号登录在所述客户端上。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求8所述的方法步骤。
11.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:
存储器,用于存放计算机程序;
处理器,用于通过运行存储器上所存放的程序来执行权利要求8所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110315057.0A CN112925647B (zh) | 2021-03-24 | 2021-03-24 | 云边协同系统、集群资源的控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110315057.0A CN112925647B (zh) | 2021-03-24 | 2021-03-24 | 云边协同系统、集群资源的控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112925647A true CN112925647A (zh) | 2021-06-08 |
CN112925647B CN112925647B (zh) | 2024-09-27 |
Family
ID=76175898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110315057.0A Active CN112925647B (zh) | 2021-03-24 | 2021-03-24 | 云边协同系统、集群资源的控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112925647B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806097A (zh) * | 2021-09-29 | 2021-12-17 | 杭州网易云音乐科技有限公司 | 一种数据处理方法、装置、电子设备以及存储介质 |
CN113965585A (zh) * | 2021-12-22 | 2022-01-21 | 恒生电子股份有限公司 | 一种多云互联方法及装置 |
CN114040020A (zh) * | 2021-10-08 | 2022-02-11 | 杭州隆埠科技有限公司 | 跨集群服务调用的方法及系统 |
CN114281253A (zh) * | 2021-12-10 | 2022-04-05 | 招商银行股份有限公司 | 存储卷的管理方法 |
CN114338722A (zh) * | 2021-12-30 | 2022-04-12 | 中国电信股份有限公司 | 云边存储资源管理系统及方法、存储介质和电子设备 |
CN114650183A (zh) * | 2022-04-11 | 2022-06-21 | 远景智能国际私人投资有限公司 | 资源管理方法、装置、服务器及存储介质 |
CN114827275A (zh) * | 2022-04-15 | 2022-07-29 | 星环信息科技(上海)股份有限公司 | 一种联邦租户的管理平台和联邦租户的资源管理方法 |
CN115150416A (zh) * | 2022-07-01 | 2022-10-04 | 浪潮通用软件有限公司 | 一种Kubernetes集群高效访问方法及设备 |
CN116367204A (zh) * | 2023-05-31 | 2023-06-30 | 阿里巴巴(中国)有限公司 | 用户设备业务处理方法、电子设备、存储介质及系统 |
CN116541133A (zh) * | 2023-07-05 | 2023-08-04 | 苏州浪潮智能科技有限公司 | 容器应用的纳管方法、其装置及电子设备 |
CN117995425A (zh) * | 2024-04-03 | 2024-05-07 | 深圳达实旗云健康科技有限公司 | 医疗数据采集方法、系统及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140032228A1 (en) * | 2012-07-30 | 2014-01-30 | Microsoft Corporation | Security and data isolation for tenants in a business data system |
CN108183961A (zh) * | 2018-01-04 | 2018-06-19 | 中电福富信息科技有限公司 | 一种基于Redis的分布式缓存方法 |
CN110519361A (zh) * | 2019-08-22 | 2019-11-29 | 北京宝兰德软件股份有限公司 | 基于kubernetes的容器云平台多租户构建方法及装置 |
US20200296155A1 (en) * | 2020-03-27 | 2020-09-17 | Intel Corporation | Method, system and product to implement deterministic on-boarding and scheduling of virtualized workloads for edge computing |
CN111682940A (zh) * | 2020-04-28 | 2020-09-18 | 中国人民解放军战略支援部队信息工程大学 | 一种基于l-dht的多租户虚拟域隔离构建方法 |
CN111698196A (zh) * | 2019-03-15 | 2020-09-22 | 大唐移动通信设备有限公司 | 一种鉴权方法及微服务系统 |
-
2021
- 2021-03-24 CN CN202110315057.0A patent/CN112925647B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140032228A1 (en) * | 2012-07-30 | 2014-01-30 | Microsoft Corporation | Security and data isolation for tenants in a business data system |
CN108183961A (zh) * | 2018-01-04 | 2018-06-19 | 中电福富信息科技有限公司 | 一种基于Redis的分布式缓存方法 |
CN111698196A (zh) * | 2019-03-15 | 2020-09-22 | 大唐移动通信设备有限公司 | 一种鉴权方法及微服务系统 |
CN110519361A (zh) * | 2019-08-22 | 2019-11-29 | 北京宝兰德软件股份有限公司 | 基于kubernetes的容器云平台多租户构建方法及装置 |
US20200296155A1 (en) * | 2020-03-27 | 2020-09-17 | Intel Corporation | Method, system and product to implement deterministic on-boarding and scheduling of virtualized workloads for edge computing |
CN111682940A (zh) * | 2020-04-28 | 2020-09-18 | 中国人民解放军战略支援部队信息工程大学 | 一种基于l-dht的多租户虚拟域隔离构建方法 |
Non-Patent Citations (1)
Title |
---|
张锐;张建林;孙国忠;: "多业务系统的统一认证授权研究与设计", 计算机工程与设计, no. 08, 28 April 2009 (2009-04-28) * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113806097A (zh) * | 2021-09-29 | 2021-12-17 | 杭州网易云音乐科技有限公司 | 一种数据处理方法、装置、电子设备以及存储介质 |
CN114040020A (zh) * | 2021-10-08 | 2022-02-11 | 杭州隆埠科技有限公司 | 跨集群服务调用的方法及系统 |
CN114281253B (zh) * | 2021-12-10 | 2024-01-26 | 招商银行股份有限公司 | 存储卷的管理方法 |
CN114281253A (zh) * | 2021-12-10 | 2022-04-05 | 招商银行股份有限公司 | 存储卷的管理方法 |
CN113965585A (zh) * | 2021-12-22 | 2022-01-21 | 恒生电子股份有限公司 | 一种多云互联方法及装置 |
CN113965585B (zh) * | 2021-12-22 | 2022-07-12 | 恒生电子股份有限公司 | 一种多云互联方法及装置 |
CN114338722A (zh) * | 2021-12-30 | 2022-04-12 | 中国电信股份有限公司 | 云边存储资源管理系统及方法、存储介质和电子设备 |
CN114338722B (zh) * | 2021-12-30 | 2024-06-07 | 中国电信股份有限公司 | 云边存储资源管理系统及方法、存储介质和电子设备 |
CN114650183A (zh) * | 2022-04-11 | 2022-06-21 | 远景智能国际私人投资有限公司 | 资源管理方法、装置、服务器及存储介质 |
CN114827275A (zh) * | 2022-04-15 | 2022-07-29 | 星环信息科技(上海)股份有限公司 | 一种联邦租户的管理平台和联邦租户的资源管理方法 |
CN114827275B (zh) * | 2022-04-15 | 2024-03-22 | 星环信息科技(上海)股份有限公司 | 一种联邦租户的管理平台和联邦租户的资源管理方法 |
CN115150416A (zh) * | 2022-07-01 | 2022-10-04 | 浪潮通用软件有限公司 | 一种Kubernetes集群高效访问方法及设备 |
CN115150416B (zh) * | 2022-07-01 | 2023-06-06 | 浪潮通用软件有限公司 | 一种Kubernetes集群高效访问方法及设备 |
CN116367204B (zh) * | 2023-05-31 | 2023-09-12 | 阿里巴巴(中国)有限公司 | 用户设备业务处理方法、电子设备、存储介质及系统 |
CN116367204A (zh) * | 2023-05-31 | 2023-06-30 | 阿里巴巴(中国)有限公司 | 用户设备业务处理方法、电子设备、存储介质及系统 |
CN116541133B (zh) * | 2023-07-05 | 2023-09-15 | 苏州浪潮智能科技有限公司 | 容器应用的纳管方法、其装置及电子设备 |
CN116541133A (zh) * | 2023-07-05 | 2023-08-04 | 苏州浪潮智能科技有限公司 | 容器应用的纳管方法、其装置及电子设备 |
CN117995425A (zh) * | 2024-04-03 | 2024-05-07 | 深圳达实旗云健康科技有限公司 | 医疗数据采集方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112925647B (zh) | 2024-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112925647B (zh) | 云边协同系统、集群资源的控制方法及装置 | |
KR102209276B1 (ko) | 메시징 프로토콜 통신 관리 | |
CN112119374B (zh) | 使用替代服务器名称选择性地提供相互传输层安全 | |
WO2021017301A1 (zh) | 基于Kubernetes集群的管理方法、装置及计算机可读存储介质 | |
WO2021017279A1 (zh) | 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质 | |
CN111290865A (zh) | 一种服务调用方法、装置、电子设备和存储介质 | |
US10360410B2 (en) | Providing containers access to container daemon in multi-tenant environment | |
CN107836007B (zh) | 发现并发布api信息 | |
CA2825153C (en) | Strong rights management for computing application functionality | |
CN113301116B (zh) | 微服务应用跨网络通信方法、装置、系统及设备 | |
US9342357B2 (en) | Extending cloud computing to on-premises data | |
CN107111510B (zh) | 一种针对vnf包进行操作的方法及装置 | |
US10908970B1 (en) | Data interface for secure analytic data system integration | |
US9350738B2 (en) | Template representation of security resources | |
US11461288B2 (en) | Systems and methods for database management system (DBMS) discovery | |
US20160149854A1 (en) | Framework for Application to Application Interworking in the M2M World | |
US10606480B2 (en) | Scale-out container volume service for multiple frameworks | |
AU2015404396B2 (en) | Federated marketplace portal | |
US10785056B1 (en) | Sharing a subnet of a logically isolated network between client accounts of a provider network | |
CN114930788B (zh) | 安全地处理多租户容器中的集成消息流的方法和系统 | |
US11093477B1 (en) | Multiple source database system consolidation | |
CN111045928B (zh) | 一种接口数据测试方法、装置、终端及存储介质 | |
CN116566656A (zh) | 资源访问方法、装置、设备及计算机存储介质 | |
CN104980329B (zh) | 通讯录管理方法及装置、移动代理服务器 | |
US11416448B1 (en) | Asynchronous searching of protected areas of a provider network |
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 |