收藏 分销(赏)

容器云和虚拟化平台集成方案分析_沈骏祥.pdf

上传人:自信****多点 文档编号:455543 上传时间:2023-10-11 格式:PDF 页数:5 大小:1.27MB
下载 相关 举报
容器云和虚拟化平台集成方案分析_沈骏祥.pdf_第1页
第1页 / 共5页
容器云和虚拟化平台集成方案分析_沈骏祥.pdf_第2页
第2页 / 共5页
容器云和虚拟化平台集成方案分析_沈骏祥.pdf_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、1022023.020 引言随着容器技术在生产环境应用的成熟,K8S 已经越来越多的成为可自动实施 Linux 容器操作的开源平台工具,作为云平台的标配。云平台提供的容器云服务,可实现在用户无感知的情况下对云平台应用进行平滑升级、快速扩缩容,缩短业务新功能的部署时间及快速响应业务的增长需求,解决在虚拟化平台应用安装配置部署慢、扩展难、维护复杂、升级慢的问题1。但是,在多租户场景下,容器在安全性与隔离性方面相较虚拟机存在较大的不足,所以部分安全性需求较高的应用仍会采用虚拟机部署。因此应用或租户通常既需要容器资源,也需要虚拟机资源,必然存在容器云和虚拟化平台集成部署的问题。本文介绍了容器云和虚拟化

2、平台的 2 种集成方式的原理和架构,并对比分析了各自的优缺点。1 集成方式 1:容器云部署在虚拟化平台之上容器云部署在虚拟化平台上架构示意图如图 1 所示。该部署方案将容器部署在虚拟机上,是目前在实际生产中最常用的解决方案,计数原理简单,易于实现。在该方案中,每个租户可自由创建并管理自己的容器集群,可实现容器集群的快速部署,底层直接通过虚拟化集群的网络模块(Neutron)打通虚拟化集群的底层网络。在该部署模式下,用户先通过 OpenStack 中的 heat 组件完成资源编排,如创建虚拟机、存储卷、安全组等,然后通过相关脚本完成容器集群的安装配置2。在该集成架构下,通过虚拟机的多租户隔离特性

3、间接实现了容器的多租户,不同租户间的资源具有良好的隔离性。但是由于容器部署在虚拟机上,虚拟机性能会受到或多或少的影响,同时,容器资源需要由租户自行创建、部署和维护,对用户技术有很高要求,增加用户的工作量,容器云和虚拟化平台集成方案分析沈骏祥中国电信股份有限公司江苏分公司摘要:随着云计算技术的不断成熟和发展,容器云与虚拟化技术的融合成为云平台新的部署和应用模式,结合容器和虚拟机各自的优势为用户提供多样的应用支撑手段。本文阐述了容器和虚拟机各自的优劣势,提出容器云和虚拟化平台的两种集成架构及技术原理,对比分析了各自的优劣势,并展望了两种技术架构未来的应用前景。关键词:容器云;虚拟化;融合图 1 容

4、器云部署在虚拟化平台上架构示意图1032023.02在用户只关注自身应用的情况下,该部署方式显然违背了云平台为用户提供便利的初衷。2 集成方式 2:容器云与虚拟化平台组件集成本方案核心是将虚拟化平台与容器云各个模块集成实现融合部署,实现统一的租户命名空间、认证、SDN 网络,融合度好,其总体架构如图 2 所示。这种虚拟化平台和容器云租户集成的方案主要分为 3 个模块,包括统一认证模块、网络模块以及租户集成模块。其中统一认证模块可以实现容器集群和虚拟化平台共用同一认证凭据;网络模块对虚拟化集群和容器集群网络进行整合,实现虚拟化集群与容器集群能够在同一个子网上运行,租户集成模块主要功能是将虚拟化集

5、群和容器集群身份管理功能进行整合,实现虚拟化集群和容器集群用户、租户和角色的统一维护和管理。图 2 虚拟化平台与容器云集成架构2.1 统一认证模块统一认证模块主要功能是实现容器集群和虚拟化集群可采用统一的用户认证,共用同一认证凭据,系统原理图如图 3所示。相关组件说明:(1)登录模块:为容器集群和虚拟化集群统一登录的入口,负责向租户认证管理服务器传达用户登陆请求。(2)租户认证管理服务器:在本方案中负责向凭证插件申请用户登录凭证及通过用户登录凭证访问容器集群访问接口。(3)凭证插件:是一个在虚拟化平台和容器平台之间负责传递用户凭证申请需求及用户凭证传递的中间件。(4)凭据认证服务:容器云平台通

