基于安全的容器调度制造技术

技术编号:18621233 阅读:23 留言:0更新日期:2018-08-08 00:21
本发明专利技术涉及基于安全的容器调度。本文公开的实施例涉及基于安全的容器调度系统,用于将容器分配给节点。发现引擎发现节点簇中的节点并且发现与该节点相关联的节点安全属性。转换引擎由与该容器相关联的元数据中指定的容器安全属性生成节点选择器。

Security based container scheduling

The invention relates to safe container scheduling. The embodiments disclosed herein relate to a safe container scheduling system for distributing containers to nodes. The discovery engine discovers the nodes in the cluster and finds the node security attributes associated with the node. The transformation engine generates the node selector by the container security attribute specified in the metadata associated with the container.

【技术实现步骤摘要】
基于安全的容器调度
技术介绍
为了解决日益增加的对软件应用程序的可移植性需求,软件容器应运而生。容器将应用程序及其所有相关性和函数库捆绑成隔离的、资源受控并且易于部署(deploy)的构造块(buildingblock),构造块可在任意计算环境中运行于任意操作系统上。容器可在物理机或虚拟机上以私有云、公共云或混合云的形式部署,从而利于大型应用程序的工作负载管理。多个容器可在单机上运行并且共享操作系统内核,同时保持诸如存储器、CPU和硬盘的处理器和资源彼此隔离。这使得容器的部署变得有效、快捷和轻量。存在若干可用的普及化容器开发和管理系统,诸如Docker、Rocket和Kubernetes。这些系统包括用于创建并且运行容器映像的工具,容器映像是构成容器内运行的应用程序的文件。图像文件包含运行单个容器的所有需求以及描绘与该容器相关联的信息和属性的元数据。系统管理员可以利用容器协调引擎来管理并部署针对服务器或服务器簇的容器分配和部署。诸如Kubernetes和DockerSwarm的容器协调引擎提供了基本调度功能,主要集中于CPU、内存和存储需求。容器的管理和调度不佳可能会导致无法充分利用潜在资源,并且导致工作负载与资源之间的比例失当。附图说明通过结合以下连同附图的详细说明,将更充分地理解本申请。贯穿全文,附图中相同的附图标记指代相同部件,并且其中:图1图示根据各种示例的使用基于安全的容器调度系统的环境的示意图;图2是可包含在图1的环境中的一种示例性的基于安全的容器调度系统的框图;图3是可包含在图1的环境中的另一种示例性的基于安全的容器调度系统的框图;图4是图3的基于安全的容器调度系统的示例性操作的流程图;图5是可在图3的基于安全的容器调度系统中实现的一种发现引擎的示例操作的流程图;图6是可在图3的基于安全的容器调度系统中实现的转换引擎、容器调度器以及资源跟踪器的示例操作的流程图;以及图7是可包含在图1的环境中的一种示例性的基于安全的容器调度系统的另一框图。具体实施方式公开了一种用于将软件容器调度给节点的基于安全的容器调度系统。基于安全的容器调度系统使容器调度自动化,同时还将容器的工作负载的安全需求考虑在内。每个容器被分配给一节点,该节点具有与该容器的工作负载的安全需求相匹配的安全属性,从而确保了自动预先集成安全性并且在整个容器开发与部署过程中维持该安全性。维持安全性对于许多容器工作负载是至关重要的,比如处理敏感数据的那些工作负载或者在多用户云环境中部署的那些工作负载。如本文大体描述的,节点指的是网络上的计算装置,要么是虚拟机,要么是物理机,诸如个人电脑、手机、打印机或服务器等。与节点相关联的安全属性可包括,例如,是否激活了安全启动或者联邦信息处理标准(FIPS)模式、该节点是否具有可信平台模块(TPM)硬件、该节点是否具有包含热安全修复(hotsecurityfixes)的特定固件版本或者可能与节点相关联的任意其他安全属性。每个节点可具有与其相关联的元数据,元数据可采用指定与该节点有关的不同属性(例如,安全属性)的标签或注释的形式。同样,容器映像可具有指定与该容器映像相关联的不同需求和属性的元数据。一种与容器映像相关联的示例安全属性可以是:要求该容器映像在具有安全套接层(SSL)的特定版本x的节点上运行。在各种示例中,基于安全的容器调度系统采用发现引擎和转换引擎实现。发现引擎自动发现节点及其节点安全属性。转换引擎使得容器映像的元数据中被识别出的容器安全属性能够被转换为模板的节点选择器,或者能够被当做容器创建中使用的命令行接口(CLI)或者应用程序接口(API)中的参数。在上述SSL的实施例中,可将指定了“SSL_version=x”的节点选择器添加到容器创建模板中,或者使其当做容器创建CLI/API中的参数。容器调度器扫描与节点相关联的元数据,比如作为节点簇一部分的节点,从而选择这样的节点:其元数据中列出的节点安全属性与容器的创建模板或CLI/API中的节点选择器相匹配。然后,将该容器分配给选定的节点,以确保在其整个部署过程中维持其安全需求。应意识到,在以下描述中陈述了若干特定细节以提供对各示例的全面理解。然而,应了解到,示例可在不受限于这些特定细节的情况下实现。在其他情况下,为了避免不必要地模糊各实施例的说明,并未详细描述公知的方法和结构。而且,各示例可彼此结合使用。现在参照图1,描述了根据各种示例的使用基于安全的容器调度系统的环境的示意图。基于安全的容器调度系统100使得容器105能够在节点簇110中的选定节点上运行,并且同时在其整个部署中维持其安全需求。如本文大体描述的,容器指的是图像的运行实例,其可包括应用程序、其关联性、函数库、文件系统、参数以及运行其所需的所有文件。容器映像可具有相关联的元数据,元数据指定用于运行该容器的不同属性和需求。例如,容器105具有容器映像115,容器映像115具有相关联的容器映像元数据120,容器映像元数据120包括容器映像安全属性125。容器映像安全属性125可采用指明用于运行容器105的安全需求的标签或注释的形式。容器映像多个安全属性以及其他属性可包括在容器映像的元数据120中。节点簇110可包括多个节点110a-f,多个节点110a-f可以是经由网络连接的虚拟机、或物理机。簇110中的每个节点110a-f还可具有相关联的元数据,诸如与节点110c相关联的元数据130。元数据130可包括指明与节点110c相关联的属性的标签或注释,例如,节点安全属性135。基于安全的容器调度系统100确保容器105被分配给簇110中具有与容器映像安全属性125相匹配的节点安全属性135的节点(例如,节点110c)。管理员140可指定容器映像元数据120中的容器映像安全属性125。然后,基于安全的容器调度系统100自动化使容器105在簇110中的节点中平稳且安全运行所需的所有操作。这些操作可包括簇110中节点的发现、节点安全属性的发现、将节点元数据中其发现到的安全属性作为节点的标签、从容器映像安全属性125生成节点选择器以及调度具有与发现到的安全属性相匹配的节点选择器的容器105。现在将注意力转向图2,其示出可包含在图1的环境中的一种示例性的基于安全的容器调度系统的框图。基于安全的容器调度系统200具有处理器205以及存储器资源集合210。如本文大体描述的,存储器资源可包括任意数量的、能够存储可由处理器运行的指令的易失性或非易失性存储器部件。应意识到,存储器资源210可集成在单个装置上,或者可跨多个装置分布。进一步,存储器资源210可完全或部分地与其对应的处理器205集成在同一装置(例如,服务器)中,或者存储器资源210可与其对应的处理器205分离但可访问该对应的处理器。存储器资源210存储基于安全的容器调度系统200的发现引擎215和转换引擎220。应意识到,可对存储器资源210添加其他引擎,以用于额外的或者可替代的功能。引擎210和引擎215中的每一个引擎以及添加到存储器资源210的任意其他引擎可以是硬件(例如,处理器及其电路)和软件(例如,机器或处理器可执行指令、命令或代码,代码诸如固件、编程或目标代码)的任意组合,以实现相应引擎功能。硬件和软件的这种组合可以通过多本文档来自技高网...

