CN117795479A - 用于主机环境内的服务管理和容器编排的系统和方法 - Google Patents
用于主机环境内的服务管理和容器编排的系统和方法 Download PDFInfo
- Publication number
- CN117795479A CN117795479A CN202280054475.1A CN202280054475A CN117795479A CN 117795479 A CN117795479 A CN 117795479A CN 202280054475 A CN202280054475 A CN 202280054475A CN 117795479 A CN117795479 A CN 117795479A
- Authority
- CN
- China
- Prior art keywords
- application
- manifest
- container
- environment
- host
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012545 processing Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 9
- 239000003999 initiator Substances 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 claims 2
- 238000007726 management method Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000007704 transition Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000005693 optoelectronics Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
一种用于主机环境内的服务管理和容器编排(SMCO)的系统和方法提供用于检索容器和配置工具的清单构建器,以生成用于在主机环境上运行的一个或更多个应用的后续更新(例如,全部或部分)的清单工件。在运行时间处,如果主机环境没有到外部存储库的网络连接,则SMCO系统包括清单启动器,清单启动器用于消耗清单工件以加载容器,用于将关联应用安装或更新到如清单工件中的配置工具所提供的主机环境内的本地容器注册表。此外,清单启动器根据应用的期望状态在主机环境内配置容器运行时间环境(CRE)和/或主机操作系统(OS)。
Description
相关申请的交叉引用
本申请要求于2021年8月3日提交的美国临时专利申请序列号63/228,808以及于2022年8月1日提交的美国非临时申请序列号17/878,299的优先权,这些申请通过引用整体并入本文。
技术领域
本公开通常涉及容器化应用服务,更具体地,涉及被配置为在主机环境内执行的应用的服务管理和容器编排。
背景技术
容器正在成为用于部署和管理软件的新标准。容器编排软件/平台(例如,Kubernetes、VMware)自动化应用部署、扩展以及跨主机(例如,服务器)集群或在主机器具(例如,嵌入式硬件设备)内的应用容器的管理和操作。容器是(例如,与其他程序或应用隔离的)自包含的执行环境,其中,一个或更多个应用以及与每个应用相关联的所有依赖项,可以被打包到单个文件中并共享。例如,Kubernetes将一个或更多个容器裹入更高级结构(例如,“Pod”)中,该结构可以容纳在一个或更多个节点(例如,节点的“集群”或池)上。“节点”表示单个机器,即,计算硬件的可能的最小单元。与节点相对应的机器可以是虚拟机(virtual machine,VM)或物理机器,例如,服务器或其他器具。
服务器或其他嵌入式硬件设备可以包括容器管理器,容器管理器负责管理在机器或机器系统上运行的容器套件。例如,当添加、移除或更新应用时,可能需要对容器运行时间(runtime)环境进行配置或重新配置、和/或对其他应用进行修补,例如,更新应用、加载/重新启动/监测与应用相关联的任何新的或更新后的容器、清理未使用的容器。传统上,经由网络连接从容器注册表下载微服务容器。
然而,在某些情况下,嵌入式硬件设备可能无法访问网络连接。例如,该设备可能是新器具或最近闪存或重置为出厂默认设置。在虚拟化或基于云的环境的情况下,被配置用于一个或更多个应用中每个的执行的容器或服务可能会退出(例如,停止运行),并需要重新启动(例如,由于进入或持续处于不健康状态)。应用可能需要在更新或升级之后回滚,例如,如果一个或更多个关联容器与不健康或故障状态相关联。此外,依赖外部注册表进行容器检索可能会使环境处于容器被篡改、缺乏可用注册表或其他拒绝服务类型场景的风险。因此,应用包弥补上述常规方法的缺点可能是有利的。
发明内容
在第一方面,本文公开的发明概念的实施例涉及一种用于主机环境内的服务管理和容器编排(service management and container orchestration,SMCO)的系统和方法。根据本文公开的发明概念的实施例的SMCO系统被配置为生成与被配置用于在主机环境上执行的应用相关联的应用工件(application artifact)。应用工件可以由SMCO系统启动,以完全在主机环境内安装或更新关联应用,从而消除在运行时间处经由网络连接从外部存储库下载容器或配置工具的需要。例如,SMCO系统包括在要更新的主机环境上运行的每个应用的清单工件(manifest artifact),每个清单工件可加载到主机环境并包括容器图像和配置工具。SMCO系统包括清单启动器,用于通过消耗清单工件来更新主机环境的容器运行时环境(container runtime environment,CRE)中的应用。容器由清单启动器基于容器图像生成,并加载到用于由配置工具提供的主机环境的本地容器注册表中。清单启动器还根据更新/更新后的应用的期望状态来配置在主机环境上运行的CRE或主机操作系统(operating system,OS)。
在一些实施例中,主机环境包括服务器、物理器具或其他类似的嵌入式硬件产品;分布式环境(例如,物理网络节点的集合或基于云的处理环境);或者虚拟化环境或虚拟器具(例如,物理处理环境的逻辑分区)。
在一些实施例中,清单启动器在应用更新后从本地容器注册表中移除未使用的CRE对象。
在一些实施例中,未使用的CRE对象包括未使用的容器、未使用的容器图像和/或未使用的配置工具。
在一些实施例中,主机环境在运行时间处未连接到外部网络。
在一些实施例中,清单工件与完整的应用更新相关联,例如,与应用的当前版本相关联。
在一些实施例中,清单工件与部分或修补应用更新相关联,部分或修补应用更新依赖于先前应用版本,并且能够仅将应用的先前版本更新为当前版本。
在一些实施例中,SMCO系统包括可连接到远程注册表的清单构建器。例如,清单构建器从远程注册表中检索配置工具和容器,并基于容器并且以适当的容器图像格式生成容器图像。基于检索到的配置工具和生成的容器图像,清单构建器生成可加载到主机环境用于后续运行时间(例如,当SMCO系统可能没有网络访问时)的清单工件。
在另一方面,公开了一种用于服务管理和容器编排(SMCO)的方法。在实施例中,该方法包括在构建时间处经由SMCO系统的清单构建器检索连接到远程注册表的清单启动器,清单启动器包括用于要安装在主机环境内的应用的容器和配置工具。该方法包括在构建时间处经由清单构建器根据检索到的容器生成容器图像。该方法包括在构建时间处经由清单构建器基于容器图像和配置工具生成清单工件。该方法包括:在构建时间之后的运行时间处,并且经由清单启动器,当主机环境未经由网络连接到任何远程注册表时,通过将容器从清单工件提取到用于由配置工具提供的CRE的本地容器注册表来(例如,全部或部分)更新主机环境的容器运行时间环境(CRE)内的应用。该方法包括在运行时间处基于更新后的应用的期望状态来配置CRE和/或主机操作系统(OS)。
应当理解的是,上述一般描述和以下详细描述两者只是示例性的和解释性的,不一定限制本公开。结合在说明书中并构成说明书的一部分的附图说明本公开的主题。说明书和附图一起用于解释本公开的原理。
附图说明
通过参考附图,本领域技术人员可以更好地理解本公开的众多优点。
图1是根据本公开一个或更多个实施例的用于主机环境内的服务管理和容器编排(SMCO)的系统的图解图示;
图2是图1的主机环境内的SMCO系统的图解图示;
图3是图1的SMCO系统的部件的图解图示;
图4是根据本公开一个或更多个实施例的图1的SMCO系统的构建时操作的图解图示;
图5是图1的主机环境内的SMCO系统的运行时间操作的图解图示;以及
图6是示出根据本公开一个或更多个实施例的用于服务管理和容器编排的方法的过程流程图。
具体实施方式
在详细解释本公开的一个或更多个实施例之前,应理解的是,实施例在其应用方面不限于以下描述中阐述的或附图中所示的部件的构造和布置或步骤或方法的细节。在以下实施例的详细描述中,可以阐述许多具体细节,以便提供对本公开的更彻底的理解。然而,对于受益于本公开的本领域普通技术人员来说,显而易见的是,可以在没有这些特定细节的情况下实践本文公开的实施例。在其他情况下,可以不详细描述公知的特征,以避免不必要地使本公开复杂化。
如本文所用,附图标记后面的字母旨在指代特征或元素的实施例,该特征或元素可以与先前描述的具有相同附图标记(例如,1、1a、1b)的元素或特征相似,但不一定相同。这样的速记符号仅用于方便的目的,除非明确相反,否则这样的速记符号不应被解释为以任何方式限制公开内容。
此外,除非明确相反,否则“或”是指包容性的或而不是排他性的或。例如,条件A或B由以下中的任意一个满足:A为真(或存在)而B为假(或不存在)、A为假(或不存在)而B为真(或存在)、以及A和B两者都为真(或存在)。
此外,可以采用“一个(a)”或“一种(an)”的使用来描述本文公开的实施例的元素和部件。这样做只是为了方便,“一个(a)”和“一种(an)”旨在包括“一个”或“至少一个”,除非明显另有说明,否则单数也包括复数。
最后,如本文所用,对“一个实施例”或“一些实施例”的任何参考都意味着结合实施例描述的特定元素、特征、结构或特性包括在本文公开的至少一个实施例中。短语“在一些实施例中”在说明书中的各个地方的出现不一定都指同一实施例,并且实施例可以包括本文中明确描述或固有存在的一个或更多个特征、或者两个或更多个这样的特征的任何组合或子组合、以及可能不一定在本公开中明确描述或固有存在的任何其他特征。
参考图1,公开了一种主机环境100。在实施例中,主机环境100可以包括服务器102或类似的物理器具,例如,包括一个或更多个中央处理单元(central processing unit,CPU)、存储器(例如,随机存取存储器(random access memory,RAM))等的嵌入式硬件设备或类似的计算设备。在实施例中,主机可以由主机操作系统(OS)、被配置用于在主机环境上执行的一个或更多个容器化应用104以及相关联的低级平台固件106来定义。在一些实施例中,主机环境100可以分布在多于一个器具(例如,Kubernetes集群或其他类型的分布式环境)中。例如,分布式主机环境可以分布在物理连接的服务器或器具的集群108中(例如,经由以太网链路或其他类似的有线/物理链路110连接,或者经由无线链路110a连接)。此外,分布式主机环境可以包括基于云的环境112,其并入联网处理或数据存储元件112a的集合。在一些实施例中,主机环境可以并入一个或更多个虚拟化环境114或虚拟机(例如,逻辑分区或一个或更多个物理器具),容器化应用被配置用于在虚拟化环境内的容器运行时间环境(CRE)内执行。
在一些实施例中,主机环境100可能未连接到外部网络,或者无法访问网络连接(例如,在运行时间处)。例如,主机环境100可以体现在由新客户或用户在预启动状态下接收的器具102中,重置为出厂默认值,或者以其他方式闪存。当为器具102通电时,可以确定的是当前不存在与应用104相关联的容器或服务的配置,或者必须启动或重新启动一个或更多个应用(和/或相关联的容器和服务)。例如,正在进行的一个或更多个应用104的启动可以被器具102的重新启动中断。类似地,被配置用于基于相关联的应用104执行的一个或更多个容器或服务可能针对扩展时间退出或进入不健康状态,并且可能需要重新启动。应用104可以被添加或从主机环境100中移除,或者被更新到新版本,并且与这些应用相关联的容器和服务必须相应地被添加、移除或更新。相反,应用104可以回滚到先前版本(例如,如果相关联的容器和服务在升级之后失败或进入不健康状态),这可能需要一个或更多个关联容器的回滚。
在实施例中,SMCO系统116可以被布置在主机环境100内,并且可以包括与被配置用于在主机环境上(例如,在容器运行时间环境(CRE)内)执行的应用104相对应的一个或更多个清单工件118(例如,应用工件)。
在实施例中,SMCO系统116可以包括清单启动器120,清单启动器120能够经由命令行接口(command-line interface,CLI)工具(例如,Docker、Docker Swarm)和软件更新器与CRE/主机环境100接合,以从其清单工件118安装、移除或更新应用104。例如,在主机环境100中运行的应用104内的软件更新器可以确定由SMCO系统116对应用提供什么更新,例如,完整更新或部分更新,如下面详细描述的。一旦批准(例如,来自与主机环境100相关联的授权客户或用户),应用104可以请求SMCO系统116更新由其部件清单工件118提供的应用。
在实施例中,清单工件118可以包括容器图像122(例如,格式化为Tape ARchive文件或“tarballs”、.tar、.tar.gz)、以及关联应用104的执行所必需的任何和全部容器的CRE/主机环境100的部署所必需的任何关联容器配置工具124(例如,容器和容器套件的设置和部署所需的配置、数据和脚本、应用版本信息和依赖性策略(应用104的完整版本或修补版本、关联平台固件106的当前/更新版本、要应用的更改)、主机环境和系统配置、清单启动器更新配置)。
现在参考图2,示出了主机环境100。
在实施例中,SMCO系统116的清单工件(图1的118)可以包括要更新的应用104的完整版本或部分/增量版本。例如,SMCO系统116可以生成(例如,在构建时间处,在启动之前,如果主机环境100是新器具102)清单工件202,清单工件202包括要更新的应用104的完整和当前版本(例如,版本1.3)。在实施例中,清单工件202可以包括应用104的最近批准的完整版本,并且可以被配置为更新应用的整体,包括对关联平台固件106的任何必要更新或关联平台固件106的版本。此外,包括在清单工件202内的应用104的完整版本1.3可以依赖于应用的任何先前完整版本(例如,版本1.2(清单工件204)、版本1.1(清单工件206)、原始版本1.0(未示出))。
在一些实施例中,SMCO系统116可以生成包括应用104的增量或修补版本的清单工件208。例如,由清单工件208并入的修补版本1.3可以取决于应用104的特定先前版本(例如,版本1.2),并且可以包括仅更新版本1.2所需的特定容器图像(图1的122)、配置工具(图1的124)、服务或其他资源,以及仅以特定增量方式(例如,经由应用的特定部件的更新、添加和/或移除)升级到版本1.3的版本1.2。类似地,由清单工件210、212并入的修补版本1.2和1.1可以仅更新应用104的特定先前版本(例如,分别为版本1.1和版本1.0)。
参考图3,示出了SMCO系统116。在实施例中,SMCO系统116可以包括一个或更多个软件(software,SW)更新器302、命令行接口304(CLI;例如,Docker)工具和清单启动器120。
在实施例中,例如,在启动时或响应于软件更新请求,基于清单工件(图1的118;例如,由包以“tarball”形式使用的容器图像(图1的122)、命令行工具(例如,YAML dockercompose)和/或包部署数据(例如本地容器注册表的包和图像名称)中的关联应用包,清单启动器120可以执行关联应用(图1的104)的完整或修补安装(添加、移除、更新)。例如,清单启动器120可以包括用于启动更新(例如,基于从软件更新器302接收的请求)的程序化API(Application Programming Interface,应用程序接口)306(例如,谷歌远程过程调用(Google Remote Procedure Calls,gRPC))。此外,清单启动器120可以包括更新器308和包管理器310,用于将清单工件118下载并扩展到部件容器图像122中。在实施例中,更新器308可以进一步更新应用的期望状态,并将状态的更改通知状态管理器312。此外,包管理器310可以处理将容器图像122加载到本地容器存储库中(经由容器图像管理314)的请求或者保留当前未被使用的包(例如,在回滚活动的情况下)的请求。
在实施例中,状态管理器312可以检索任何容器的当前和/或期望状态,并且可以检索指示观察到的漂移(例如,(例如,如果固件已升级或恢复到出厂默认值,则在启动或重新启动时)给定容器的当前状态和期望状态之间的差异)的漂移报告(drift report)。例如,转换状态操作器316可以被通知任何检测到的漂移,并且可以采取步骤来转换当前应用状态以匹配期望状态(例如,添加、移除或更新服务以重新应用最新期望状态)。此外,如果需要,转换状态操作器316可以执行回滚(例如,容器故障/不健康状态),并且更新状态管理器312关于所请求的状态转换的成功或失败。在实施例中,容器图像管理314可以负责执行由包管理器310将容器图像122加载到本地容器存储库中的请求。此外,容器图像管理314可以负责周期性的“垃圾收集”,例如,从本地容器存储库中清理未使用的容器图像122、配置工具124或任何其他未使用的CRE对象(例如,参见下面的图4)。
还参考图4,SMCO系统116可以另外包括清单构建器318。例如,清单构建器318可以(例如,在构建时间处)通过(例如,从容器注册表402)下载容器以及从远程注册表下载从配置存储库404检索到的任何关联配置工具124(例如,设置和部署到CRE/主机环境(图1的100)的容器和容器套件所需的容器配置、数据和脚本(124a)以及附加配置数据124b(例如应用版本信息和依赖性策略、主机环境和系统配置、清单启动器更新配置))、将下载的容器转换为容器图像122(例如,tarball格式(.tgz、.tar.gz等),来生成清单工件118。
在实施例中,在构建时间处,清单构建器318可以通过并入一个或更多个应用104(例如,应用工件118a-118b;图2的202-212)的完整或部分更新,连同应用所需的任何容器图像122(例如,以tarball形式;应当注意的是,一些容器或容器套件可以由多于一个应用共享)以及如上所述的任何关联配置工具124,来封装或组装清单工件118。
还参考图5,示出了主机环境100及其容器运行时间环境500(CRE)。
在实施例中,在运行时间处,SMCO系统116的清单启动器120可以消耗清单工件(图4的118;(例如,如上文所示,预加载到主机环境100中或者由清单构建器(图4的318)封装),以根据关联应用(图1的104)的需要用任何关联容器/容器图像122或容器套件来填充本地容器注册表502。例如,清单启动器120可以创建和/或配置(例如,经由配置工具(图1的124;图4的124a-124b)CRE内的关联应用的任何关联数据和容量、秘密和网络。类似地,清单启动器120可以对主机操作系统504(OS)执行任何必要的重新配置。
在实施例中,如图4和图5所示,清单工件118可以并入多于一个应用工件118a-118b和/或应用104,每个单独的应用包括任何关联容器图像122或容器套件和配置工具124、124a-124b。例如,清单启动器120可以一次安装、更新或启动一个应用104,但也可以根据需要或期望在一个或更多个不同的监测的应用或应用模式之间切换多用途器具(图1的108、112、114)或主机环境100的“个性”。例如,主机环境100和/或在其上运行的活动应用104可以分布在多个节点或器具(例如,分布式环境108、基于云的环境112)之间,并且清单启动器120可以在活动应用104的模式之间转移配置,每个模式由应用的不同配置定义,例如,每个模式在特定节点或器具(图1的108a、112a)或其组上运行。
可以设想的是,SMCO系统116可能具有许多优点。例如,主机环境100可以提供应用资源的一致可用性(例如,在安装、移除、更新或回滚的情况下),而不依赖于稳定的网络连接。即使主机环境100包含在没有网络能力的单个器具内,也可以确保针对一个或更多个应用104的CRE 500的可靠配置。
现在参考图6,方法600可以由主机环境100内的SMCO系统116实现,并且可以包括以下步骤。
在步骤602处,在构建时间处,SMCO系统的清单构建器从远程注册表中检索要更新的一个或更多个应用的容器和配置工具,应用在主机环境上运行。
在步骤604处,清单构建器在构建时间处基于检索到的容器生成容器图像。
在步骤606处,清单构建器在构建时间处基于容器图像和关联配置工具为要更新的每个应用生成清单工件。
在步骤608处,在构建时间之后的运行时间处,在主机环境未连接到网络时,通过从清单工件中提取容器并将其提取到CRE的本地容器注册表中,SMCO系统的清单启动器用主机环境的容器运行时间环境(CRE)更新应用,如清单工件的配置工具所提供的。例如,SMCO系统可以执行应用的完整安装(例如,预启动),或者从任何先前版本到当前版本的完整应用更新。在一些实施例中,SMCO系统可以执行修补或部分应用更新,经由特定部件更新、添加或移除将应用的特定先前版本更新为特定当前版本。
在步骤610处,清单启动器在运行时间处基于更新/更新后的应用的期望状态来配置主机环境的CRE和/或主机OS。
在一些实施例中,该方法可以包括额外的步骤612。在步骤612处,清单启动器在运行时间处从本地容器注册表中移除未使用的CRE对象。
本领域技术人员将认识到,现有技术已经发展到系统各方面的硬件和软件实现之间几乎没有区别的地步;硬件或软件的使用通常(但并不总是如此,因为在某些情况下,硬件和软件之间的选择可能变得重要)是代表成本与效率权衡的设计选择。本领域技术人员将理解,存在可以实现本文所述的过程和/或系统和/或其他技术的各种传播媒介(例如,硬件、软件和/或固件),并且优选的传播媒介将随着部署的过程和/或系统和/或其他技术的情况而变化。例如,如果实施者确定速度和准确性是最重要的,则实施者可以选择主要是硬件和/或固件传播媒介;替代地,如果灵活性是最重要的,则实施者可以选择主要是软件实现;或者,再一次替代地,实施者可以选择硬件、软件和/或固件的某种组合。因此,有几种可能的传播媒介可以用来实现本文所述的过程和/或设备和/或其他技术,其中没有一个天生优于另一个,因为要使用的任何传播媒介都是取决于传播媒介将被部署的情况和实施者的具体关注点(例如,速度、灵活性或可预测性)的选择,其中的任何一个都可能变化。本领域技术人员将认识到,实现的光学方面通常将采用面向光学的硬件、软件和/或固件。
上述详细描述经由框图、流程图和/或示例的使用来阐述设备和/或过程的各种实施例。就这样的框图、流程图和/或示例包含一个或更多个功能和/或操作而言,本领域技术人员将理解,这样的框图、流程图或示例内的每个功能和/或操作可以单独地和/或共同地通过广泛的硬件、软件、固件或者实际上它们的任何组合来实现。在一个实施例中,本文所述主题的若干部分可以经由专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、数字信号处理器(digital signal processor,DSP)或其他集成格式来实现。然而,本领域技术人员将认识到,本文公开的实施例的某些方面,全部或部分地,可以等效地在集成电路中实现为运行在一个或更多个计算机上的一个或更多个计算机程序(例如,实现为运行在一个或更多个计算机系统上的一个或更多个程序)、实现为在一个或更多个处理器上运行的一个或更多个程序(例如,实现为在一个或更多个微处理器上运行的多个程序)、实现为固件、或者实际上实现为它们的任何组合,并且根据本公开,为软件和/或固件设计电路和/或编写代码将完全在本领域技术人员的技术范围内。此外,本领域技术人员将理解,本文所述主题的机制能够以各种形式作为程序产品来分发,并且无论用于实际执行分发的特定类型的信号承载介质如何,本文所述主题的说明性实施例都适用。信号承载介质的示例包括但不限于以下:可记录类型介质,例如软盘、硬盘驱动器、光盘(Compact Disc,CD)、数字视盘(Digital VideoDisk,DVD)、数字磁带、计算机存储器等;以及传输型介质,例如数字和/或模拟通信介质(例如,光纤电缆、波导管、有线通信链路、无线通信链路等)。
在一般意义上,本领域技术人员将认识到,本文所述的各方面可以单独和/或集体地通过广泛的硬件、软件、固件或其任何组合来实现,这些方面可以被视为由各种类型的“电路”组成。因此,如本文所用的“电路”包括但不限于具有至少一个分立电路的电路、具有至少一个集成电路的电路、具有至少一个专用集成电路的电路、形成由计算机程序配置的通用计算设备(例如,由至少部分地执行本文所述的过程和/或设备的计算机程序所配置的通用计算机、或者由至少部分地执行本文所述的过程和/或设备的计算机程序所配置的微处理器)的电路、形成存储器设备(例如,随机存取存储器的形式)的电路、和/或形成通信设备(例如,调制解调器、通信网关、或光电装备)的电路。本领域技术人员将认识到,本文所述主题可以以模拟或数字方式或其某种组合来实现。
本领域技术人员将认识到,在本领域中,以本文所述的方式描述设备和/或过程,并随后使用工程实践将这样描述的设备和/或过程集成到数据处理系统中是常见的。也就是说,本文描述的设备和/或过程的至少一部分可以经由合理的实验量集成到数据处理系统中。本领域技术人员将认识到,典型的数据处理系统通常包括系统单元壳体、视频显示设备、诸如易失性和非易失性存储器的存储器、诸如微处理器和数字信号处理器的处理器、诸如操作系统的计算实体、驱动器、图形用户界面和应用程序、一个或更多个交互设备(例如触摸板或屏幕)、和/或包括反馈回路和控制电机的控制系统(例如,用于感测位置和/或速度的反馈;用于移动和/或调整部件和/或量的控制电机)中的一个或更多个。典型的数据处理系统可以利用任何合适的商用部件(例如通常在数据计算/通信和/或网络计算/通信系统中发现的部件)来实现。
本文描述的主题有时说明包含在不同其他部件内或与不同其他部件连接的不同部件。应当理解,这样描述的架构仅仅是示例性的,并且事实上可以实现相同功能的许多其他架构。从概念意义上讲,实现相同功能的任何部件的排列都是有效“关联的”,从而实现期望的功能。因此,本文中组合以实现特定功能的任何两个部件都可以被视为彼此“关联”,从而实现期望的功能,而与架构或中间部件无关。同样,如此关联的任何两个部件也可以被视为彼此“可操作地连接”或“可操作地耦接”,以实现期望的功能,而能够如此关联的任何两个部件还可以被视为彼此“可操作地耦接”,以实现期望的功能。可操作地耦接的具体示例包括但不限于物理上可匹配和/或物理上可交互的部件和/或无线地可交互和/或无线地可交互的部件和/或逻辑上可交互和/或逻辑上可交互的部件。
虽然已经显示和描述了本文所述主题的特定方面,但本领域技术人员将清楚,基于本文的教导,可以在不偏离本文所述主题及其更广泛方面的情况下进行改变和修改,因此,所附权利要求将在其范围内包括在本文所述主题的真正精神和范围内的所有这样的改变和修改。此外,应当理解,本发明由所附权利要求限定。
Claims (15)
1.一种用于主机环境内的服务管理和容器编排SMCO的系统,所述系统包括:
一个或更多个清单工件,与被配置用于在所述主机环境上执行的至少一个应用相关联,每个清单工件能够加载到所述主机环境并且包括:
一个或更多个容器图像;
以及
一个或更多个配置工具;
以及
至少一个清单启动器,被配置为在运行时间处通过以下方式更新所述主机环境的容器运行时间环境CRE中的所述至少一个应用:
消耗所述至少一个清单工件;
根据所述一个或更多个配置工具将与所述至少一个应用相关联的一个或更多个容器加载到所述主机环境的本地容器注册表,所述一个或更多个容器基于所述一个或更多个容器图像;
以及
根据所述至少一个应用的期望状态来配置所述主机环境的CRE或主机操作系统OS中的至少一个。
2.根据权利要求1所述的用于主机环境内的SMCO的系统,其中,所述清单启动器被配置为从所述本地容器注册表中移除一个或更多个未使用的CRE对象。
3.根据权利要求2所述的用于主机环境内的SMCO的系统,其中,一个或更多个未使用的CRE对象选自以下各项:
一个或更多个未使用的容器;
一个或更多个未使用的容器图像;
或
一个或更多个未使用的配置工具。
4.根据权利要求1所述的用于主机环境内的SMCO的系统,其中,所述主机环境包括未连接到外部网络的器具。
5.根据权利要求1所述的用于主机环境内的SMCO的系统,其中,所述主机环境分布在多个物理节点上。
6.根据权利要求1所述的用于主机环境内的SMCO的系统,其中,所述主机环境分布在多个基于云的网络节点上。
7.根据权利要求1所述的用于主机环境内的SMCO的系统,其中,所述主机环境体现在虚拟化器具或虚拟化处理环境中的至少一个中。
8.根据权利要求1所述的用于主机环境内的SMCO的系统,其中:
所述至少一个清单工件与对应于应用版本的完整应用相关联;
以及
更新所述应用包括根据所述应用版本在所述CRE内安装所述应用。
9.根据权利要求1所述的用于主机环境内的SMCO的系统,其中:
根据第一应用版本将所述至少一个应用安装在所述CRE内;
以及
所述至少一个清单工件与依赖于所述第一应用版本的修补应用相关联,所述修补应用被配置为根据第二应用版本更新所述至少一个应用。
10.根据权利要求1所述的用于主机环境内的SMCO的系统,还包括:
至少一个清单构建器,经由网络连接与至少一个远程注册表通信,
所述清单构建器被配置用于在所述运行时间之前的构建时间处:
从所述至少一个远程注册表检索一个或更多个容器和所述一个或更多个配置工具;
基于所述一个或更多个容器生成一个或更多个容器图像,所述一个或更多个容器图像与至少一个容器图像格式相关联;
以及
基于所述一个或更多个容器图像和所述一个或更多个配置工具来生成所述一个或更多个清单工件。
11.一种用于服务管理和容器编排SMCO的方法,所述方法包括:
经由SMCO系统的清单构建器并且在构建时间处,检索经由网络连接与至少一个远程注册表通信的清单启动器、与被配置用于在主机处理环境中执行的至少一个应用相关联的一个或更多个配置工具以及一个或更多个容器;
经由所述清单构建器并且在所述构建时间处,基于所述一个或更多个容器生成一个或更多个容器图像;
经由所述清单构建器并且在所述构建时间处,基于所述一个或更多个容器图像和所述一个或更多个配置工具生成一个或更多个清单工件;
经由SMCO系统的清单启动器并且在所述构建时间之后的运行时间处,通过根据所述一个或更多个配置工具从所述一个或更多个清单工件中将所述一个或更多个容器提取到容器运行时间环境CRE的本地容器注册表,来更新所述主机处理环境的CRE内的至少一个应用;
以及
在所述运行时间处并且经由所述清单启动器,根据所述至少一个应用的期望状态来配置所述主机处理环境的CRE或主机操作系统OS中的至少一个。
12.根据权利要求11所述的方法,还包括:
经由所述清单启动器并且在所述运行时间处,从所述本地容器注册表中移除一个或更多个未使用的CRE对象。
13.根据权利要求11所述的方法,其中,在所述主机处理环境的容器运行时间环境CRE内更新所述至少一个应用包括:
根据至少一个应用版本在所述CRE内完全安装所述至少一个应用。
14.根据权利要求11所述的方法,其中,根据应用版本将所述至少一个应用安装在所述CRE内,并且在所述主机处理环境的容器运行时间环境CRE内更新所述至少一个应用包括:
根据所述应用版本在所述CRE内完全重新安装所述至少一个应用。
15.根据权利要求11所述的方法,其中,根据第一应用版本将所述至少一个应用安装在所述CRE内,并且在所述主机处理环境的容器运行时间环境CRE内更新所述至少一个应用包括:
根据依赖于所述第一应用版本的第二应用版本来部分地更新所述至少一个应用。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163228808P | 2021-08-03 | 2021-08-03 | |
US63/228,808 | 2021-08-03 | ||
US17/878,299 US20230044016A1 (en) | 2021-08-03 | 2022-08-01 | System and method for service management and container orchestration within a host environment |
US17/878,299 | 2022-08-01 | ||
PCT/US2022/039173 WO2023014716A1 (en) | 2021-08-03 | 2022-08-02 | System and method for service management and container orchestration within a host environment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117795479A true CN117795479A (zh) | 2024-03-29 |
Family
ID=85152893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280054475.1A Pending CN117795479A (zh) | 2021-08-03 | 2022-08-02 | 用于主机环境内的服务管理和容器编排的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230044016A1 (zh) |
EP (1) | EP4381387A1 (zh) |
CN (1) | CN117795479A (zh) |
WO (1) | WO2023014716A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11762644B2 (en) * | 2021-05-10 | 2023-09-19 | International Business Machines Corporation | Agentless installation for building deployments |
US11907701B2 (en) * | 2021-09-17 | 2024-02-20 | Dell Products, L.P. | Deploying software updates in hybrid workspace environments |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9336060B2 (en) * | 2011-06-17 | 2016-05-10 | Microsoft Technology Licensing, Llc | Middleware services framework for on-premises and cloud deployment |
US9973566B2 (en) * | 2013-11-17 | 2018-05-15 | Nimbix, Inc. | Dynamic creation and execution of containerized applications in cloud computing |
US9274784B2 (en) * | 2014-06-02 | 2016-03-01 | Sap Se | Automatic deployment and update of hybrid applications |
EP3198431A1 (en) * | 2014-09-24 | 2017-08-02 | Oracle International Corporation | System and method for supporting patching in a multitenant application server environment |
US11182140B2 (en) * | 2015-11-25 | 2021-11-23 | Red Hat, Inc. | Active representation of a composite application |
US10002247B2 (en) * | 2015-12-18 | 2018-06-19 | Amazon Technologies, Inc. | Software container registry container image deployment |
US10255054B2 (en) * | 2016-04-13 | 2019-04-09 | International Business Machines Corporation | Enforcing security policies for software containers |
EP3836051A1 (en) * | 2019-12-13 | 2021-06-16 | Basf Se | Industrial plant optimization |
US11243758B2 (en) * | 2020-02-13 | 2022-02-08 | International Business Machines Corporation | Cognitively determining updates for container based solutions |
US11487591B1 (en) * | 2020-06-29 | 2022-11-01 | Amazon Technologies, Inc. | Automatically configuring execution of a containerized application |
-
2022
- 2022-08-01 US US17/878,299 patent/US20230044016A1/en active Pending
- 2022-08-02 EP EP22853808.8A patent/EP4381387A1/en active Pending
- 2022-08-02 WO PCT/US2022/039173 patent/WO2023014716A1/en active Application Filing
- 2022-08-02 CN CN202280054475.1A patent/CN117795479A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4381387A1 (en) | 2024-06-12 |
WO2023014716A1 (en) | 2023-02-09 |
US20230044016A1 (en) | 2023-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2495481C2 (ru) | Размещение программного обеспечения в больших сетевых системах | |
US11997094B2 (en) | Automatically deployed information technology (IT) system and method | |
US11093230B2 (en) | Consistent operating system servicing for distributed nodes | |
US9250672B2 (en) | Cloning target machines in a software provisioning environment | |
CN117795479A (zh) | 用于主机环境内的服务管理和容器编排的系统和方法 | |
US9292275B2 (en) | System and method for upgrading kernels in cloud computing environments | |
US20090113408A1 (en) | System synchronization in cluster | |
US8819670B2 (en) | Automated software installation with interview | |
US8074213B1 (en) | Automatic software updates for computer systems in an enterprise environment | |
US8607225B2 (en) | Managed upgrades of components in an integrated software and hardware system | |
US20120054736A1 (en) | Automatic upgrade of virtual appliances | |
WO2002084479A2 (en) | Method and apparatus for performing online application upgrades in a java platform | |
CN108616384B (zh) | 一种集中式的服务管理部署工具及方法 | |
US20210392039A1 (en) | Automated Initialization Of Bare Metal Servers | |
US20230025529A1 (en) | Apparatus and method for managing a distributed system with container image manifest content | |
US20180253555A1 (en) | Selecting and loading firmware volumes | |
US20070028228A1 (en) | Software upgrades with user advisement | |
US10102008B2 (en) | Managed boot process system | |
WO2002075541A2 (en) | Method and apparatus for providing application specific strategies to a java platform including start and stop policies | |
CN112130953A (zh) | Windows Hyper-V虚拟化的应用部署方法 | |
US20230229480A1 (en) | Provisioning dpu management operating systems using firmware capsules | |
CN105138369A (zh) | 安装操作系统的方法和装置 | |
CN114327781A (zh) | 虚拟终端的管控方法及装置、系统、电子设备、存储介质 | |
KR102423056B1 (ko) | 부팅 디스크 변경 방법 및 시스템 | |
JP6099106B2 (ja) | 少なくとも一つのデータキャリアを提供するための方法、コンピュータシステム、および、メモリデバイス |
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 |