CN113396393A - 多租户paas组件的动态自动配置 - Google Patents

多租户paas组件的动态自动配置 Download PDF

Info

Publication number
CN113396393A
CN113396393A CN202080009314.1A CN202080009314A CN113396393A CN 113396393 A CN113396393 A CN 113396393A CN 202080009314 A CN202080009314 A CN 202080009314A CN 113396393 A CN113396393 A CN 113396393A
Authority
CN
China
Prior art keywords
instance
configuration
paas
component
service
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
Application number
CN202080009314.1A
Other languages
English (en)
Inventor
R·M·帕克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN113396393A publication Critical patent/CN113396393A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0843Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1432Metric aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0886Fully automatic configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)

Abstract

本公开的实施例描述了配置代理或“配置‑代理”,其可以在软件系统实例被部署或更新时标识新的PaaS组件配置信息,而不需要开发者在每当新的软件系统实例被安装或更新时手动配置每个PaaS组件实例。在一些示例中,配置‑代理从与软件系统实例相关联的配置文件中检索新的配置信息,配置文件诸如ConfigMap和/或由配置‑代理操作的自定义资源定义类型的自定义资源对象。配置‑代理可以跟踪每个软件系统实例和PaaS组件实例,并且确保必要的配置被传递到PaaS组件实例上。

Description