【技术保护点】
1.一种用于将容器分配给节点的基于安全的系统,包括:处理器;以及存储器资源集合,所述存储器资源集合存储由所述处理器可执行的引擎集合,所述引擎集合包括:发现引擎,所述发现引擎发现节点簇中的节点,并且发现与所述节点相关联的节点安全属性;以及转换引擎,所述转换引擎从与所述容器相关联的元数据中指定的容器安全属性生成节点选择器。

【技术特征摘要】
2017.01.31 US 15/420,9961.一种用于将容器分配给节点的基于安全的系统,包括:处理器;以及存储器资源集合,所述存储器资源集合存储由所述处理器可执行的引擎集合,所述引擎集合包括:发现引擎,所述发现引擎发现节点簇中的节点,并且发现与所述节点相关联的节点安全属性;以及转换引擎,所述转换引擎从与所述容器相关联的元数据中指定的容器安全属性生成节点选择器。2.根据权利要求1所述系统,其中所述节点与指定范围相关联。3.根据权利要求1所述的系统,其中所述发现引擎创建与所述节点安全属性对应的标签,并且将所述标签插入与所述节点相关联的元数据中。4.根据权利要求3所述的系统,其中所述节点选择器与所述容器相关联。5.根据权利要求4所述的系统,其中所述引擎集合进一步包括到容器调度器的容器调度器插件,所述容器调度器插件扫描所述节点簇中的多个节点的元数据并且当节点的元数据指明节点安全属性匹配于与所述容器相关联的所述节点选择器时选择所述多个节点中的所述节点。6.根据权利要求5所述的系统,其中所述容器被分配给所选择的节点。7.根据权利要求5所述的系统,其中所述引擎集合进一步包括资源跟踪引擎,所述资源跟踪引擎监控所述节点簇中的安全资源集合。8.根据权利要求7所述的系统,其中所述容器调度器插件将安全资源分配给所述容器,并且从与所选择的节点相关联的资源池中移除所述安全资源。9.一种用于调度容器的计算机实施的方法,包括:发现节点簇中的节点并且发现与所述节点相关联的节点安全属性;从与所述容器相关联的元数据中指定的容器安全属性生成节点选择器;以及将所述容器调度给所述节点簇中的选定节点,所述选定节点与节点安全属性相关联,所述节点安全属性匹配于与所述容器相关联的所述节点选择器。10.根据权利要求9所述的方法,进一步包括:创建与所述节点安全属性对应的标签,并且将所述标签插入与所发现的节点相关联的元数据中。...

【专利技术属性】
技术研发人员:许婉云赵慧智段立功
申请(专利权)人:慧与发展有限责任合伙企业
类型:发明
国别省市:美国,US

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

1