System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种面向Serverless Kubernetes的多租户隔离方法技术_技高网

一种面向Serverless Kubernetes的多租户隔离方法技术

技术编号:40975804 阅读:2 留言:0更新日期:2024-04-18 21:23
本发明专利技术公开了一种面向Serverless Kubernetes的多租户隔离方法,属于云原生容器技术领域,包括以下步骤:S1、用户通过Se rverless Kubernetes平台开通服务,平台执行开通服务业务的初始化逻辑。基于Virtual Cluster和Virtual Kubelet在共享集群控制面隔离不同租户,一个租户拥有一个虚拟集群控制面,多个虚拟节点,实现数据面运行时隔离,容器运行在轻量级虚拟机中,即拥有容器的轻量性和可移植性,又拥有虚拟的安全性和隔离性,边缘集群实现数据面网络隔离,容器加入到VPC网络中,提供了逻辑上隔离的网络环境,与其他网络环境之1间相互隔离。

【技术实现步骤摘要】

本专利技术涉及云原生容器,具体为一种面向serverless kubernetes的多租户隔离方法。


技术介绍

1、serverless kubernetes,是一种将无服务器计算模型与kuber netes相结合的架构理念。它旨在提供一种基于事件驱动的自动扩展和管理容器化应用程序的方式,使开发者能够专注于应用程序逻辑而不必关心底层的基础设施管理。不同于传统的kubernetes,在ser verless kubernetes中,用户无需关注集群和底层服务器管理和运维,只需动态申请应用需要的资源,一站式部署和运维容器应用,真正实现开箱即用,提升开发效率、降低整体资源成本。由于server less kubernetes提供了一种简单易用、极致弹性、最优成本和按需付费的kubernetes容器服务,越来越多的企业和开发者将应用程序容器化并部署在serverless kubernetes平台上。serverless kub ernetes一般通过“共享集群+边缘集群”的模式实现架构的免运维及应用的多集群部署,共享集群接入不同地区不同类型的边缘集群,通过多集群管理模式部署应用到不同的边缘集群。虽然共享集群机制可以简化集群的管理及降低成本,但是多个租户共享同一个集群也带来了诸如安全、性能、稳定性、管理和维护等挑战。对于拥有多个租户多种应用程序的集群环境来说,实现有效的多租户隔离变得至关重要。

2、多租户隔离是指在kubernetes集群中实现多租户的隔离和管理,使得不同租户的应用程序和资源被隔离开来,每个租户拥有独立的控制面和运行环境,彼此之间相互隔离,确保安全性和性能。由于kubernetes设计的复杂性,实现kubernetes集群的多租户隔离具有一定的挑战性。首先,kubernetes集群由控制面和数据面构成,在设计时需同时考虑控制面隔离和数据面隔离。控制面是集群的管理平面,负责集群的控制、调度和管理,控制面隔离要确保不同租户无法访问或影响彼此的kubernetes api资源。数据面是集群中负责实际运行应用程序的组件,负责接收和处理来自用户或外部请求的流量,并将其路由到适当的pod和容器中,数据面隔离要确保不同租户的pod和工作负载之间被充分隔离,包括容器运行时、网络、存储等。其次,不同于传统kubernetes的单一集群模式,serverless kubernetes的“共享集群+边缘集群”多集群模式,架构复杂性使得实现多租户隔离更为困难。基于以上挑战,本专利技术采用云原生理念,提出了一种面向serverless kubernetes的多租户隔离方法,实现从共享集群到边缘集群、从控制面到数据面的多租户隔离。


技术实现思路

1、本专利技术的目标是解决serverless kubernetes场景下的多租户隔离问题,由于原生的kubernetes自身并未提供面向集群的多租户隔离能力,本专利技术提出了一种针对serverless kubernetes的多租户硬隔离方法,基于virtual cluster和virtual kubelet技术实现控制面硬隔离,基于kube-ovn和kata containers技术实现数据面硬隔离,实现了从共享集群到边缘集群、从控制面到数据面的多租户硬隔离。

2、为了实现上述效果,本专利技术提供如下技术方案:一种面向serve rlesskubernetes的多租户隔离方法,包括以下步骤:

3、s1、用户通过serverless kubernetes平台开通服务,平台执行开通服务业务的初始化逻辑。

4、s2、执行初始化过程中,serverless kubernetes平台通过co nfigmap的形式下发租户配置信息,包括租户id(userid)、租户边缘集群(cluster)、默认vpc(defaultvpc)、默认子网(defau ltsubnet)、租户provider openapi配置信息。

5、s3、部署在共享集群的自定义控制器(deploy-controller)识别到下发的租户配置信息,启动控制循环逻辑。