多租户PAAS组件的动态自动配置
相关申请
本申请请求根据35U.S.C.§119(e)的美国临时申请第62/792,580号、于2019年1月15日提交的、题为“多租户PAAS组件的动态自动配置”的优先权,其内容整体并入本文。
技术领域
本公开涉及PaaS架构,并且更具体地涉及当新配置被部署时更新PaaS组件的过程。
背景技术
在云计算中,云计算服务的用户可以将某些计算过程外包给第三方以简化用户的计算体验。平台即服务(“PaaS”)是云计算的一种形式,其中用户可以在在无需重新开始创建和管理应用的每个相关系统组件情况下开发和运行应用。例如,用户可以利用各种PaaS组件,这些组件被设计以执行用户应用所需的特定任务。PaaS架构的典型用户包括但不限于:部署具有各种配置和功能的网络功能(“NF”)的网络运营方。这些NF(例如,虚拟网络功能或“VNF”)与PaaS组件接口以执行它们的各种功能。
示例平台即服务(“PaaS”)组件包括诸如MongoDB的数据库和诸如PrometheusTM的可观察性组件(关键绩效指标“KPI”管理、阈值交叉警报和KPI的历史存储)、GrafanaTM(KPI的图形可视化)、Elastic SearchTM(日志消息的历史存储)、ElastAlert(从日志消息中引发警报的基于规则的逻辑)、KibanaTM(ElasticSearch和ElastAlert活动的仪表板可视化)。这些PaaS组件是多租户的,因为当实现支持联网系统时,可能会有多个不同的系统(例如,网络功能)同时使用PaaS组件中的每个PaaS组件。当新租户(例如,每个网络功能)被部署时,配置被应用在PaaS组件上。例如,逻辑数据库名称、文档集合列表及其键被提供给MongoDBTM;所支持的KPI列表被上传到PrometheusTM;从中可以拉取KPI的端点的身份也被上传到PrometheusTM(有时被称为“服务发现”);参考KPI的仪表板被上传到GrafanaTM;警报规则被上传到ElastAlert;并且可视化日志消息流的仪表板被上传到KibanaTM。然而,协调针对多租户架构的过程是非常耗时的,并且需要复杂的手动执行或者复杂的集中式工具,例如由Red HatTM提供的AnsibleTM以跨平台自动改变,并且需要确保PaaS组件接收它们消耗的文件。
发明内容
在一些实施例中,方法包括:使用第一描述符表安装服务实例,安装包括:安装包括服务实例的、在第一描述符表中被声明的多个微服务,微服务中的至少一个微服务被配置为请求来自平台即服务(“PaaS”)组件类型的PaaS组件的实例的服务,以及基于第一描述符表创建至少一个配置文件;由与PaaS组件类型相关联的配置代理,解析针对与PaaS组件相关联的配置数据的至少一个配置文件;以及由配置代理,指示PaaS组件的实例安装配置数据。
在一些实施例中,配置文件包括资源描述符,并且其中方法还包括将配置文件挂载到配置代理。
在一些实施例中,服务实例包括网络功能(“NF”)。
在一些实施例中,服务实例由网络运营方安装,并且PaaS组件由第三方开发和管理。
在一些实施例中,方法还包括:使用第二描述符表更新服务实例,更新包括:更新包括服务实例的、在第二描述符表中被声明的多个微服务中的至少一个微服务,多个微服务中的已更新的至少一个微服务被配置为请求来自PaaS组件的实例的服务;以及基于第二描述符表更新至少一个配置文件;由配置代理,解析已更新的至少一个配置文件,以标识对与PaaS组件相关联的配置数据的更新;以及由配置代理,指示PaaS组件的实例安装已更新的配置数据。
在一些实施例中,更新软件实例由容器编排引擎(“COE”)执行。
在一些实施例中,方法包括:由与平台即服务(“PaaS”)组件类型相关联的配置代理,监测针对标识至少一个配置文件目录中的配置文件改变的通知,配置文件目录中的至少一个配置文件包括,针对PaaS组件类型的PaaS组件的至少一个实例的配置数据;由配置代理,监测PaaS组件类型的至少一个实例的配置,以标识缺乏与配置文件目录中的配置数据的一致性;当配置文件改变中的一个或多个配置文件改变或者缺乏一致性被标识时,由配置代理自动地将指令传送至PaaS组件的至少一个实例,指令包括用于以下的指令:基于配置文件目录中的配置数据在PaaS组件的至少一个实例上安装配置。
在一些实施例中,PaaS组件的至少一个实例被配置为服务多个微服务中的至少一个微服务,该至少一个微服务包括网络功能(“NF”)。
在一些实施例中,配置数据中的改变包括,配置文件目录中的配置映射(ConfigMap)的数据的改变。
在一些实施例中,配置数据与至少一个服务实例相关联,并且其中方法还包括使用描述符表更新至少一个服务实例,更新至少一个服务实例引起配置数据中的改变。
在一些实施例中,至少一个服务实例由网络运营方更新,并且其中PaaS组件由第三方开发和管理。
在一些实施例中,方法包括:使用第一描述符表安装服务实例,安装包括:安装包括服务实例的、在第一描述符表中被声明的多个微服务,微服务中的至少一个微服务被配置为请求来自平台即服务(“PaaS”)组件类型的PaaS组件的实例的服务,以及,基于第一描述符表创建至少一个资源实例,资源实例具有与资源定义相关联的类型,资源实例包括与PaaS组件的实例相关联的配置数据;由操作与资源定义相关联的类型的资源实例的配置代理接收至少一个资源实例的创建的通知,通知还包括,与PaaS组件的实例相关联的配置数据;以及由配置代理指示PaaS组件的实例安装配置数据。
在一些实施例中,指示PaaS组件的实例安装配置数据包括,由配置代理执行对PaaS组件的实例的API调用。
在一些实施例中,服务实例包括网络功能(“NF”)。
在一些实施例中,服务实例由网络运营方安装,并且PaaS组件由第三方开发和管理。
在一些实施例中,使用第二描述符表更新服务实例,更新包括:更新包括服务实例的、在第二描述符表中被声明的多个微服务中的至少一个微服务,多个微服务中的已更新的至少一个微服务被配置为请求来自PaaS组件的实例的服务;以及,通过更新与PaaS组件的实例相关联的资源实例中的配置数据,基于第二描述符表更新至少一个资源实例;由操作与资源定义相关联的类型的资源实例的配置代理接收对至少一个资源实例的更新的通知,通知还包括,与PaaS组件的实例相关联的已更新的配置数据;以及,由配置代理指示PaaS组件的实例安装已更新的配置数据。
在一些实施例中,更新软件实例是由容器编排引擎(“COE”)执行的。
在一些实施例中,方法包括:由与资源定义类型相关联的配置代理,监测针对标识资源定义类型的资源实例中的声明已改变的通知,已改变的声明与平台即服务(“PaaS”)组件的至少一个实例相关联。由配置代理监测PaaS组件的至少一个实例的配置,以标识缺乏与资源定义类型的资源实例中的声明的一致性;当声明改变中的一个或多个声明改变或者缺乏一致性被标识时,由配置代理自动地将指令传送至PaaS组件的至少一个实例,指令包括用于以下的指令:基于资源实例中的声明在PaaS组件的至少一个实例上安装配置。
在一些实施例中,PaaS组件的至少一个实例被配置为服务多个微服务中的至少一个微服务,至少一个微服务包括网络功能(“NF”)的实例。
在一些实施例中,方法还包括使用描述符表更新NF的实例,更新NF的实例使声明改变。
在一些实施例中,NF的实例由网络运营方更新,并且PaaS组件由第三方开发和管理。
在一些实施例中,已改变的声明包括,对PaaS组件的至少一个实例的消耗品的改变。
附图说明
当结合以下附图考虑时,参考以下所公开的主题的具体实施方式,所公开的主题的各种目的、特征和优点被可以更充分地理解,其中相同的附图标记表示类似的元素。
图l是示出了使用AnsibleTM的现有技术多租户PaaS组件配置的配置的系统图。
图2是示出了根据一些实施例的针对多租户PaaS组件的示例性自动配置架构的系统图。
图3示出了根据一些实施例的在云原生网络功能(“CNF”)部署期间示例性PaaS自动配置的调用流程图。
图4示出了根据一些实施例的针对在微服务升级期间PaaS自动配置的调用流程图。
图5示出了根据一些实施例的在云原生网络功能(“CNF”)部署期间示例性PaaS自动配置的调用流程图。
图6示出了根据一些实施例的微服务升级期间PaaS自动配置的调用流程图。
具体实施方式
应当理解到本文中所使用的措辞和术语是针对描述的目的而不应当被视为限制。
在多租户PaaS实现中,软件系统的单个实例(诸如NF)可以基于描述符文件和输入变量根据需要而被安装。这种软件系统可以包括微服务的合并,微服务中的每个微服务执行针对软件系统的特定服务。这种软件系统的部署可以基于使用配置文件向PaaS组件实例提供的自定义配置,请求PaaS组件的特定实例向它们的软件系统提供服务。随着开发者扩展软件系统实例的数目、这些实例中的微服务数目以及向软件系统实例提供服务的PaaS组件的实例数目,管理针对软件和PaaS组件的每个实例的配置信息变得繁琐并且易于错误。虽然配置管理器诸如AnsibleTM可以促进对这种实现的部署和更新,然而如下所述,这些解决方法需要手动编写脚本以跟踪针对每个PaaS组件实例的配置信息。因此,本公开的实施例描述了配置代理或“配置-代理”,它们可以在软件系统实例被部署或更新时标识新的PaaS组件配置信息,而不需要开发者在新的软件系统实例被安装或更新时手动配置每个PaaS组件实例。在一些示例中,配置-代理从与软件系统实例相关联的配置文件中检索新的配置信息,诸如ConfigMap和/或由配置-代理操作的自定义资源定义类型的自定义资源对象。配置-代理可以跟踪每个软件系统实例和PaaS组件实例,例如通过每个实例的命名空间,并且确保必要的配置被传递到PaaS组件实例上。
图l是示出了使用AnsibleTM的现有技术多租户PaaS组件配置100的配置系统图。配置100包括AnsibleTM101、KubemetesTM170、和HelmTM176、和PaaS组件诸如PrometheusTM120、GrafanaTM130、ElastAlert 140、KibanaTM150、MongoDBTM160A/B。这些组件在以下被更详细地描述。应当理解这些组件仅是示例性的,并且可以被其他执行相似或不同功能的PaaS组件取代。
一般地,软件系统(诸如网络化系统中的网络功能)可以与PaaS组件120、130、140、150、160A/B通信,以请求特定服务的执行。第三方开发者可以管理PaaS组件实例,这些实例可以在公共云中操作。PaaS组件的用户(诸如网络运营方)可以自定义PaaS组件以服务他们的应用,而无需创建、管理、维护每个PaaS组件。相反,PaaS组件的特定示例可以由特定软件系统实例(例如NF)部署用于使用,这些实例是基于配置文件自定义的,这些配置文件有时被称为不同的名称,诸如“仪表板”、“模式”等。因此,这些PaaS组件可以是多租户的,因为多个软件系统(例如,NF)可以基于被馈送到PaaS组件的特定配置来使用这些PaaS组件的一个或多个实例。
HelmTM176:开源系统编排器。HelmTM176是管理软件部署的包管理器,诸如NF的部署。HelmTM176取走被称为HelmTM表的描述符文件,作为输入并且将它们分解为单独的KubernetesTM命令。例如,利用诸如‘helm install<chart.name><variable values>...’(‘helm安装<表.名称><变量值>...’)的命令,HelmTM表可以被部署,其中<chart.name>是特定表的名称,并且<variable values>是被用以自定义从HelmTM表生成的软件系统的特定实例的变量。软件系统的多个实例可以使用不同变量值从相同的HelmTM表中生成。根据一些实例,HelmTM表被结构化为类似网络功能(“NF”)描述符。它可以包括针对KubernetesTM(以下所描述的容器编排引擎)的指令以部署包括NF的微服务。例如,HelmTM表可以理解为声明集,该声明集声明了组成软件系统诸如NF的各种微服务等。这可以包括元素,诸如但不限于版本化的docker镜像文件名,以及元数据,诸如副本计数、自动缩放策略、服务定义(例如,隐藏微服务类型副本集的各个成员的抽象),以及任何自定义资源定义(“CRD”,它可以是任意并且可变的数据,可以由COE(“核心编排引擎”,例如KubernetesTM、Docker SwarmTM或MesophereTM)注入到运行中微服务)。docker镜像可以被用以部署组成NF的微服务(例如,荚果(pod))。HelmTM表还可以包含配置微服务所需的附加数据和文件。此外,ConfigMap可以被声明在HelmTM表它本身中,该ConfigMap可以是配置设置的字典,该字典包括从微服务读取的配置信息(例如,作为字符串的键值对)。HelmTM表还可以指示ConfigMap应该(作为文件)被挂载到哪个微服务,使得微服务可以看见包括在相应ConfigMap中的配置信息。如下更详细地描述,与图1不同,根据一些实施例,HelmTM表中的元数据可以被用于指定要被各种PaaS组件消耗的某些文件。ConfigMap配置文件与镜像内容分离,以使微服务部署更加灵活。此外,如下参考图2-图6的更详细地描述的,通过在HelmTM表中包括这些文件,在不需要类似Ansible的协调软件情况下,这些文件可以被传递到各种PaaS组件。虽然在本公开中HelmTM176和HelmTM表被讨论,但是应当理解,其他类型的编排器可以被使用,这些编排器允许指定用于部署软件的docker镜像和与同一docker镜像相关联的元数据。
KubernetesTM170:用于自动部署的开源容器编排引擎(“COE”)。KubernetesTM可以协助部署、扩展、和管理软件系统。例如,KubernetesTM可以管理服务实例的寻址、调度以及扩展,它可以由包含容器的多个荚果组成。
PrometheusTM120:开源KPI/统计管理器。PrometheusTM包括针对中间项存储的时间序列数据库(“TSDB”)。PrometheusTM120可以与定期收集KPI的端点列表定期同步。服务发现可以指代PrometheusTM120发现各种端点(例如节点)从中收集各种指标的过程。服务特定NF的PrometheusTM120的实例需要被提供这种配置信息,以了解哪些所包含的KPI要被收集。
KibanaTM150:允许可视化日志流和警报的开源仪表板引擎。KibanaTM150的多个实例可以被部署以服务各种软件系统,诸如NF。每个KibanaTM150消耗仪表板文件,该仪表板文件包含有关如何生成特定仪表板的信息,它可以使用该信息以构建针对数据的ElasticSearch的查询以可视化。根据一些实施例,经由KibanaTM150中的Kibana工具,仪表板文件可以被手动创建。用户可以创建仪表板,向它添加小部件,指定可以被应用于确定哪些日志与所添加的小部件匹配的日志过滤器,以及最终保存仪表板。备选地,网络运营方可以构建这些仪表板集以完成特定所期望的功能,并且随后将它们添加到源代码控制系统,使得它们与软件一起被发布。在一些实施例中,软件的发布至少包括两件事:版本化的docker镜像集和针对特定NF的HelmTM表。因此,仪表板可以声明在HelmTM表中。HelmTM表的包装可以在NF发布的构建期间完成。
ElastAlert 140:KibanaTM的开源插件,它可以接收以警报规则文件形式的配置信息,它使用这些信息以构架对ElasticSearchTM的合适查询,这是针对日志消息的中间项存储。根据一些实施例,每个微服务通过诸如“printf”或“stdout”文件描述符的过程发出日志消息。
MongoDBTM160A/B:开源NoSQL数据库。MongoDBTM160A/B基于包含在模式文件中的配置信息创建逻辑数据库的特定实例。如下所述,模式文件可以描述数据库结构以及从中要收集数据的对应的节点。MongoDBTM160A/B的每个实例可以针对特定的软件系统,诸如NF。MongoDBTM160A/B的实例基于包含在模式中的信息,可以经由API调用来收集系统中各种节点的键信息。根据一些实施例,当新的NF(例如,经由“helm install”命令)被部署时,MongoDBTM160A/B的实例可以被预先指示关于NF期望使用的逻辑DB名称、逻辑DB内的文档集合(“repos”),以及基于模式文件的针对每个repo的主/次键信息。API可以由MongoDBTM160A/B限定的、基于TCP的API集内的MongoDBTM160A/B提供。在这些步骤已经被完成后,新编排的NF内的微服务可以使用由MongoDBTM160A/B限定的、专有基于TCP的API,将文档写入和读取到MongoDBTM160A/B。
如图1所示,在现有技术系统中,作为更高级别的配置管理器的AnsibleTM101是负责部署新的不同软件系统诸如NF,并且负责将所有相关配置推送到由该新的不同软件系统使用的PaaS组件的实例。AnsibleTM经由剧本(playbook)110这样做,该剧本是被编写以符合AnsibleTM101要求的脚本。当新的软件系统被部署,AnsibleTM101可能需要将信息下推到每个PaaS组件实例,使得每个PaaS组件实例意识到新系统对它的要求。例如,AnsibleTM可以将HelmTM创建182从HelmTM表推送到HelmTM176,安装针对GrafanaTM130的仪表板(例如,具有关于绘图模板信息的文件)183,安装针对ElastAlert 140的新警报规则184,安装针对KibanaTM150的仪表板185,以及配置针对MongoDBTM160A/B的(多个)数据库186,所有在每个PaaS组件的新实例中,都是旨在服务经由HelmTM表所部署的特定NF。这些配置中的一些或全部配置在剧本110中被声明。剧本采用脚本的形式。这些脚本可以由IT或其他操作专业人员准备。因此,为了确保PaaS组件实例收到正确的配置,以向新的NF实例提供服务,有人必须在剧本中手动地将要被提供给特定的PaaS组件实例的信息编写脚本。构建和维护这些剧本中的脚本可能是复杂并且耗时的,并且使更新各种组件或添加新的/微服务的过程更加劳动密集。
像AnsibleeTM101的更高级别的自动化软件呈现存在许多缺点。例如,当以生产规模部署被部署时,这种方法变得笨拙、低效并且易出错。像AnsibleeTM101和它的剧本110的部署和自动化解决方案必须捕获重要软件系统特定知识,以准确了解如何协调新软件的部署和新软件将利用的相应PaaS组件的更新。例如,有人必须指定从中以部署软件实例的特定的HelmTM表,并且进一步指定(如上所述)每个PaaS组件实例如何了解配置以服务该特定软件实例。应当理解PaaS组件实例可以使用任何合适的方法被实例化,包括但不限于经由HelmTM表被部署,或者经由图形用户界面或从脚本调用的API由输入数据来创建。因此,当部署新的软件实例时,有人必须配置剧本以明确地配置PaaS组件,以创建和/或更新PaaS组件实例。此外,每次现有系统被升级时,AnsibleTM剧本110可能需要被更新。例如,针对新的部署或者如果软件更新需要新的或已更新的PaaS组件实例,剧本110将需要被更新,以指定该PaaS组件实例将接收正确的配置信息。此外,AnsibleTM剧本110不能充分处理不同系统的多个版本的需求。容纳可能具有关于多租户PaaS组件的不同配置需求的不同版本是挑战性的。版本可以指代特定PaaS组件的版本或特定NF的版本。根据一些实施例,PaaS组件实例可以改变版本并且因此改变它配置的方法,例如使用不同的API或它消耗的数据的不同结构。这种不同数据结构可能涉及例如KibanaTM仪表板的文件格式,例如从JSON改变为YAML或者仅添加新字段。针对NF的版本控制,新的微服务版本可以添加新的日志消息,这可能需要ElastAlert规则文件的新版本和/或KibanaTM仪表板,以容纳这种日志消息。另一示例可能涉及引入新的KPI。根据一些实施例,新的微服务版本可以修改它与数据库交互的方式,例如通过引入新的集合或向现有集合添加更多次键。根据一些实施例,对NF的升级可以采用之前不存在的新类型的微服务。虽然使用‘helm upgrade’命令NF可以被升级到新版本,但是有人仍然必须添加已更新的配置信息以向剧本110中的PaaS组件提供。
该系统有进一步的缺点。在大量现有技术部署中,没有通用的脚本环境。相反,在部署特定软件系统(例如NF)之前或之后,多租户PaaS组件的配置或重新配置是经由CLI或GUI界面手动执行的。这针对生产规模环境创建了明显的不利,在这些环境中许多手动配置是耗时并且难以协调。此外,特定部署可能需要附加的调试时间。
图2是示出了根据一些实施例的具有配置-代理的多租户PaaS组件配置200的系统图。配置200包括与系统100类似的组件,包括PrometheusTM120、GrafanaTM130、ElastAlert140、KibanaTM150,还有MongoDBTM160A和160B。系统200还包括CNF 204A、CNF 204B、微服务290A、微服务290B、ConfigMap 205、配置管理206和绘图-配置-代理232、PM-配置-代理222、警报-配置-代理242、仪表板-配置-代理252和数据库(“DB”)-配置-代理262。这些元素在下面更详细地描述。应当理解,这些元素仅是示例性的,并且可以利用执行类似或不同功能的其他PaaS组件来替换。还应当理解,配置-代理可以被构造为每个CNF 204A、204B上的分离微服务。
如图2所示,使用微服务架构,一个或多个NF或其他软件系统(例如,CNF204A、204B)可以被实施。因此,CNF 204A、204B中的每个CNF分别包括至少一个微服务290A、290B,该微服务经由代表CNF的API调用提供一个或多个服务(例如,功能逻辑)。在一些实施例中,CNF可以被认为是微服务的联合,微服务中的每个微服务执行一个与CNF的功能相关联的服务。例如,服务可以包括功能逻辑,诸如调用控制逻辑或MME区域管理逻辑。根据一些实施例,微服务290A、290B通过API(例如,HTTP或gRPC上的RESTful)对话。根据一些实施例,微服务290A、290B可以基于网络负载被动态地并且多重地实例化。如上所述,COE(诸如KubernetesTM)可以管理针对每个CNF的微服务。
在一些实施例中,CNF 204A、204B可以在PaaS架构上操作,并且可以因此每个访问PaaS组件的实例以完成与每个PaaS组件相关的特定功能,实例例如PrometheusTM120、GrafanaTM130、ElastAlert 140、KibanaTM150、和MongoDBTM160A/B。根据一些实施例,PaaS组件它们本身也可以基于它们接收的负载动态地扩展。
在一些实施例中,每个CNF 204A、204B分别包括至少一个ConfigMap 205、206。ConfigMap 205、206可以被用于采用Kubernetes的实现。在这种实现中,ConfigMap可以被指定在HelmTM表中并且针对每个已部署的CNF而实现。根据一些实施例,每个已部署的CNF可以具有多个ConfigMap。在一些实施例中,ConfigMap可以是允许将配置数据注入到荚果或其他资源中的资源。ConfigMap可以被分离以使得被分离地挂载到不同的微服务类型。在示例中,由DB-配置-代理使用的数据类型可以位于一个ConfigMap中,该ConfigMap包括使用DB的CNF中的每个微服务类型的DB需求文件的集合。类似地,根据一些实施例,可以与每个微服务类型一起发布的KibanaTM仪表板的集合可以被编排到它们自己的ConfigMap中,用于将它挂载到仪表板-配置-代理的目的。根据一些实施例,挂载可以表示ConfigMap是在微服务的本地文件系统的某个指定坐标处是可见的,诸如/etc/config-maps/dashboard-config-map/<actual-config-map-file>。
在一些实施例中,ConfigMap 205、206的内容可以分别挂载到每个微服务290A、290B,作为包含呈现在HelmTM表中的文件的文件系统。HelmTM表可以包括能够被放入ConfigMap的原始数据,诸如例如KibanaTM仪表板文件(即,针对KibanaTMPaaS组件实例的配置信息),并且还可以包括将这种数据组装到ConfigMap的指令和一个或多个微服务类型应当将ConfigMap挂载到给定的文件系统路径处的指示。根据一些实施例,ConfigMap是类似于“环境变量”的通用机制,在运行微服务的生命周期内可以被改变。根据一些实施例,贯穿本公开所讨论的ConfigMap可以由面向API的解决方案中自定义资源定义(“CRD”)代替,而不是面向文件的解决方案,如参考图5和图6更详细地描述的。
根据一些实施例,CNF 205、206可以是与PaaS组件配置200的每个PaaS组件(诸如PrometheusTM120、GrafanaTM130、ElastAlert 140、KibanaTM150、和MongoDBTM160A/B)相关联的相关配置-代理。每个配置-代理可以由来自PaaS组件的分离的实体来管理,并且可以是被部署为每个CNF 204A、204B的成员的单例微服务,该微服务可以对与配置-代理相关联的PaaS组件实例进行API调用。如参照图3-图4所更详细地描述,每个配置代理被配置为从所挂载的ConfigMap205、206提取文件,并且识别其结构的动态改变(例如,配置信息的添加、变化或删除)。所提取的文件可以被重命名以包括CNF ID。例如,这可以被执行以确保没有任何命名冲突。例如,两个CNF可能具有不同的生命周期(例如,在不同时间升级),这意味着它们的元数据可能会偏离。因此,通过基于CNF实例名称命名文件,这些文件的生命周期也可以分离于其他CNF实例被独立地控制。使用API调用文件可以随后被安装在每个PaaS组件中,以使每个相应组件能够操作。例如,配置-代理可以经由对PaaS组件实例的API调用,传递针对与CNF相关联的PaaS组件的特定实例的配置信息的改变。因此,当ConfigMap在升级期间被更新时,配置-代理可以标识ConfigMap的已更新的部分,并且将相关PaaS组件实例与更新同步。
根据一些实施例,CRD可以被用于附加于ConfigMap或代替ConfigMap。CRD可以被用以限定PaaS组件的消耗品,诸如针对MongoDBTM的模式。CRD可以被提供给COE,诸如KubemetesTM。一旦被限定,CRD成为COE(例如KubemetesTM)可以理解的资源类型中的一种资源类型。
在一些实施例中,经由HelmTM表,特定资源实例诸如自定义资源对象(“CRO”)可以被部署。这些CRO是CRD中所限定的类型,并且其中可以包含特定信息,诸如针对PaaS组件实例的配置信息。例如当软件或升级被部署时,HelmTM表可以包括各种CRO的声明,该声明可以包含CRD类型(已经被KubernetesTM理解,名称,以及向KubernetesTM170的指示它作为CRO存在的指示。此外,在HelmTM表中,某些文件可以被指定以包括在CRO中,它包括例如由PaaS组件实例诸如GrafanaTM130消耗的仪表板文件。在另一示例中,模式CRD中所限定的类型的特定模式CRO可以被创建,并且可以包括关于针对MongoDBTM实例的数据库(例如,KPI等)的信息。每个CRO可以包括多个文件或单个文件。CRD使用发布和订阅模型进行操作,其中发布发生在CRO的部署处,例如,当它们由HelmTM指定在HelmTM表中行动时。虽然本公开基于CRO、ConfigMap或两者中的信息描述了配置-代理的操作,但是本领域技术人员将从本公开中理解,配置-代理可以使用旨在绑定到特定实例的其他类型资源在其他软件环境中操作。
在一些实施例中,配置-代理可以被创建以操作某些CRD类型的CRO,以便向PaaS组件实例提供新的、已改变的或已删除的配置信息。在这种实施例中,诸如配置-代理的微服务可以被实例化并且被配置以通知COE(例如,KubernetesTM)它操作由CRD限定的类型的资源(即,向CRD类型的CRO订阅的)。例如,PaaS-配置-代理微服务的开发者可以记录它消耗的CRD的类型、名称和结构。在HelmTM表中,当CRD类型的新CRO被部署或者该类型的CRO被更新时,COE(例如,KubernetesTM170_可以使CRO(包括其中所引用的文件)对订阅该特定CRD类型的微服务可用。例如,COE可以通知该微服务(例如,配置-代理)该类型CRO已经被创建。微服务可以随后经由API调用读取来自CRO的配置信息,并且随后将另一API调用放置到所关联的PaaS组件实例,以提供该信息,以使得PaaS组件实例可以恰当地向NF提供服务。因此,订阅特定CRD类型的微服务配置-理可以监听它订阅的CRO,这些CRO可能是新的或已更新的,诸如那些其中嵌入仪表板文件的CRO,并且随后将它们转发到相应的PaaS组件实例。通过这种方式,开发人员不需要协调每个相应的PaaS组件实例接收新文件或已更新的文件的过程。配置-代理和相关联的CNF可以使用ConfigMap、CRO或两者来操作,以向PaaS实例充分地提供配置信息。
在一些实施例中,CRO和ConfigMap两者都可以在相同的系统200中被使用。例如,一个HelmTM表可以被部署,以实例化仅在ConfigMap中提供配置信息的CNF,同时第二HelmTM表可以被部署,以实例化仅经由CRO提供配置信息的CNF。在另一示例中,在HelmTM表上可以被部署,以实例化CNF,该CNF使用从ConfigMap读取的配置-代理读取的信息向一个PaaS组件实例提供配置信息,同时第二PaaS组件实例可以接收来自配置-代理的配置信息,该配置代理从对它操作的CRD类型的CRO的API调用中接收此类信息。在这些示例中的任何示例中,配置管理器(诸如AnsibleTM)不被需要,以确保配置被提供给PaaS组件实例。相反,当NF从HelmTM表被实例化或更新,该HelmTM表可能指定针对一个或多个PaaS组件的新的、已改变的或已删除的配置信息时,在不需要有人在AnsibleTM剧本中手动编码这样的动作的情况下,与每个PaaS组件相关联的配置-代理可以将已更新的配置信息传递给相应的PaaS组件实例。
根据一些实施例,配置-代理232、222、242、252、262可以采用单例微服务的形式。配置-代理232、222、242、252、262可以经由分离的HelmTM表被声明并且被安装在HelmTM表中,该HelmTM表可以为配置-代理提供有关如何发现对PaaS实例配置更新的信息(例如经由监测针对ConfigMap的某种类型的改变或者通知KubernetesTM170它操作特定CRD类型的CRO。当包含一个或多个新类型的微服务的一个新的软件(例如,经由HelmTM表)被实例化或更新,以实现在PaaS组件实例(例如,GrafanaTM130的仪表板、由PrometheusTM120访问的端点、将由ElastAlert 140实现的警报文件中的警报规则、将由KibanaTM消耗的仪表板、或者将由MongoDBTM160A/B消耗的模式)上的新配置,针对CNF 204A、204B中的一个CNF、相应的绘图-、PM-、警报-、仪表板-和/或DB-配置-代理232、222、242、252和/或262可以从ConfigMap205或206中提取文件,重命名它们以包含CNF ID,并且经由API调用将它们安装在与CNF相关联的PaaS组件130、120、140、150、160A/B的实例中。因此,配置-代理232、222、242、252、262中的一个或多个配置-代理也可以识别对ConfigMap205、206的新的或动态的改变并且经由API调用与PaaS组件120、130、140、150、160A/B的实例同步,而无需在改变ConfigMap的剧本或HelmTM表中指定哪些特定PaaS组件实例需要更新配置信息。针对同步,在一些示例中,微服务将利用Linux文件系统改变通知机制(例如,inotify),以便在检测到改变时从Linux得到回调。KubemetesTM可以负责重新挂载重新生成的ConfigMap,使得inotify可以检测到它并且通知微服务。
在一些实施例中,从ConfigMap中提取的文件可以包括GrafanaTM-特定文件,该文件指示它如何在浏览器中描绘Web显示以及从数据源(例如PrometheusTM)请求哪些KPI,以便在Web显示上绘制线条
在一些实施例中,从ConfigMap中提取的文件可以包括使PrometheusTM120的实例执行远程服务发现的文件(例如,向PrometheusTM120提供对它是数据可用的端点(微服务实例)。由于PrometheusTM可以是分层的——父PrometheusTM实例可能需要知道哪个子PrometheusTM实例使(聚合的)数据对它是可用的,PM-配置-代理222可以将CNF微服务成员列表与PrometheusTM120自动同步,以使PrometheusTM120启用针对分层实例的自动数据收集。
在一些实施例中,从ConfigMap中提取的文件可以包括包含警报规则的警报规则文件。警报规则可以与声明数据库连接已经被丢失的日志消息相关联——运营方可能已经创建了这种规则,声明这种类型的日志消息应该导致通过电子邮件、SMS、slack或许多其他通信方案的人可检测通知。警报规则文件可以被ElastAlert 140的实例消耗。
在一些实施例中,从ConfigMap中提取的文件可以包括将由KibanaTM152的实例消耗的仪表板文件。例如SMF-调用-控制微服务可以有相关联的仪表板,该仪表板被构建以查看从SMF-调用-控制发出的日志活动,该日志活动可以包含用于标识在仪表板上的小部件中所希望显示的特定日志消息的过滤器(经由Web浏览器)。
在一些实施例中,从ConfigMap中提取的文件可以包括要由MongoDBTM160A/B的实例消耗的DB-配置-模式文件,以创建或修改逻辑DB。在一些示例中,与租户相关联的每个相关联的模式文件集可以使用相同的文件名以指代针对每个租户的不同文件。
如本公开通篇所述,在接收到由配置-代理监测的CRD类型的CRO已经被实例化的通知后,上面所列出的信息可以替代地由配置-代理232、222、242、252或262经由对CRO的API调用来检索。
如图2所示,PaaS组件可以被多个实例化。例如,MongoDBTM的两个实例:160A和160B。在一些实施例中,多个网络功能204A、204B可以由相同的PaaS组件实例提供服务,诸如GrafanaTM130。在一些实施例中,每个网络功能204A、204B可以由单个PaaS组件实例提供服务,诸如分别的MongoDBTM160A和160B。在一些实施例中,PaaS组件可以位于云209中,而NF204A、NF 204B和ConfigMap205、206位于数据中心208中。然而,本领域技术人员将理解NF204A、204B;ConfigMap 205、206;配置-代理232、222、242、252和262;和/或PaaS组件130、120、140、150、160A和160B可以位于跨多个或单个数据中心208和/或一些或所有元素驻留在云209中的任何配置中。
图3是示出根据一些实施例的、在CNF实例化(例如,安装)期间的示例性PaaS自动配置的调用流程图。在步骤302处,针对新的CNF实例204A的‘helm install’命令可以被调用,该命令由至少一个微服务、微服务290A基于HelmTM表组成。如上所述,微服务A290A协助NF的一部分,诸如SMF调用控制、AMF调用控制或AMF跟踪区域管理。其他微服务被考虑。在步骤304处,如上所述,ConfigMap 205可以被创建,它可以被包括包含在HelmTM表中的配置信息,该信息由PaaS组件消耗(例如,将由GrafanaTM130消耗的仪表板和将由KibanaTM150消耗的仪表板)。ConfigMap 205允许这种信息的部署(该部署可以采用在HelmTM表中包含的文件的形式),以被传递到PaaS组件实例,并且作为文件系统被挂载到正在运行的微服务。在步骤306处HelmTM176可以提供(经由HelmTM表)针对KubernetesTM的指令,该指令与容器运行时代理(例如,Docker或CRI-O)协调,以基于包含在HelmTM表中docker镜像创建微服务290A的至少一个实例化。实例化的数目可以被声明HelmTM表中。
配置-代理232、252可以在314和354处连续或周期性地观察Linux的文件改变(例如,通过向Linux发出针对文件目录的inotify观察点,使得如果在所观察的目录中存在任何文件删除、添加或修改,软件被利用事件通知)。因此,当新的CNF被部署或升级时,例如经由“helm install(helm安装)”或“helm upgrade(helm更新)”命令,配置-代理简化部署,自动地更新PaaS组件的实例,如GrafanaTM130和KibanaTM150。因此,将新元数据部署到PaaS组件实例不需要导致新的PaaS组件消耗品被安装到相应的PaaS组件实例的脚本命令,而是配置-代理持续监测新文件并且根据需要将它们传递给相应的PaaS组件.一旦配置-代理已经被实现,开发者只需要使用ConfigMap在HelmTM表中声明这种文件,并且配置-代理将负责确保它们被正确地安装在相应的PaaS组件实例上。
在步骤330、350中,绘图-和仪表板-配置-代理232、252看到对ConfigMap 205的改变,包括新的仪表盘。根据一些实施例,这涉及获得对每个相应的配置代理运行的docker镜像和元数据的访问权限(诸如,ConfigMap)应当被挂载(诸如,由HelmTM和KubernetesTM从嵌入在HelmTM表中的数据构建的)。这些步骤可以串接完成或在不同时间完成。配置代理232、252可以解析与它们服务的特定PaaS组件相关的新配置的改变。当标识新配置时,配置代理232、252可以标识哪个PaaS组件实例需要这个新配置(例如,通过使用与配置信息相关联的NF实例的名称空间)并且使用POST API调用332/352将ConfigMap中包含的仪表板分别地安装到GrafanaTM130和KibanaTM150。根据一些实施例,其中这种API不可用,分离的配置-代理可以被部署在PaaS组件处,已接收已更新的配置(例如,仪表板)并且操纵本地文件到配置-代理以容纳新的配置。根据一些实施例,每个配置-代理可以被专门设计为以该PaaS组件所需的方式将数据中继到其相应的PaaS组件实例。例如,针对ElastAlertTM,被本地挂载到ElastAlert的文件可以被改变,其中该文件不是ConfigMap挂载。在这种示例中,系统可以运行“附接盒(sidecar)”——新型容器,它可以与ElastAlert容器以将它们的生命周期结合起来的方式一起运行。附接盒可以具有ElastAlert容器的所有权限,包括操作它的文件的能力。根据该示例,配置-代理(作为CNF的部分)可以是API关系的客户端,并且附接盒(作为ElastAlert)的部分可以被认为是在服务器端上。因此,针对以前不存在的这种类型的通信的远程API可以被实施。在一个示例中,附接盒和ElastAlert容器可以驻留在相同的KubernetesTM荚中。
图4是示出了根据一些实施例的针对在微服务升级期间PaaS自动配置的调用流程图。在402处,HelmTM表被更新,例如通过开发者递送新版本,该新版本指示新的或不同的docker镜像版本和/或元数据集。例如,这可以是与特定CNF相关联的“子”HelmTM表,该特定CNF包含在顶级HelmTM表中被引用的微服务。因此,根据一些实施例,更新可以是例如对特定微服务(微服务A)或者针对CNF中多个微服务。例如,更新还可能涉及针对PaaS组件的新的、改变的或删除的配置信息,诸如新的、更改的或删除的仪表板。当顶级HelmTM表被更新以引用新的“子”HelmTM表,“helm upgrade”命令可以被执行,将已部署的CNF与新的顶级表相关联。HelmTM173可以随后分解HelmTM表并且调用KubernetesTM,以对已部署的CNF实行所需改变。在这种情况下,HelmTM176可以调用KubernetesTM,以在步骤404中提供更新,KubernetesTM可以使用该更新以代替ConfigMap中的文件(或者代替针对CRD实现的CRD对象)。类似地,HelmTM176可以更新微服务A290A,例如在滚动的基础上通过在步骤406中发送更新。
在ConfigMap 205被更新之后,绘图-和仪表板-配置-代理232A、252A可以标识ConfigMap中的改变,例如如上所述,分别基于经由接收通知432和452的文件目录改变。在一些实施例中,Linux可以向配置-代理232、252发送如上所述的文件目录改变的通知。例如,响应于已更新的HelmTM表,文件被代替的情况下,Linux可以通知挂载了ConfigMap的任何微服务,文件发生了改变。在确定(例如,被通知)对ConfigMap 205的改变后,绘图-和仪表板-配置-代理232、252可以向GrafanaTM130和KibanaTM150分别发送和/或安装更新434和454,包括新仪表板。因此,像AnsibleTM的高级预配置软件不需要确保PaaS组件的实例像GrafanaTM和KibanaTM跨每个CNF与新配置保持同步。相反,配置-代理会意识到配置管理的更新并且自动地管理对单个组件的更新。这种系统针对更大的部署是可扩展的,并且可以显着降低用于升级成本,其中大量开源组件被使用。此外,升级过程不需要系统的单个部分既跟踪哪些CNF使用需要被更新的特定PaaS组件又协调更新过程。因此,当CNF被实例化或更新,以需要不同的PaaS组件配置时,与该CNF相关联的相应的PaaS组件实例被自动更新,以满足这些要求。
图5示出了根据一些实施例的在使用CRD的CNF实例化期间的示例性PaaS自动配置的调用流程图。如上所述,CRD可由配置代理使用,以取代、伴随或代替ConfigMap。在步骤502处,针对新的CNF实例204A的‘helm install’命令可以被调用,该实例基于HelmTM表由至少一个新的微服务、微服务290A组成。如上所述,微服务A 290A可以协助NF的一部分,诸如SM调用控制、AMF调用控制或AMF跟踪区域管理。其他微服务被考虑。在步骤504处,HelmTM176指导KubemetesTM170,以实例化某些CRD类型的CRO(它在步骤504之前可以被声明并且部署在分离的HelmTM表中,使得KubemetesTM理解这种CRD类型),诸如CRO 505具有例如其中包含新的图形或仪表板,如声明在HelmTM表中。如上所述,CRO 505可以被构造,使得订阅的微服务可以看见它们的内容,例如通过完成对它的API调用。在步骤506中,基于HelmTM表中所包含的docker镜像和元数据微服务被创建并且复制。例如,微服务A(290A)被创建。
在步骤530处,绘图-配置-代理232可以订阅(例如,所通知的它操作的KubemetesTM170)特定CRD类型(例如,针对GrafanaTM130)的CRO,发布指定的仪表板文件,绘图-配置-代理232被配置为观察这些文件。这可以发生在HelmTM表被安装在502中之前。在步骤531,KubernetesTM170通知绘图-配置-代理232(它向CRO 505订阅),仪表板文件可用并且将包含在CRO 505中的文件传递给绘图-配置-代理232。绘图-配置-代理232可以随后标识正确的PaaS组件实例(诸如,经由与CRO 505相关联的CNF的命名空间)并且对GrafanaTM130的特定实例进行POST API调用,以通过在步骤532中指示这些仪表板应该添加完全指定的对象、移除对象和/或利用完全指定的替换值写入对象来安装包含在CRO中的这些仪表板。API调用还可以指示,将与PaaS组件GrafanaTM130的新实例相关联的新CNF实例204A。因此,当部署CNF时GrafanaTM130被提供了新的仪表板,而无需HelmTM表中的专门脚本或者指定它们被安装的AnsibleTM剧本。类似地,在550处,仪表板-配置-代理252可以订阅特定CRD类型(例如,针对KibanaTM150)的CRO,发布指定的仪表板文件,绘图-配置-代理232被配置为观察这些文件。这可以发生在HelmTM表被安装在502中之前。在步骤551中,KubernetesTM170通知向特定CRD类型的CRO 505订阅的仪表板-配置-代理252,仪表板文件和包含在CRO 505中的文件一起可用。仪表板-配置-代理252可以随后标识正确的PaaS组件实例(例如经由与CRO505相关联的CNF的命名空间)并且对Kibana的特定实例进行POST API调用,以安装包含在CRO中的这些仪表板在特定的KibanaTM实例上,如上所述。因此,KibanaTM150在部署CNF时提供了新的仪表板,在不需在指定它们将被安装的HelmTM表中编写特殊脚本。
图6示出了根据一些实施例的CNF升级期间使用CRD的PaaS自动配置的调用流程图。在602处,HelmTM表被更新,例如由开发者递送它的新版本,该版本指示新的docker镜像版本和/或元数据。该更新可以类似于参考图4所讨论的,但可以将CRD与配置-代理结合使用。在604处,HelmTM176可以调用KubernetesTM170以提供更新,KubernetesTM170可以使用该更新以更新CRO中的(多个)对象。作为响应,在605和607处,KubernetesTM170通知所有的订阅配置-代理(例如,那些操作特定CRD类型的CRO的CRO 505),诸如绘图-配置-代理232和仪表板-配置-代理252,存在新的或已更新的仪表板文件,并且将CRO 505中的文件传递给配置-代理232、252。绘图-配置-代理232和仪表板-配置-代理252随后执行POST/PUT/DELETEAPI调用,以分别对在步骤634/654中与已更新的CNF相关联的GrafanaTM130和KibanaTM150安装/更新/删除任何新的或已更新的仪表板。在606中,HelmTM176可以指示KubemetesTM170以更新如在步骤606中的HelmTM表中指定的微服务(例如,从docker镜像加载新软件)。
在一些实施例中,配置-代理可以进一步监测PaaS组件实例,以确保它的配置与由配置-代理监测的CRO和/或ConfigMap中包含的声明一致。例如,如果PaaS组件实例失败并且在没有必要配置信息的情况下被重新实例化,配置-代理可以标识PaaS组件实例化的配置不完整或缺失(例如,经由API调用)并且将必要的配置信息(例如,经由API调用)推送到那里。因此,无论何时由配置-代理监测的CRO和/或ConfigMap与相关联的PaaS组件实例之间出现差异时,配置-代理可以确保足够的配置被安装在PaaS组件实例上。
本文所描述的主题可以被实现在数字电子电路中,或者在计算机软件、固件或硬件中,包括在本说明书中所公开的结构装置及它的结构等效物,或者它们的组合。本文所描述的主题可以被实现为一个或多个计算机程序产品,诸如一个或多个有形地实现在信息载体中的计算机程序(例如,在机器可读存储设备中)或实现在传播信号中,用于由数据处理设备执行、或控制数据处理设备的操作(例如,可编程处理器、计算机或多台计算机)。计算机程序(也称为程序、软件、软件应用程序或代码)可以被以任何形式的编程语言编写,包括编译或解释语言,并且它可以被以任何形式部署,包括作为独立程序或作为针对在计算环境中适合使用的模块、组件、子程序或其他单元。计算机程序不一定对应于文件。程序可以被存储在文件的部分中,程序可以存储在保存其他程序或数据的文件的一部分中,在专用于考虑中的程序的单个文件中,或在多个协调的文件中(例如,存储一个或多个模块、子程序或部分的文件)。计算机程序可以被部署以被执行在一台计算机或多台计算机上,该一台计算机或多台计算机在一个站点处或跨多个站点分布并且由通信网络互联。
在本说明书中所描述的过程和逻辑流程(包括本文所描述的主题的方法步骤)可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过操作输入数据并且生成输出来执行本文所描述的主题的功能。过程和逻辑流程也可以由(并且本文所描述的主题的装置可以被实现为)专用逻辑电路执行,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
适合用于执行计算机程序的处理器包括例如通用和专用微处理器两者、以及任何种类的数字计算机中的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元素是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备(例如,磁盘、磁光盘或光盘),或被可操作地耦合到该一个或多个用于存储数据的大容量存储设备,以从该一个或多个用于存储数据的大容量存储设备接收数据或将数据传送到这些设备或两者。适用于实现计算机程序指令和数据的信息载体包括,所有形式的非易失性存储器,包括例如半导体存储设备(例如,EPROM、EEPROM和闪存设备);磁盘,(例如,内部硬盘或可移动磁盘);磁光盘;和光盘(例如CD和DVD磁盘)。处理器和存储器可由专用逻辑电路增补或合并到专用逻辑电路中。
为了提供与用户的交互,本文所描述的主题可以被实现在具有显示设备的计算机上,例如,CRT(阴极射线管)或LCD(液晶显示器)监视器,用于向用户显示信息,以及键盘和定点设备(例如,鼠标或轨迹球),用户可以通过这些设备向计算机提供输入。其他类型的设备也可以被用以提供与用户的交互。例如,向用户提供的反馈可以是任何形式的感官反馈(例如,视觉反馈、听觉反馈或触觉反馈),并且来自用户的输入可以以被任何形式接收,包括声学、语音或触觉输入。本文所描述的主题可以被实现在计算系统中,该计算系统包括后端组件(例如,数据服务器)、中间件组件(例如,应用服务器)或前端组件(例如,具有图形用户界面或网络浏览器的客户端计算机,用户可以通过该计算机与本文所描述主题的实现交互),或这种后端、中间件和前端组件的任何组合。系统的组件可以通过任何形式或媒介的数字数据通信互连,例如通信网络。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如互联网。
应当理解,所公开的主题在它的应用方面不限于在以下描述中阐述或在附图中示出的构造细节和部件的布置。所公开的主题能够用于其他实施例并且能够以各种方式被实践和执行。此外,应当理解,本文所采用的措辞和术语是用于描述的目的并且不应被视为限制性的。
如此,本领域技术人员将理解,本公开所基于的概念可以容易地被利用为针对用于执行所公开主题的一些目的的其他结构、方法、系统的设计的基础。因此,重要的是权利要求被视为包括这种等效构造,只要它们不脱离所公开主题的精神和范围。
尽管在上述示例性实施例中所公开的主题已经被描述和图示了,但是应当理解,本公开仅通过示例的方式做出的,并且所公开主题的实现的细节中的许多改变可以在不脱离所公开主题的精神和范围的情况下做出,所公开的主题仅由以下权利要求限制。

Claims (22)

1.一种方法,包括:
使用第一描述符表安装服务实例,所述安装包括:
安装包括所述服务实例的、在所述第一描述符表中被声明的多个微服务,所述微服务中的至少一个微服务被配置为请求来自平台即服务(“PaaS”)组件类型的PaaS组件的实例的服务,以及
基于所述第一描述符表创建至少一个配置文件;
由与所述PaaS组件类型相关联的配置代理,解析针对与所述PaaS组件相关联的配置数据的所述至少一个配置文件;以及
由所述配置代理,指示所述PaaS组件的所述实例安装所述配置数据。
2.根据权利要求1所述的方法,其中所述配置文件包括资源描述符,并且其中所述方法还包括:将所述配置文件挂载到所述配置代理。
3.根据权利要求1所述的方法,其中所述服务实例包括网络功能(“NF”)。
4.根据权利要求3所述的方法,其中所述服务实例由网络运营方安装,并且所述PaaS组件由第三方开发和管理。
5.根据权利要求1所述的方法,还包括:
使用第二描述符表更新所述服务实例,所述更新包括:
更新包括所述服务实例的、在所述第二描述符表中被声明的所述多个微服务中的至少一个微服务,所述多个微服务中的已更新的所述至少一个微服务被配置为请求来自所述PaaS组件的所述实例的服务,以及
基于所述第二描述符表更新所述至少一个配置文件;
由所述配置代理,解析已更新的所述至少一个配置文件,以标识对与所述PaaS组件相关联的所述配置数据的所述更新;以及
由所述配置代理,指示所述PaaS组件的所述实例安装已更新的所述配置数据。
6.根据权利要求5所述的方法,其中所述更新所述软件实例由容器编排引擎(“COE”)执行。
7.一种方法,包括:
由与平台即服务(“PaaS”)组件类型相关联的配置代理,监测标识至少一个配置文件目录中的配置文件改变的通知,所述配置文件目录中的所述至少一个配置文件包括针对所述PaaS组件类型的所述PaaS组件的至少一个实例的配置数据;
由所述配置代理监测所述PaaS组件类型的所述至少一个实例的配置,以标识缺乏与所述配置文件目录中的配置数据的一致性;
当配置文件改变中的一个或多个配置文件改变或者缺乏一致性被标识时,由所述配置代理自动地将指令传送至所述PaaS组件的所述至少一个实例,所述指令包括用于以下的指令:基于所述配置文件目录中的所述配置数据,在所述PaaS组件的所述至少一个实例上安装配置。
8.根据权利要求7所述的方法,其中所述PaaS组件的所述至少一个实例被配置为服务多个微服务中的至少一个微服务,所述至少一个微服务包括网络功能(“NF”)。
9.根据权利要求7所述的方法,其中配置数据中的所述改变包括所述配置文件目录中的配置映射的数据的改变。
10.根据权利要求7所述的方法,其中所述配置数据与至少一个服务实例相关联,并且其中所述方法还包括:使用描述符表更新所述至少一个服务实例,所述更新所述至少一个服务实例引起所述配置数据中的所述改变。
11.根据权利要求7所述的方法,其中所述至少一个服务实例由网络运营方更新,并且所述PaaS组件由第三方开发和管理。
12.一种方法,包括:
使用第一描述符表安装服务实例,所述安装包括:
安装包括所述服务实例的、在所述第一描述符表中被声明的多个微服务,所述微服务中的至少一个微服务被配置为请求来自平台即服务(“PaaS”)组件类型的PaaS组件的实例的服务,以及
基于所述第一描述符表创建至少一个资源实例,所述资源实例具有与资源定义相关联的类型,所述资源实例包括与所述PaaS组件的所述实例相关联的配置数据;
由操作与所述资源定义相关联的所述类型的资源实例的配置代理,接收所述至少一个资源实例的所述创建的通知,所述通知还包括与所述PaaS组件的所述实例相关联的所述配置数据;以及
由所述配置代理指示所述PaaS组件的所述实例安装所述配置数据。
13.根据权利要求12所述的方法,其中所述指示所述PaaS组件的所述实例安装所述配置数据包括:由所述配置代理执行对所述PaaS组件的所述实例的API调用。
14.根据权利要求12所述的方法,其中所述服务实例包括网络功能(“NF”)。
15.根据权利要求14所述的方法,其中所述服务实例由网络运营方安装,并且所述PaaS组件由第三方开发和管理。
16.根据权利要求12所述的方法,还包括:
使用第二描述符表更新所述服务实例,所述更新包括:
更新包括所述服务实例的、在所述第二描述符表中被声明的所述多个微服务中的至少一个微服务,所述多个微服务中的已更新的所述至少一个微服务被配置为请求来自所述PaaS组件的所述实例的服务;以及
通过更新与所述PaaS组件的所述实例相关联的所述资源实例中的配置数据,基于所述第二描述符表更新所述至少一个资源实例;
由操作与所述资源定义相关联的所述类型的资源实例的所述配置代理,接收对所述至少一个资源实例的所述更新的通知,所述通知还包括与所述PaaS组件的所述实例相关联的、已更新的所述配置数据;以及
由所述配置代理指示所述PaaS组件的所述实例安装已更新的所述配置数据。
17.根据权利要求5所述的方法,其中所述更新所述软件实例由容器编排引擎(“COE”)执行。
18.一种方法,包括:
由与资源定义类型相关联的配置代理,监测针对标识所述资源定义类型的资源实例中的声明已改变的通知,已改变的所述声明与平台即服务(“PaaS”)组件的至少一个实例相关联;
由所述配置代理监测所述PaaS组件的所述至少一个实例的配置,以标识缺乏与所述资源定义类型的所述资源实例中的所述声明的一致性;
当声明改变中的一个或多个声明改变或者缺乏一致性被标识时,由所述配置代理自动地将指令传送至所述PaaS组件的所述至少一个实例,所述指令包括用于以下的指令:基于所述资源实例中的所述声明在所述PaaS组件的所述至少一个实例上安装配置。
19.根据权利要求18所述的方法,其中所述PaaS组件的所述至少一个实例被配置为服务多个微服务中的至少一个微服务,所述至少一个微服务包括网络功能(“NF”)的实例。
20.根据权利要求19所述的方法,还包括:使用描述符表更新所述NF的所述实例,所述更新所述NF的所述实例引起所述声明中的所述改变。
21.根据权利要求20所述的方法,其中所述NF的所述实例由网络运营方更新,并且所述PaaS组件由第三方开发和管理。
22.根据权利要求18所述的方法,其中已改变的所述声明包括:对所述PaaS组件的所述至少一个实例的消耗品的改变。
CN202080009314.1A 2019-01-15 2020-01-15 多租户paas组件的动态自动配置 Pending CN113396393A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962792580P 2019-01-15 2019-01-15
US62/792,580 2019-01-15
PCT/US2020/013631 WO2020150315A1 (en) 2019-01-15 2020-01-15 Dynamic auto-configuration of multi-tenant paas components

Publications (1)

Publication Number Publication Date
CN113396393A true CN113396393A (zh) 2021-09-14

Family

ID=69650705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080009314.1A Pending CN113396393A (zh) 2019-01-15 2020-01-15 多租户paas组件的动态自动配置

Country Status (4)

Country Link
US (1) US11121921B2 (zh)
EP (1) EP3912035A1 (zh)
CN (1) CN113396393A (zh)
WO (1) WO2020150315A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113934446A (zh) * 2021-12-16 2022-01-14 中电云数智科技有限公司 一种基于容器云平台的微服务配置系统及方法
CN114936031A (zh) * 2022-07-22 2022-08-23 浙江中控技术股份有限公司 组件的调用方法及电子设备
CN116719481A (zh) * 2023-08-08 2023-09-08 腾讯科技(深圳)有限公司 配置数据处理方法、装置及相关设备

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11593143B2 (en) * 2020-07-30 2023-02-28 Vmware, Inc. System and method for distributed orchestration management in network function virtualization
CN112269640B (zh) * 2020-11-02 2023-03-28 浪潮云信息技术股份公司 一种实现容器云组件的生命周期管理的方法
CN112346818A (zh) * 2020-11-02 2021-02-09 北京新媒传信科技有限公司 一种容器应用部署方法、装置、电子设备和存储介质
GB202017948D0 (en) 2020-11-13 2020-12-30 Microsoft Technology Licensing Llc Deploying applications
US11522967B2 (en) * 2020-11-25 2022-12-06 Sap Se System metamodel for an event-driven cluster of microservices with micro frontends
US11514088B2 (en) * 2021-01-26 2022-11-29 Microsoft Technology Licensing, Llc Aliased data retrieval for key-value stores
US11914755B2 (en) * 2021-02-04 2024-02-27 International Business Machines Corporation Cluster resource signature verification
CN113094151A (zh) * 2021-04-23 2021-07-09 汇能云科技(宁波)有限公司 一种基于Helm的微服务应用部署系统及方法
US11429465B1 (en) 2021-04-28 2022-08-30 Microsoft Technology Licensing, Llc Controller for off-cluster operations
CN113760448A (zh) * 2021-04-30 2021-12-07 中科天玑数据科技股份有限公司 一种基于kubernetes的大数据管理平台
US11630812B2 (en) 2021-08-24 2023-04-18 Red Hat, Inc. Schema based type-coercion for structured documents
US11941444B2 (en) 2021-08-27 2024-03-26 Hewlett Packard Enterprise Development Lp Facilitating scheduling of storage system pods on nodes of a cluster based on discovery of local block devices associated with the nodes
CN113778511A (zh) * 2021-09-10 2021-12-10 豆盟(北京)科技股份有限公司 资源配置方法、装置、设备及存储介质
US11893373B2 (en) * 2021-11-05 2024-02-06 Microsoft Technology Licensing, Llc Exposure and de-duplication of input parameters for complex Helm chart deployment
US11853808B2 (en) 2022-02-09 2023-12-26 harpoon Corp. Visual cluster deployment and operation system and method
US11943292B2 (en) * 2022-07-06 2024-03-26 International Business Machines Corporation Extend controller for multi-tenancy
CN117591631A (zh) * 2023-11-23 2024-02-23 知学云(北京)科技股份有限公司 基于AI PaaS平台的Elasticsearch文本向量化搜索系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140215452A1 (en) * 2013-01-28 2014-07-31 Red Hat, Inc. Deployment Optimization for High Availability in a Multi-Tenant Platform-as-a-Service (PaaS) System
US20150242197A1 (en) * 2014-02-25 2015-08-27 Red Hat, Inc. Automatic Installing and Scaling of Application Resources in a Multi-Tenant Platform-as-a-Service (PaaS) System
CN104991760A (zh) * 2014-12-23 2015-10-21 广州亦云信息技术有限公司 基于分布式模块化技术的PaaS平台服务管理系统和实现方法

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4922486A (en) 1988-03-31 1990-05-01 American Telephone And Telegraph Company User to network interface protocol for packet communications networks
US4958341A (en) 1988-03-31 1990-09-18 At&T Bell Laboratories Integrated packetized voice and data switching system
US4899333A (en) 1988-03-31 1990-02-06 American Telephone And Telegraph Company At&T Bell Laboratories Architecture of the control of a high performance packet switching distribution network
US4896319A (en) 1988-03-31 1990-01-23 American Telephone And Telegraph Company, At&T Bell Laboratories Identification and authentication of end user systems for packet communications network services
US4942574A (en) 1988-03-31 1990-07-17 American Telephone And Telegraph Company, At&T Bell Laboratories Concurrent resource request resolution mechanism
US4875206A (en) 1988-03-31 1989-10-17 American Telephone And Telegraph Comopany, At&T Bell Laboratories High bandwidth interleaved buffer memory and control
US4897874A (en) 1988-03-31 1990-01-30 American Telephone And Telegraph Company At&T Bell Laboratories Metropolitan area network arrangement for serving virtual data networks
US4872160A (en) 1988-03-31 1989-10-03 American Telephone And Telegraph Company, At&T Bell Laboratories Integrated packetized voice and data switching system
US4872159A (en) 1988-03-31 1989-10-03 American Telephone And Telegraph Company At&T Bell Laboratories Packet network architecture for providing rapid response time
US4894824A (en) 1988-03-31 1990-01-16 American Telephone And Telegraph Company, At&T Bell Laboratories Control network for a rapid connection circuit switch
US4977582A (en) 1988-03-31 1990-12-11 At&T Bell Laboratories Synchronization of non-continuous digital bit streams
US4872157A (en) 1988-03-31 1989-10-03 American Telephone And Telegraph Company, At&T Bell Laboratories Architecture and organization of a high performance metropolitan area telecommunications packet network
US20020038276A1 (en) 2000-06-26 2002-03-28 Philippe Buhannic Securities trade state tracking method and apparatus
US7346840B1 (en) 2001-02-26 2008-03-18 Cisco Technology, Inc. Application server configured for dynamically generating web forms based on extensible markup language documents and retrieved subscriber data
US20020176378A1 (en) 2001-05-22 2002-11-28 Hamilton Thomas E. Platform and method for providing wireless data services
EP1487871B1 (en) 2002-03-18 2005-10-26 Matsushita Electric Industrial Co., Ltd. Method, network and apparatus for configuring and controlling network resources in content delivery with distributed rules
US20030208609A1 (en) 2002-05-01 2003-11-06 Verizon Services, Corp. Automatic configuration of advanced services over DSL
JP4022764B2 (ja) 2003-06-26 2007-12-19 日本電気株式会社 情報処理装置、ファイル管理方法およびプログラム
US7418253B2 (en) 2004-07-19 2008-08-26 Telefonaktiebolaget Lm Ericsson (Publ) Method, security system control module and policy server for providing security in a packet-switched telecommunications system
US9332069B2 (en) 2012-12-28 2016-05-03 Wandisco, Inc. Methods, devices and systems for initiating, forming and joining memberships in distributed computing systems
US8364633B2 (en) 2005-01-12 2013-01-29 Wandisco, Inc. Distributed computing systems and system components thereof
US20060183469A1 (en) 2005-02-16 2006-08-17 Gadson Gregory P Mobile communication device backup, disaster recovery, and migration scheme
US8085808B2 (en) 2005-05-12 2011-12-27 Verizon Services Corp. Automatic configuration of network devices for network services
US8799512B2 (en) 2005-10-19 2014-08-05 Qwest Communications International Inc. Cross-platform support for a variety of media types
EP1777962A1 (en) 2005-10-24 2007-04-25 Alcatel Lucent Access/edge node supporting multiple video streaming services using a single request protocol
CN1980230B (zh) 2005-11-30 2011-06-01 华为技术有限公司 对vrrp组进行管理的方法
CN101390432B (zh) 2006-01-04 2013-01-02 思达伦特网络有限责任公司 基于简档信息选择应用会话服务以处理包数据流
US7596369B2 (en) 2006-04-05 2009-09-29 Qwest Communications International, Inc. Translation of messages between media types
US8102813B2 (en) 2006-04-28 2012-01-24 Microsoft Corporation Coordinating a transition of a roaming client between wireless access points using another client in physical proximity
US7466694B2 (en) 2006-06-10 2008-12-16 Cisco Technology, Inc. Routing protocol with packet network attributes for improved route selection
US10157368B2 (en) 2006-09-25 2018-12-18 International Business Machines Corporation Rapid access to data oriented workflows
US8126428B2 (en) 2007-08-07 2012-02-28 Clearwire Corporation Subscriber management system for a communication network
CN100583783C (zh) 2007-11-06 2010-01-20 北京航空航天大学 基于配置策略的电信领域遗留系统集成工具
US8699513B2 (en) 2007-11-07 2014-04-15 Brocade Communications Systems, Inc. Method and system for facilitating quality of service in edge devices in a fibre channel network
US8885644B2 (en) 2008-02-28 2014-11-11 Alcatel Lucent Compressed IP flow recognition for in-line, integrated mobile DPI
EP2272270B1 (en) 2008-04-30 2018-08-22 Telecom Italia S.p.A. A method for network access, related network and computer program product therefor
US8583781B2 (en) 2009-01-28 2013-11-12 Headwater Partners I Llc Simplified service network architecture
US8032182B2 (en) 2008-08-07 2011-10-04 Broadcom Corporation Subscriber identity module with an incorporated radio
US8144182B2 (en) 2008-09-16 2012-03-27 Biscotti Inc. Real time video communications system
JP2010141555A (ja) 2008-12-11 2010-06-24 Hitachi Kokusai Electric Inc 無線装置
WO2011050848A1 (en) 2009-10-29 2011-05-05 Nokia Siemens Networks Oy Apparatus and method with server including data replicated from the mobile device
CN102118294B (zh) 2009-12-31 2013-06-26 杭州华三通信技术有限公司 堆叠环形拓扑下的负荷分担方法及设备
CN103098070B (zh) 2010-09-23 2016-03-30 惠普发展公司,有限责任合伙企业 用于监视网络服务中数据位置的方法、装置和系统
KR101868180B1 (ko) 2010-10-22 2018-06-15 어펌드 네트웍스, 인크. 다수의 기능들을 단일 플랫폼으로 취합하는 방법
CN102202046B (zh) 2011-03-15 2012-10-17 北京邮电大学 面向网络化操作系统的可信任虚拟运行平台
US9063847B2 (en) * 2011-04-19 2015-06-23 Dell Products, Lp System and method for managing space allocation within a file system
US9984363B2 (en) 2011-06-20 2018-05-29 Mitel Networks Corporation System providing relevant services to transient devices in wireless networks and methods thereof
US8997107B2 (en) 2011-06-28 2015-03-31 Microsoft Technology Licensing, Llc Elastic scaling for cloud-hosted batch applications
US8515488B2 (en) 2011-07-29 2013-08-20 Mitel Networks Corporation System for dynamic assignment of mobile subscriber identities and methods thereof
CN102567080B (zh) 2012-01-04 2015-03-04 北京航空航天大学 一种云计算环境中的面向负载均衡的虚拟机择位系统
US9201704B2 (en) 2012-04-05 2015-12-01 Cisco Technology, Inc. System and method for migrating application virtual machines in a network environment
US9424024B2 (en) * 2012-09-07 2016-08-23 Oracle International Corporation System and method for elasticity management of services with a cloud computing environment
US9058219B2 (en) * 2012-11-02 2015-06-16 Amazon Technologies, Inc. Custom resources in a resource stack
US9264516B2 (en) 2012-12-28 2016-02-16 Wandisco, Inc. Methods, devices and systems enabling a secure and authorized induction of a node into a group of nodes in a distributed computing environment
WO2014124558A1 (zh) 2013-02-18 2014-08-21 华为技术有限公司 一种用户设备组切换方法、设备和系统
CN103346924A (zh) 2013-06-04 2013-10-09 广东电网公司电力调度控制中心 通信网络实时监视方法及系统
US9276959B2 (en) 2013-11-11 2016-03-01 Amazon Technologies, Inc. Client-configurable security options for data streams
CN103648088B (zh) 2013-11-18 2016-10-05 上海华为技术有限公司 一种网络资源控制方法和装置
CN103986665A (zh) 2014-05-12 2014-08-13 浪潮电子信息产业股份有限公司 云海os中网络负载均衡的方法
US10678880B2 (en) 2014-08-07 2020-06-09 Greenman Gaming Limited Digital key distribution mechanism
US9417897B1 (en) 2014-12-05 2016-08-16 Amazon Technologies, Inc. Approaches for managing virtual instance data
US9525672B2 (en) 2014-12-19 2016-12-20 Amazon Technologies, Inc. Multi-faceted compute instance identity
US9705973B2 (en) * 2015-04-29 2017-07-11 International Business Machines Corporation Release and management of composite applications on PaaS
US9930516B2 (en) 2015-05-15 2018-03-27 Samsung Electronics Co., Ltd. UE monitoring configuration method and apparatus
WO2016206118A1 (zh) 2015-06-26 2016-12-29 华为技术有限公司 网络能力信息的获取方法及装置
EP3941112B1 (en) 2015-06-29 2024-03-13 IPLA Holdings Inc. Location-based context delivery
US20180083985A1 (en) * 2016-09-20 2018-03-22 ShieldX Networks, Inc. Systems and methods for network security event filtering and translation
US10447770B2 (en) * 2017-05-30 2019-10-15 Verizon Patent And Licensing Inc. Blockchain micro-services framework
US10659301B2 (en) * 2018-08-24 2020-05-19 Cisco Technology, Inc. Configuring container attribute data on network switches to enable networking functionality
US10951717B2 (en) * 2018-10-10 2021-03-16 Cisco Technology, Inc. Differentiated services within a service mesh
US11385945B2 (en) * 2018-12-03 2022-07-12 Salesforce.Com, Inc. Method and system for event consumer management in an aggregated event platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140215452A1 (en) * 2013-01-28 2014-07-31 Red Hat, Inc. Deployment Optimization for High Availability in a Multi-Tenant Platform-as-a-Service (PaaS) System
US20150242197A1 (en) * 2014-02-25 2015-08-27 Red Hat, Inc. Automatic Installing and Scaling of Application Resources in a Multi-Tenant Platform-as-a-Service (PaaS) System
CN104991760A (zh) * 2014-12-23 2015-10-21 广州亦云信息技术有限公司 基于分布式模块化技术的PaaS平台服务管理系统和实现方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113934446A (zh) * 2021-12-16 2022-01-14 中电云数智科技有限公司 一种基于容器云平台的微服务配置系统及方法
CN114936031A (zh) * 2022-07-22 2022-08-23 浙江中控技术股份有限公司 组件的调用方法及电子设备
CN116719481A (zh) * 2023-08-08 2023-09-08 腾讯科技(深圳)有限公司 配置数据处理方法、装置及相关设备
CN116719481B (zh) * 2023-08-08 2024-01-26 腾讯科技(深圳)有限公司 配置数据处理方法、装置及相关设备

Also Published As

Publication number Publication date
EP3912035A1 (en) 2021-11-24
US20200228402A1 (en) 2020-07-16
US11121921B2 (en) 2021-09-14
WO2020150315A1 (en) 2020-07-23

Similar Documents

Publication Publication Date Title
CN113396393A (zh) 多租户paas组件的动态自动配置
US12003572B1 (en) Two-way replication of search node configuration files using a mediator node
Ferry et al. Cloudmf: Model-driven management of multi-cloud applications
JP6913168B2 (ja) 実行可能データフローグラフの差分
KR101891506B1 (ko) 하나 이상의 클라우드 시스템 상에 애플리케이션들을 이식 가능하게 배치하기 위한 방법들 및 시스템들
US10430204B2 (en) System and method for cloud provisioning and application deployment
US10620933B2 (en) Techniques for efficient application configuration patching
US9256425B2 (en) Versioning and refactoring of business mashups in on-demand environments
US10656971B2 (en) Agile framework for vertical application development and delivery
EP2246782A1 (en) Application modification framework
CN111427748B (zh) 任务告警方法、系统、设备及存储介质
US20220222079A1 (en) Change management of services deployed on datacenters configured in cloud platforms
US20170220324A1 (en) Data communication accelerator system
US9507587B2 (en) Application-centric resources and connectivity configuration
US11550615B2 (en) Kubernetes resource policy enforcement
US8438542B2 (en) Generating a management pack at program build time
US11403145B1 (en) Enforcing system configuration freeze of services deployed via continuous delivery on datacenters configured in cloud platforms
WO2022154811A1 (en) System configuration freeze and change management of services deployed via continuous delivery on datacenters configured in cloud platforms
Paavola Managing Multiple Applications on Kubernetes Using GitOps Principles
US7809536B1 (en) Model-building interface
US12008488B2 (en) Systems and methods to manage sub-chart dependencies with directed acyclic graphs
Fleming et al. Fallout: Distributed systems testing as a service
King et al. Fallout: Distributed Systems Testing as a Service
Cyr et al. dbt in Production
D'Amore GitOps and ArgoCD: Continuous deployment and maintenance of a full stack application in a hybrid cloud Kubernetes environment

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