6、过调用这个组件向虚拟化平台验证用户访问的凭据是否真实有效。(5)虚拟化集群认证组件:虚拟化集群中负责管理身份验证、服务规则和服务令牌功能的模块。(6)容器集群访问接口:提供了容器集群各类资源对象的增删改查功能,是整个容器集群的数据总线和数据中心,同时提供容器集群登录认证功能。该系统通过虚拟化平台认证模块进行容器集群租户身份验证的工作流程如下:(1)用户登录模块发出用户登录认证请求,传递给租户认证管理服务器,由租户认证管理服务器对该请求进行处理。(2)凭证插件从租户认证管理服务器获取用户登录请求,然后向虚拟化平台认证组件请求来获取用户的访问凭据。(3)虚拟化平台认证组件产生的用户登录认证凭据通过

7、凭证插件返回租户认证管理服务器。(4)客户端利用此凭据通过租户认证管理服务器访问容1042023.02器集群访问接口。(5)容器集群访问接口使用凭据验证服务器发起用户访问凭据验证。(6)虚拟化平台认证模块对凭据验证服务器发送过来的用户访问凭据进行认证并返回用户的用户名和组。本方案允许云提供商实现虚拟化平台和容器集群分别部署的同时,两者可采用一组凭证访问。本方案的关键思想是首先必须从虚拟化平台认证模块获得用户访问凭据,并将该用户的访问凭据传递给容器集群,容器集群随后再向虚拟化集群认证模块验证用户访问凭据。2.2 网络模块本方案中网络模块需要实现对虚拟化平台与容器集群的网络进行整合,可以使虚拟化集

8、群和容器集群能够在同一个子网上运行,从而打通虚拟化集群和容器集群的网络,其总体架构如图 4 所示。上图为该方案中的网络模块架构,网络模块作为虚拟化集群和容器集群的底层通信模块,主要向容器集群提供业务网络、分配 IP 地址以及网络负载均衡(LB)等功能。相关组件说明:(1)网络模块控制器:网络模块控制器组件主要功能是对容器集群管理接口进行监控,从而获取容器集群中资源的变化,进而根据容器集群资源的需求来执行对应资源的管理、分配及调度。网络模块控制器组件是一个管理组件,可以看作集中化的服务。(2)容器网络接口驱动:容器网络接口驱动符合 CNI 标准,接受容器集群管理器调用,将网络信息配置于容器的网络

9、命名空间中。最终由网络中的代理组件进行流表配置,从而使容器可以通信。(3)容器基础运行单元:容器集群中单个应用的实例,它是由单个容器或多个容器共享组成的资源。(4)容器集群管理器:该组主要功能是维持运行中的基础运行单元以及提供容器集群运行时的环境。(5)虚拟化平台网络代理:对虚拟交换机(ovs)进行管理,包括增加删除虚拟端口、创建 vlan、决定转发策略等。以在容器集群中创建基础运行单元为例简要说明虚拟化集群与容器集群的网络信息传输流程:(1)用户创建请求到达容器集群管理接口。(2)网络模块控制器通过监控容器集群管理接口的增删改查(CRUD)操作,获取到创建的基础运行单元的信息,进行解析后调用

10、虚拟化平台的网络模块(Neutron)创建端口。(3)容器集群管理器检测到容器集群管理接口的 CRUD操作后,调用容器网络接口驱动创建虚拟网络接口。图 3 统一认证模块架构1052023.02(4)容器集群管理器获取所创建的基础运行单元信息,从而对虚拟网络端口进行配置。(5)容器网络接口驱动通过 OVS 调用虚拟化平台网络代理与 Neutron 创建的端口进行绑定,从而使容器云与虚拟化平台可进行通信。2.3 租户集成模块租户集成模块主要功能是实现对虚拟化平台和容器集群中的租户、用户和角色进行统一维护和管理,将虚拟化集群中和容器集群中的用户、租户和角色集成到统一的 VPC 中,从而使虚拟化集群和

11、容器集群实现统一的基于角色(RBAC)访问控制3,总体架构如图 5 所示。租户集成模块中对云平台使用者主要分为 3 类:用户、租户以及角色。(1)用户管理服务:一个用户就是一个有身份验证信息的 API 消费实体,通过用户集成,实现用户可通过同一账户名和密码访问容器集群和虚拟化集群。本方案中,管理员在用户管理服务中创建用户,包括用户名、用户 ID等信息,容器集群和虚拟化集群即可同步该用户信息。(2)租户管理服务:租户可以理解为一个项目,团队或组织,必须指定一个相应的租户(tenant)才可以申请云平台的服务。可以将多个用户分配到一个租户内,分配到租户的用户有权在该项目内创建和管理虚拟资源,同理,

12、在租户管理服务中创建租户,包括租户名、租户 ID 等,容器集群和虚拟化集群即可同步该租户信息。(3)角色管理服务:角色归纳了给定租户下允许用户执行的操作,及特定租户下用户的权限,在角色管理服务上创建角色,包括角色名、角色 ID 等,通过底层网络,容器集群和虚拟化集群即可同步该角色信息。(4)策略管理服务:策略管理服务是将虚拟化集群 VPC同容器集群 NameSpace 进行映射,保证容器集群和虚拟化集群租户同步隔离,同时,在虚拟化集群 VPC 下可创建虚拟化集群安全组,用于实现相互信任的虚拟机之间的通信,绑定同一个安全组的虚拟机使用相同的安全策略,安全组同时作用于虚拟化集群和容器集群,策略管理