6、s4、自定义控制器首先根据租户配置信息创建virtual cluste r虚拟集群,作为租户专属的k8s集群控制面。

7、s5、自定控制器接着根据租户配置信息创建virtual kubelet,virtual kubelet运行成功后会创建虚拟节点,虚拟节点的标签包括租户id和对应的边缘集群信息。

8、s6、租户通过kubeconfig可以连接到虚拟集群的api-server,登录虚拟集群后,可以自由创建pod、service资源。

9、s7、虚拟集群中的syncer组件识别到pod等资源的创建,首先会读取租户配置文件获取租户id、vpc、子网信息。

10、s8、虚拟集群中的syncer会将vpc、子网等信息写入pod ann otation,并根据租户id和部署集群信息修改nodeaffinity,修改完成后同步到外面的共享集群。

11、s9、共享集群中的kube-scheduler调度器根据pod编排中n odeaffinity的信息筛选出该租户对应的虚拟节点,调度pod至此节点。

12、s10、虚拟节点中的virtual kubelet识别到pod后,会调用provider接口下发pod至边缘集群,并定时查询边缘集群pod的状态更新共享集群pod的状态。

13、进一步的,根据s1-s10中的操作步骤,所述serverless kubernetes通过共享集群实现资源的高效利用、集群的简化管理、弹性可拓展,共享集群是指多个租户或多个应用共享同一个kubernetes集群的环境,在共享集群中,不同租户的应用可以在同一物理基础设施上运行,共享计算资源、网络资源和存储资源,

14、进一步的,根据s1-s10中的操作步骤,所述virtual cluster实现共享集群多租户控制面隔离,将kubernetes集群的控制平面逻辑上划分为多个独立的虚拟集群,每个虚拟集群拥有自己的控制平面组件,如api-server、调度器和控制器,它们相互隔离、独立运行,以实现控制面的隔离。

15、进一步的,根据s1-s10中的操作步骤,所述租户在共享集群没有真实的k8s节点,而是虚拟节点,每个租户有专属的虚拟节点,在控制面实现节点隔离,虚拟节点由virtualkubelet创建生成,一个虚拟节点对应一个边缘集群,通过虚拟节点可以将不同类型的边缘集群接入到共享集群的控制平。

16、进一步的,根据s1-s10中的操作步骤,所述每个virtual kubelet会为配置相应的provider,用于与边缘集群控制平面进行通信和资源管理,接着,部署在virtual cluster内的工作负载会通过syncer组件同步到集群外,集群外有一个租户专享的命名空间,同步到集群外的pod和service资源均部署到该命名空间,共享集群的本文档来自技高网...

【技术保护点】

1.一种面向Serverless Kubernetes的多租户隔离方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种面向Serverless Kubernetes的多租户隔离方法,其特征在于,包括以下步骤:根据S1-S10中的操作步骤,所述Serverless Kubernetes通过共享集群实现资源的高效利用、集群的简化管理、弹性可拓展,共享集群是指多个租户或多个应用共享同一个Kubernetes集群的环境,在共享集群中,不同租户的应用可以在同一物理基础设施上运行,共享计算资源、网络资源和存储资源。

3.根据权利要求1所述的一种面向Serverless Kubernetes的多租户隔离方法,其特征在于,包括以下步骤:根据S1-S10中的操作步骤,所述Virtual Cluster实现共享集群多租户控制面隔离,将Kubernetes集群的控制平面逻辑上划分为多个独立的虚拟集群,每个虚拟集群拥有自己的控制平面组件,如api-server、调度器和控制器,它们相互隔离、独立运行,以实现控制面的隔离。

4.根据权利要求1所述的一种面向Serverless Kubernetes的多租户隔离方法,其特征在于,包括以下步骤:根据S1-S10中的操作步骤,所述租户在共享集群没有真实的k8s节点,而是虚拟节点,每个租户有专属的虚拟节点,在控制面实现节点隔离,虚拟节点由VirtualKubelet创建生成,一个虚拟节点对应一个边缘集群,通过虚拟节点可以将不同类型的边缘集群接入到共享集群的控制平。

5.根据权利要求1所述的一种面向Serverless Kubernetes的多租户隔离方法,其特征在于,包括以下步骤:根据S1-S10中的操作步骤,所述每个VirtualKubelet会为配置相应的Provider,用于与边缘集群控制平面进行通信和资源管理,接着,部署在Virtual Cluster内的工作负载会通过syncer组件同步到集群外,集群外有一个租户专享的命名空间,同步到集群外的Pod和Service资源均部署到该命名空间,共享集群的调度器根据租户标签调度Pod到对应的虚拟节点,通过Provider部署到边缘集群中。

6.根据权利要求1所述的一种面向Serverless Kubernetes的多租户隔离方法,其特征在于,包括以下步骤:根据S1-S10中的操作步骤,所述单个k8s集群的承载能力有限,在实际生产环境中使用的一般使用多个k8s集群,根据Kubernetes的建议,接入集群的节点数量不超过5000,每个节点部署的Pod数量不超过100,Serverless Kubernetes通过虚拟节点接入多个边缘集群,使得平台可以承接的租户数及部署的工作负载数量上限提高。

7.根据权利要求1所述的一种面向Serverless Kubernetes的多租户隔离方法,其特征在于,包括以下步骤:根据S1-S10中的操作步骤,在边缘集群,所述Kata Containers实现数据面容器运行时隔离,Kata Containers通过在每个容器内使用轻量级虚拟机来提供更强大的隔离性和安全性,在保持容器的轻量性和可移植性的同时,提供与传统虚拟机相当的安全性和隔离性。

8.根据权利要求1所述的一种面向Serverless Kubernetes的多租户隔离方法,其特征在于,包括以下步骤:根据S1-S10中的操作步骤,所述Kata Containers,操作运行在边缘集群的容器与常规的Docker等容器相同,但实际上每个容器都在其自己的轻量级虚拟机中运行,租户部署到虚拟集群的Pod,通过syncer组件同步后在Pod Spec中设置RuntimeClass字段为Kata Runtime,Pod部署到边缘集群后,由于Pod编排中有Kata Containers运行时,Kubernetes调度器会根据节点的配置和资源可用性,将该Pod调度到支持Kata Containers的节点上,并使用Kata Containers运行时来创建和管理该Pod。

9.根据权利要求1所述的一种面向Serverless Kubernetes的多租户隔离方法,其特征在于,包括以下步骤:根据S1-S10中的操作步骤,所述Kube-OVN在边缘集群上构建OverlayVirtual Network(OVN)网络,支持VPC网络,以实现多租户网络隔离和安全性,不同VPC网络相互独立,通过Kube-OVN可以配置Subnet网段,路由策略,安全策略,出网网关,EIP配置。

10.根据权利要求1所述的一种面向Serverless Kubernetes的多租户隔离方法,其特征在...

【技术特征摘要】

1.一种面向serverless kubernetes的多租户隔离方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种面向serverless kubernetes的多租户隔离方法,其特征在于,包括以下步骤:根据s1-s10中的操作步骤,所述serverless kubernetes通过共享集群实现资源的高效利用、集群的简化管理、弹性可拓展,共享集群是指多个租户或多个应用共享同一个kubernetes集群的环境,在共享集群中,不同租户的应用可以在同一物理基础设施上运行,共享计算资源、网络资源和存储资源。

3.根据权利要求1所述的一种面向serverless kubernetes的多租户隔离方法,其特征在于,包括以下步骤:根据s1-s10中的操作步骤,所述virtual cluster实现共享集群多租户控制面隔离,将kubernetes集群的控制平面逻辑上划分为多个独立的虚拟集群,每个虚拟集群拥有自己的控制平面组件,如api-server、调度器和控制器,它们相互隔离、独立运行,以实现控制面的隔离。

4.根据权利要求1所述的一种面向serverless kubernetes的多租户隔离方法,其特征在于,包括以下步骤:根据s1-s10中的操作步骤,所述租户在共享集群没有真实的k8s节点,而是虚拟节点,每个租户有专属的虚拟节点,在控制面实现节点隔离,虚拟节点由virtualkubelet创建生成,一个虚拟节点对应一个边缘集群,通过虚拟节点可以将不同类型的边缘集群接入到共享集群的控制平。

5.根据权利要求1所述的一种面向serverless kubernetes的多租户隔离方法,其特征在于,包括以下步骤:根据s1-s10中的操作步骤,所述每个virtualkubelet会为配置相应的provider,用于与边缘集群控制平面进行通信和资源管理,接着,部署在virtual cluster内的工作负载会通过syncer组件同步到集群外,集群外有一个租户专享的命名空间,同步到集群外的pod和service资源均部署到该命名空间,共享集群的调度器根据租户标签调度pod到对应的虚拟节点,通过provider部署到边缘集群中。

6.根据权利要求1所述的一种面向serverless kubernetes的多租户隔离方法,其特征在于,包括以下步骤:根据s1-s10中的操作步骤,所述单个k8s集群的承载能力有限,在实际生产环境中使用的一般使用多个k8s集群,根据kubernetes的建议,接入集群的节点数量不超过5000,每个节点部署的pod数量不超过100,serverless kubernetes通过虚拟节点接入多个边缘集...

【专利技术属性】
技术研发人员:郭瑞英阮兆银卢志军谢文裕苏嘉伟
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1