13、服务中同样维护一张VPC与NameSpace的映射表,用于集群内部租户之间的隔离。表中关键字段说明如下:1)VPC ID:用于标识特定 VPC,全局唯一。2)VPC 网段:及 VPC 工作网段。3)VPC 内安全组 ID:用于标识 VPC 下创建的安全组,全局唯一。4)NameSpace ID:用于标识容器集群下的命名空间,全局唯一。由于用户通过租户访问云平台资源,同时角色规定了用户在某个租户中的一系列权利和特权,因此策略管理服务还需要将容器集群和虚拟化集群的租户、用户和角色进行统一关联。租户集成模块可根据管理人员需求对虚拟化集群和容器集群中的用户、租户和角色进行关联,维护一张身份信息关联表,

14、图 4 网络模块架构图 5 租户集成模块架构1062023.02相关字段包括用户 ID、租户 ID、角色 ID 等。以下以虚拟化集群创建 VPC 和容器集群新增 Namespace为例,分析数据同步流程:(1)管理员在虚拟化集群上创建 VPC,配置安全组策略等。(2)用户管理服务、租户管理服务、和角色管理服务将此 VPC 关联的租户、用户和角色写入各自信息表中保存。(3)策略管理服务记录用户、租户和角色的关系,写入身份信息关联表中。(4)策略管理服务记录管理员配置的 VPC 信息,如VPC ID,安全组ID等,写入VPC与NameSpace的映射表中。(5)管理员在容器集群上创建 NameSp

15、ace 并进行配置。(6)策略管理服务记录管理员配置的 NameSpace 信息,如 NameSpace ID,写入 VPC 与 NameSpace 的映射表中,从而完成 NameSpace 与 VPC 的映射关系。3 对比分析两种方案对比如表 1 所示。表 1 两种集成方式对比表集成方式容器云部署在虚拟化平台之上容器云与虚拟化平台各组件集成资源利用率K8S 控制节点资源不能复用;可以复用 LB、SDN等资源K8S 控制节点资源复用;复用负载均衡、SDN 等资源可用性中,容器集群需要用户自行创建、配置和维护,对用户技术要求较高,增加用户工作量高稳定性中,网络的多层嵌套可能导致集群性能下降。高安

16、全性高,租户之间不存在容器共享宿主机的安全问题,安全性高中,不同租户的容器共享宿主机,受限容器安全租户隔离能力高,每个租户限定在自身 VPC 内中技术复杂度低,容器及虚拟机可通过镜像安装包和脚本实现一键安装部署,因此落地简单高,技术复杂度高,开源方案成熟度低,很多技术目前尚不成熟,落地较为困难维护复杂度低高集成方案 1 为容器云部署在虚拟化平台之上,该方案目前位最常见的方案,技术成熟,易于实现,但是容器在虚拟机上运行,虚拟机性能将会受到影响,同时容器需要租户自行创建和维护,对用户技术能力有较高的要求。集成方案 2 将容器和虚拟化进行组件集成,集群分开部署,避免了影响虚拟机性能的弊端,此外容器集

17、群和虚拟化集群无需用户自行维护,保证用户体验及业务正常运行,同时通过网络模块实现容器集群和虚拟化集群底层网络互联互通,通过统一认证模块实现容器集群和虚拟化集群可采用统一的用户登录认证,通过租户集成模块维护租户映射表实现虚拟化集群与容器集群用户、租户和角色的集成和同步。但是此方案需要将虚拟化平台和容器云的组件逐一集成,涉及大量定制开发、接口联调等工作,技术复杂度高,开源方案成熟度低(如目前开源的网络集成项目 kuryr 尚不支持多租户),很多技术目前尚不成熟,落地难度较大。4 结束语综上,目前现阶段从技术成熟性角度考虑,还是以将容器云部署在虚拟化平台上的架构为主,但未来随着技术的进步带来的架构演进,为保证虚拟机性能及用户体验感,会逐渐向着容器云和虚拟化平台的组件集成方向转变。参考文献:1 龚正,吴治辉,崔秀龙等.Kubernetes 权威指南 M.电子工业出版社,2019.2 贾志杰.基于 OpenStack 开放云管理平台研究 D.吉林大学,2014.3 刘炳宏.基于 Openstack 的资源服务信息监控系统的设计与实现 D.华中科技大学,2016.作者简介:沈骏祥(1977),男,江苏东台人,高级工程师,硕士,研究方向:云计算技术研究及应用、城域网原理。(收稿日期:2022-12-19;责任编辑:韩菁菁)

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服