CN115562796A - 容器集群的存储资源管理方法、装置及系统 - Google Patents

容器集群的存储资源管理方法、装置及系统 Download PDF

Info

Publication number
CN115562796A
CN115562796A CN202110745811.4A CN202110745811A CN115562796A CN 115562796 A CN115562796 A CN 115562796A CN 202110745811 A CN202110745811 A CN 202110745811A CN 115562796 A CN115562796 A CN 115562796A
Authority
CN
China
Prior art keywords
storage resource
container cluster
ccm
storage
attribute
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
CN202110745811.4A
Other languages
English (en)
Inventor
夏海涛
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110745811.4A priority Critical patent/CN115562796A/zh
Priority to EP22831830.9A priority patent/EP4345615A1/en
Priority to PCT/CN2022/100729 priority patent/WO2023274014A1/zh
Publication of CN115562796A publication Critical patent/CN115562796A/zh
Priority to US18/400,095 priority patent/US20240134701A1/en
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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • 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/45583Memory management, e.g. access or allocation
    • 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/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种容器集群的存储资源管理方法、装置及系统,属于计算机技术领域。本申请通过提供了存储资源描述信息,在存储资源描述信息中定义了被CCM管理的容器集群的存储资源的需求,CCM根据存储资源描述信息向VIM发起资源分配流程,以便完成符合描述信息需求的容器集群存储资源的配置。由于采用模型描述(description)的方式管理容器集群的存储资源,有助于灵活地部署容器集群的存储策略,对容器集群中不同层级的存储资源进行差异化的部署配置,促使容器集群的存储资源动态弹性地适配不同的网络服务需求。

Description

容器集群的存储资源管理方法、装置及系统
技术领域
本申请涉及计算机技术领域,特别涉及一种容器集群的存储资源管理方法、装置及系统。
背景技术
容器集群是一种包含一个或多个容器运行时进程的系统。在欧洲电信标准协会(european telecommunications standards institute,ETSI)标准中,容器集群对应的概念是容器基础设施服务集群(container infrastructure service cluster,CIScluster)。
容器集群管理(container cluster management,CCM)是网络功能虚拟化(network functions virtualisation,NFV)管理编排系统中的一种管理面网元。CCM负责对容器集群进行管理。
容器集群的管理包括容器集群的计算资源管理、容器集群的存储资源的管理以及容器集群的网络资源的管理。目前,亟需提供一种有效的方法来对容器集群的存储资源进行更灵活地配置。
发明内容
本申请实施例提供了一种容器集群的存储资源管理方法、装置及系统,有助于对容器集群的存储资源进行更灵活地配置。所述技术方案如下。
第一方面,提供了一种容器集群的存储资源管理方法,所述方法包括:容器集群管理CCM获取存储资源描述信息,所述存储资源描述信息用于描述所述CCM管理的容器集群对象对存储资源的需求,所述容器集群对象包括容器集群组、容器集群或者容器集群节点中至少一项;所述CCM根据所述存储资源描述信息,生成资源分配请求,所述资源分配请求用于指示虚拟化基础设施管理器VIM分配所述存储资源;所述CCM向所述VIM发送所述资源分配请求。
以上方法通过提供了存储资源描述信息,在存储资源描述信息中定义了被CCM管理的容器集群的存储资源的需求,CCM根据存储资源描述信息向VIM发起资源分配流程,以便完成符合描述信息需求的容器集群存储资源的配置。由于采用模型描述(description)的方式管理容器集群的存储资源,有助于灵活地部署容器集群的存储策略,对容器集群中不同层级的存储资源进行差异化的部署配置,促使容器集群的存储资源动态弹性地适配不同的网络服务需求。
在一种可能的实现中,所述存储资源描述信息包括所述存储资源的第一属性,所述第一属性指示所述存储资源适用的容器集群对象的层级。
上述实现方式中,由于在存储资源描述信息中定义了用来描述对象层级的属性,有助于对容器集群中不同层级的存储资源进行差异化的部署配置,便于更灵活地部署容器集群的存储策略。
在一种可能的实现中,所述存储资源描述信息包括所述存储资源的第二属性,所述第二属性指示所述存储资源是静态提供还是动态分配,所述静态提供所述存储资源是指在所述容器集群对象创建之前分配所述存储资源,所述动态分配所述存储资源是指在所述容器集群对象的创建过程中分配所述存储资源。
上述实现方式中,由于存储资源描述信息中定义了第二属性,能在容器集群对象的部署过程中为用户提供选择的空间,即提前规划部署存储资源还是后续在容器集群对象创建过程中部署存储资源,使得方案更加灵活,更加适用于动态变化的需求。
在一种可能的实现中,所述存储资源描述信息包括所述存储资源的第三属性,所述第三属性用于描述所述存储资源需满足的亲和性规则或者反亲和性规则。
上述实现方式中,由于存储资源描述信息中定义了存储资源需满足的亲和性规则或者反亲和性规则,有助于存储资源的物理范围满足隔离性要求。
在一种可能的实现中,存储资源的第三属性与存储资源绑定的容器集群节点的亲和性规则或者反亲和性规则相同。也即是,容器集群节点的存储资源复用该容器集群节点的亲和性规则或者反亲和性规则。
在一种可能的实现中,所述存储资源描述信息包括所述存储资源的第四属性,所述第四属性用于描述所述存储资源为持久化存储资源或者临时存储资源。
持久化存储资源例如为一个或多个硬盘或者一个或多个硬盘阵列(如硬盘框)。硬盘例如为固态硬盘(solid state disk,SSD)或硬盘驱动器(hard disk drive,HDD)等。临时存储资源例如为内存资源。
上述实现方式有助于对持久化存储资源或者临时存储资源两类存储资源差异化部署,提高灵活性。
在一种可能的实现中,所述存储资源描述信息包括所述存储资源的第五属性,所述第五属性用于描述所述存储资源为专用存储资源或者共享存储资源,所述专用存储资源是指仅允许所述容器集群对象中特定子对象使用的存储资源,所述共享存储资源是指允许所述容器集群对象中多个子对象中每个子对象共同使用的存储资源。
容器集群对象中特定子对象例如为容器集群中一个指定的容器集群节点,又如为容器集群组中一个指定的容器集群。
通过上述实现方式,支持将存储资源配置为指定容器集群或容器集群节点专用的存储资源,也支持将存储资源配置为多个容器集群共享的存储资源或多个容器集群节点共享的存储资源,提高管理存储资源的灵活性。
在一种可能的实现中,所述存储资源描述信息包括所述存储资源的第六属性,所述第六属性包括所述存储资源的名称、所述存储资源的规格、与所述存储资源连接的虚拟链路的描述信息中至少一项。
通过上述实现方式,支持在描述信息中定义存储资源的规格、名称等基础的属性,提高方案可用性。
在一种可能的实现中,所述CCM向所述VIM发送所述资源分配请求之后,所述方法还包括:所述CCM接收来自所述VIM的资源分配应答,所述资源分配应答用于指示所述VIM已分配的存储资源;所述CCM为所述容器集群对象配置所述VIM已分配的存储资源。
在一种可能的实现中,所述方法还包括:所述CCM接收来自CCM消费者的创建请求,所述CCM消费者为运营支持系统OSS/商务支持系统BSS或网络功能虚拟化编排器NFVO,所述创建请求用于指示所述CCM创建所述容器集群对象;所述CCM创建所述容器集群对象;所述CCM向所述CCM消费者发送创建应答。
在一种可能的实现中,所述创建请求包括容器集群组创建请求,所述创建应答包括容器集群组创建应答;或者,所述创建请求包括容器集群创建请求,所述创建应答包括容器集群创建应答;或者,所述创建请求包括容器集群节点创建请求,所述创建应答包括容器集群节点创建应答。
在一种可能的实现中,所述CCM获取存储资源描述信息,包括:所述CCM从所述容器集群对象的描述符文件中,获取所述存储资源描述信息;或者,所述CCM从虚拟网络功能描述符文件VNFD中,获取所述存储资源描述信息。
在一种可能的实现中,所述CCM向所述VIM发送所述资源分配请求之前,所述方法还包括:所述CCM向CCM消费者发送生命周期许可请求,所述生命周期许可请求用于申请对所述容器集群对象的生命周期管理进行许可,所述CCM消费者为OSS/BSS或NFVO;所述CCM接收来自于所述CCM消费者的生命周期许可应答,所述生命周期许可应答包括许可指示,所述许可指示用于指示允许CCM发起所述容器集群对象的生命周期管理过程。
通过上述实现方式,在容器集群存储资源管理过程中融入了容器集群生命周期管理许可的过程,在CCM消费者指示许可的情况下才发起存储资源的分配,提高安全性。
第二方面,提供了一种容器集群的存储资源管理装置,该容器集群的存储资源管理装置设于CCM,该容器集群的存储资源管理装置具有实现上述第一方面或第一方面任一种可选方式的功能。该容器集群的存储资源管理装置包括至少一个单元,至少一个单元用于实现上述第一方面或第一方面任一种可选方式所提供的方法。容器集群的存储资源管理装置可选地部署在核心网中,用于向客户提供管理容器集群的存储资源的服务。在一些实施例中,容器集群的存储资源管理装置中的单元通过软件实现,容器集群的存储资源管理装置中的单元是程序模块。在另一些实施例中,容器集群的存储资源管理装置中的单元通过硬件或固件实现。第二方面提供的容器集群的存储资源管理装置的具体细节可参见上述第一方面或第一方面任一种可选方式,此处不再赘述。
第三方面,提供了一种计算设备,该计算设备包括处理器和存储器,其中存储器中存储有计算机指令,处理器执行计算机指令,以实现第一方面及其可能的实现方式的方法。
第四方面,提供了一种(非瞬态的)计算机可读存储介质。该(非瞬态的)计算机可读存储介质中存储有至少一条指令,该指令在计算机上运行时,使得计算机执行上述第一方面或第一方面任一种可选方式所提供的方法。该存储介质的类型包括但不限于易失性存储器,例如随机访问存储器,非易失性存储器,例如快闪存储器、硬盘(hard disk drive,HDD)、固态硬盘(solid state drive,SSD)。
第五方面,提供了一种计算机程序产品,所述计算机程序产品包括一个或多个计算机程序指令,当所述计算机程序指令被计算机加载并运行时,使得所述计算机执行上述第一方面或第一方面任一种可选方式所提供的方法。
第六方面,提供了一种芯片,包括存储器和处理器,存储器用于存储计算机指令,处理器用于从存储器中调用并运行该计算机指令,以执行上述第一方面及其第一方面任意可能的实现方式中的方法。
第七方面,提供了一种网络系统,该网络系统包括上述第二方面提供的容器集群的存储资源管理装置以及VIM。
附图说明
图1是本申请实施例提供的一种NFV的系统架构图;
图2是本申请实施例提供的一种容器集群的层级结构存储资源的示意图;
图3是本申请实施例提供的一种容器集群的存储资源管理方法的流程图;
图4是本申请实施例提供的一种容器集群的存储资源管理方法的流程图;
图5是本申请实施例提供的一种容器集群的存储资源管理方法的流程图;
图6是本申请实施例提供的一种容器集群的存储资源管理方法的流程图;
图7是本申请实施例提供的一种容器集群的存储资源管理方法的流程图;
图8是本申请实施例提供的一种容器集群的存储资源管理方法的流程图;
图9是本申请实施例提供的一种容器集群的存储资源管理装置的结构示意图;
图10是本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面对本申请实施例涉及的一些术语概念做解释说明。
(a)容器集群对象
容器集群对象是指CCM所管理的不同层级的对象,所述容器集群对象包括容器集群组、容器集群或者容器集群节点中至少一项。容器集群组、容器集群和容器集群节点这三个概念都与容器集群相关,各概念的范围具有从大到小的包含关系:一个容器集群组包括一个或多个容器集群,一个容器集群包括一个或多个容器集群节点。可选地,容器集群组可以为网络服务(network service,NS)提供容器集群服务的功能,容器集群可以为虚拟化网络功能(Virtualised Network Function,VNF)提供容器集群服务的功能,容器集群节点可以为虚拟化网络功能组件(Virtualised Network Function Component,VNFC)提供容器集群服务的功能。
(b)容器集群组
容器集群组是指包含一组相关联的容器集群的集合,例如这些容器集群为同一个网络服务所使用。容器集群组也称为容器基础设施服务(container infrastructureservice,CIS)集群组。
容器集群组中的不同容器集群的相关性包括多种情况。例如,容器集群组中的不同容器集群支持的业务相关,比如说容器集群组中的每个容器集群用于为同一个业务或者同一类业务使用。又如,容器集群组中的每个容器集群用于为同一个组织机构所使用。
容器集群组的部署方式包括多种情况。在一种可能的实现中,容器集群组的部署方式为分布式部署,即,容器集群组内不同的容器集群部署在不同的物理站点中。在另一种可能的实现中,容器集群组的部署方式为集中式部署,即,容器集群组内不同的容器集群部署在相同的物理站点中。
(c)容器集群
容器集群通常包含一个或多个监控管理进程以及一个或多个容器集群节点。容器集群是一个动态的系统,在系统中能部署多个容器,这些容器的状态和容器之间的通信能被系统所监控。容器集群在ETSI标准中对应的概念是容器基础设施服务集群(containerinfrastructure service cluster,CIS Cluster)。
可选地,同一个容器集群不包括基于虚机的容器集群节点和基于裸机的容器集群节点这种混合(hybrid)部署场景,也即是同一个容器集群中每个容器集群节点均是虚拟机或者同一个容器集群中每个容器集群节点均是裸机,从而保证容器集群运维管理的简易性。
可选地,同一个容器集群中每个容器集群节点的计算资源或者存储资源的规格相同。可替代地,一个容器集群包括计算资源规格不同或者存储资源规格不同的容器集群节点。
(d)容器集群节点
容器集群节点是指能部署容器的计算节点资源。一个容器集群节点上部署有一个或多个容器。
容器集群节点可选地为虚拟化节点或者物理节点。例如,容器集群节点为虚拟机、裸金属设备(是指没有操作系统的计算机硬件,也称裸机)或者其他的硬件设备。
(e)容器
容器是一种操作系统级别的虚拟化技术,通过操作系统隔离技术如Linux下的控制组群(control groups,CGroup,是Linux内核的一个功能,用来限制、控制与分离一个进程组的资源)和命名空间(namespace),将不同的进程隔离开来。容器技术不同于硬件虚拟化(Hypervisor)技术,通常情况下容器并没有虚拟硬件,容器内部没有操作系统而有进程。正是由于容器技术的这个重要特点,使得容器相比虚拟机更轻量,管理也更方便。在容器的运行态,定义了一组公共的管理操作,例如:启动、停止、暂停和删除等,对容器进行统一的生命周期管理。
容器也称为容器对象。在ETSI标准中容器对应的概念是被管理的容器基础设施对象(managed container infrastructure object,MCIO)。
当前,电信领域的网络变革正经历着从网络功能虚拟化(Network FunctionVirtualization,NFV)向云原生(Cloud-Native)演进的进程中。云原生是在云环境下构建、运行和管理软件的一种新的系统实现范式,充分利用云基础设施和平台服务,适应云环境,具备(微)服务化、弹性伸缩、分布式、高可用、多租户和自动化等关键特征的架构实践。在这场变革中,在NFV管理编排(MANagement and Orchestration,MANO)的参考架构内引入容器管理是NFV走向云原生的众多实践的关键一环。
容器即服务架构在电信网络云原生演进进程中的引入为电信行业的开发运维(Development和Operation,DevOps)带来了敏捷性的变革。与之相呼应的变化是,传统的大颗粒单体网络功能逐渐被解构为服务化,甚至进一步进行微服务化。每个服务化的功能独立进行开发、交付和维护,版本的升级变得更加频繁;但另一方面容器化网络功能数量的激增不会对互操作测试带来指数级工作量的增长,稳定的API接口定义保证了接口功能调用的一致性和可靠性。
当前在容器管理编排领域最流行的应用是Google公司基于开源平台的Kubernetes(简称:K8S)容器集群管理技术。Kubernetes的核心思想是“一切以服务为中心,一切围绕服务运转”,遵循这一思想在Kubernetes上构建的容器应用系统不仅可以独立运行在物理机、虚拟机或企业私有云上,也可以被托管到公有云上。Kubernetes的另一个特点是自动化,一个服务可以自我扩缩容、自我诊断,并且容易升级。
下面对本申请实施例的系统架构举例说明。
附图1是本申请实施例提供的一种NFV的系统架构图。该NFV系统包括NFV MANO系统、VNF和网络功能虚拟化基础设施(network functionsvirtualisationinfrastructure,NFVI)。NFV MANO系统包括CCM、容器基础设施服务管理(Container Infrastructure Service Management,CISM)、网络功能虚拟化编排器(Network Functions Virtualisation Orchestrator,NFVO)、虚拟网络功能管理器(Virtualised Network Function Manager,VNFM)和虚拟化基础设施管理器(VirtualisedInfrastructure Manager,VIM)。
CCM负责对容器集群进行管理。具体地,CCM用于创建容器集群节点资源池、对容器集群节点资源池进行扩容和缩容。容器集群节点资源池包括多个容器集群节点。例如,容器集群节点资源池为附图1中的资源池1和资源池2。资源池1和资源池2中的容器集群节点均为虚拟机(Virtualised Machine,VM),扩容例如是向资源池1或者资源池2分配新的VM。CCM可选地是逻辑功能,或者是包括程序的硬件(如计算机)。
CISM也称为容器即服务(Container as a Service,CaaS)管理,开源原型是Kubernetes。CISM负责管理容器化VNF所调用的容器对象,包括容器对象的创建、更新和删除,并在CISM纳管的容器集群节点资源池中将容器对象调度到相应的节点资源(计算、存储和网络)上。
CISM和CCM在北向接口上为NFVO或VNFM提供了调用其功能的管理服务。
VNF具体为容器化VNF。VNF包括一个或多个容器对象。容器化VNF可以理解为封装了计算、存储和网络等NFVI资源的容器化工作负载(containerized workload),工作负载所调用的容器对象MCIO被调度到该容器集群的节点上运行,容器集群节点上加载CISM实例的镜像或CIS实例的镜像。其中,CISM实例用于提供CaaS管理面功能,如Kubernetes中主节点(Master)。CIS实例用于提供CaaS用户面的功能,如Kubernetes中工作节点(workernode)上的kubelet、kube-proxy和docker。kubelet是工作节点上的一个组件,用于操作docker容器,维持pod的生命周期。kube-proxy是工作节点上的另一个组件,用于负载均衡以及实现pod与pod之间的通信。
VIM用于基础设施层虚拟化资源(包括虚拟计算、存储和网络资源)的管理(包括预留和分配),虚拟资源状态的监控和故障上报,面向上层应用提供虚拟化资源池。
VNFM用于对一个或多个VNF进行生命周期管理,例如实例化、更新、弹性伸缩和终止。VNFM可选地与VNF通信以完成VNF生命周期管理以及交换配置和状态信息。
NFVI即NFV的基础设施层,包含硬件部件、软件部件或两者组合,以建立虚拟化环境,部署、管理及实现VNF。硬件资源和虚拟化层用于为VNF提供虚拟化资源,如虚拟机和其他形式的虚拟容器。硬件资源包括计算硬件,存储硬件,网络硬件作为一种实施方式,计算硬件和存储硬件可以集中在一起。NFVI中的虚拟化层可以抽象硬件资源,解耦VNF与底层的物理网络层。
在一些实施例中,NFV系统还包括运营支持系统(Operation Support Systems,OSS)/商务支持系统(Business Support Systems,BSS),OSS/BSS在附图2中未示出。OSS/BSS支持各种端到端电信业务。OSS支持的管理功能包括:网络配置,业务提供,故障管理等。BSS处理订单、付费等,支持产品管理、订单管理、收益管理及客户管理。
容器集群中的存储资源是有层级结构的(hierarchical),有作用于整个容器集群的存储资源,也有作用于容器集群节点的存储资源以及作用于容器应用MCIO/Pod的存储资源。具体地,请参考附图2,附图2是容器集群的层级结构存储资源的示意图。容器集群中包含以下几种类型的层级结构存储资源:
集群持久卷(Persistent Volume,PV)21:容器集群内提供持久化存储功能,具有独立于容器集群节点的生命周期,与容器集群的生命周期一致。持久卷可以提供集群CISM实例运行所需的存储资源,如:操作系统(operating system,OS)分区、数据分区、镜像仓库分区、etcd(一个高可用的键值存储系统)等。
集群节点专用的临时存储(ephemeral storage)22:与容器集群节点的生命周期一致,伴随容器集群节点(计算资源)的创建/删除而动态创建或删除,临时存储可以提供容器集群节点的CIS实例运行所需存储资源,如:OS分区、数据分区等。
集群内共享的临时存储23:独立于容器集群节点的生命周期,在不同的容器集群节点之间共享通用的存储信息,如:共享CIS实例运行所需存储资源。
结合以上容器集群内不同类型的层级结构存储资源,本实施例提出容器集群的存储资源描述信息(CIS cluster storage description),以在实施例过程中采用模型驱动的方法实现动态、弹性管理容器集群存储资源的需求,具体参见下述附图3所示方法。
下面对本申请实施例的方法流程举例说明。
附图3是本申请实施例提供的一种容器集群的存储资源管理方法的流程图。附图3所示方法包括以下步骤S301至步骤S308。
附图3所示方法所基于的系统架构可选地如上述附图1所示。例如,结合附图1来看,附图3所示方法中的CCM为附图1中的CCM,附图3所示方法中的VIM为附图1中的VIM。
步骤S301、CCM获取存储资源描述信息。
存储资源描述信息也称为存储资源模板或者存储资源描述符文件。存储资源描述信息用于描述CCM管理的容器集群对象的生命周期管理对存储资源的需求。存储资源描述信息包括存储资源的一种或多种属性。具体来讲,存储资源描述信息的作用相当于一个用来配置存储资源的模板,该模板中定义了存储资源在容器集群部署和生命周期管理过程中所需具有的属性。在部署容器集群或者存储资源的过程中,存储资源描述信息能够用来指导管理面实体(如本实施例中的CCM)进行配置操作或管理操作。可选地,存储资源描述信息包含在一个文件中。
存储资源描述信息的来源或者说生成方式包括很多种情况。在一种可能的实现中,存储资源描述信息由容器集群的提供商在部署容器集群之前进行编排得到。存储资源描述信息包含的属性由容器集群的提供商通过web界面、命令行或者其他方式设定。可选地,存储资源描述信息是文件,容器集群的提供商将存储资源描述信息以文件上传的方式发送至CCM。
获取上述存储资源描述信息的时机包括多种情况。可选地,存储资源描述信息预置在CCM中。具体地,CCM预先保存上述存储资源描述信息,CCM在创建容器集群对象时,CCM获取预先保存的存储资源描述信息。可替代地,存储资源描述信息在容器集群对象创建的过程中获取。具体地,当CCM要创建容器集群对象时,CCM发送存储资源描述信息的获取请求,CCM接收返回的存储资源描述信息的获取应答,该获取应答包括存储资源描述信息。本实施例对CCM获取存储资源描述信息的时机不做限定。
存储资源描述信息的具体获取方式包括很多种情况。在一种可能的实现中,CCM从容器集群对象的描述符中,获取存储资源描述信息。例如,在创建容器集群组的过程中,CCM从容器集群组的描述符中,获取存储资源描述信息,以便配置容器集群组所需的存储资源。在创建容器集群的过程中,CCM从容器集群的描述符中,获取存储资源描述信息,以便配置容器集群所需的存储资源。在创建容器集群节点的过程中,CCM从容器集群节点的描述符文件中,获取存储资源描述信息,以便配置容器集群节点所需的存储资源。可替代地,CCM从虚拟网络功能描述符(Virtualised Network Function Descriptor,VNFD)文件中,获取存储资源描述信息。本实施例对存储资源描述信息的具体获取方式不做限定。
步骤S302、CCM根据存储资源描述信息,生成资源分配请求。
资源分配请求用于指示VIM分配存储资源。
可选地,资源分配请求包括存储资源描述信息中的至少一种属性。
步骤S303、CCM向VIM发送资源分配请求。
步骤S304、VIM接收来自CCM的资源分配请求,VIM响应于资源分配请求,分配存储资源。
在一种可能的实现中,VIM从资源分配请求获取存储资源的属性,VIM从资源池中选择满足属性的存储资源,分配满足属性的存储资源。
步骤S305、VIM根据已分配的存储资源生成资源分配应答。
步骤S306、VIM向CCM发送资源分配应答。
资源分配应答用于指示VIM已分配的存储资源。资源分配应答包括VIM已分配的存储资源的标识。
步骤S307、CCM接收来自VIM的资源分配应答。
步骤S308、CCM为容器集群对象配置VIM分配的存储资源。
具体地,CCM从资源分配应答中获取VIM已分配的存储资源的标识,CCM根据资源分配应答中存储资源的标识以及存储资源描述信息,生成容器集群对象的配置信息,从而实现容器集群对象所使用的存储资源的配置。
配置信息包括存储资源与容器集群对象之间的对应关系(也称关联关系或者绑定关系)。例如,配置信息包括存储资源的标识和容器集群对象的标识。可选地,配置信息还包括存储资源描述信息中的属性。
可选地,CCM生成配置信息之后,CCM保存配置信息,以便后续根据配置信息对容器集群对象进行生命周期管理操作。
本实施例提供的方法,通过提供了存储资源描述信息,在存储资源描述信息中定义了被CCM管理的容器集群的存储资源的需求,CCM根据存储资源描述信息向VIM发起资源分配流程,以便完成符合描述信息需求的容器集群存储资源的配置。由于采用模型描述(description)的方式管理容器集群的存储资源,有助于灵活地部署容器集群的存储策略,对容器集群中不同层级的存储资源进行差异化的部署配置,促使容器集群的存储资源动态弹性地适配不同的网络服务需求。尤其是,存储资源描述信息能充当创建和管理存储资源时使用的模板,CCM通过复制同一份存储资源描述信息包含的属性,能够批量化地创建大量存储资源,而无需为每一个待创建的存储资源分别确定对应的属性,因此更加省时省力。
下面对存储资源描述信息包括的存储资源的属性进行介绍。存储资源描述信息可选地包括存储资源的多种属性。为了区分不同的属性,用“第一属性”、“第二属性”、“第三属性”等区分描述多个不同的属性。
(1)存储资源的第一属性
第一属性指示存储资源适用的容器集群对象的层级。可选地,第一属性是一个枚举类型的属性。第一属性的值包括容器集群组、容器集群或者容器集群节点中至少一项。在容器集群组、容器集群和容器集群节点这三种容器集群对象中,容器集群组的层级最高,其次是容器集群,容器集群节点的层级最低。
可选地,第一属性的值为容器集群组、容器集群和容器集群节点其中的一者。如果一个存储资源的第一属性的值为容器集群组,表示该存储资源适用于容器集群组;如果一个存储资源的第一属性的值为容器集群,表示该存储资源适用于容器集群;如果一个存储资源的第一属性的值为容器集群节点,表示该存储资源适用于容器集群节点。可替代地,第一属性的值包括容器集群组、容器集群和容器集群节点其中的多项。
可选地,第一属性为持久化存储资源具有的属性。或者,第一属性为临时存储资源具有的属性。
在存储资源描述信息包括第一属性的情况下,CCM在上述步骤S308中生成的配置信息还用于指示VIM分配的存储资源所适用的容器集群对象的层级。配置信息包括存储资源的标识与对应层级的容器集群对象之间的绑定关系。具体地,如果一个存储资源的第一属性的值为容器集群组,CCM生成的配置信息包括该存储资源与容器集群组之间的绑定关系,由于存储资源与容器集群组绑定,该存储资源后续允许分配给容器集群组使用;同理地,如果一个存储资源的第一属性的值为容器集群,CCM生成的配置信息包括该存储资源与容器集群之间的绑定关系,如果一个存储资源的第一属性的值为容器集群节点,CCM生成的配置信息包括该存储资源与容器集群节点之间的绑定关系。
本实施例通过在存储资源描述信息中定义了第一属性,有助于对容器集群中不同层级的存储资源进行差异化的部署配置,更灵活地部署容器集群的存储策略。
(2)存储资源的第二属性
第二属性指示存储资源是静态提供还是动态分配。可选地,第二属性是一个布尔类型的属性。即,第二属性的值有两种,一种表示静态提供,另一种表示动态分配。
静态提供存储资源是指在容器集群对象创建之前分配存储资源。如果一个存储资源的第二属性的值为静态提供,则该存储资源的分配过程与容器集群对象的创建过程是分开的,存储资源会在容器集群对象创建之前预先分配出来。通过在描述信息中定义静态提供这种属性值,从而支持提前规划部署存储资源。
动态分配存储资源是指在容器集群对象的创建过程中分配存储资源。如果一个存储资源的第二属性的值为动态分配,则该存储资源会在存储资源所属的容器集群对象的生命周期管理中分配,例如,该存储资源伴随着容器集群对象的创建而创建,该存储资源伴随着容器集群对象的删除而删除。
在一些实施例中,第二属性用于供CCM判断发起存储资源分配流程的时机。具体来说,CCM获取到存储资源描述信息之后,CCM从存储资源描述信息中获取第二属性。CCM判断第二属性的值是静态提供还是动态分配。如果第二属性的值是动态提供,则CCM当接收到容器集群对象的创建请求时,执行生成并向VIM发送资源分配请求的步骤(即步骤S302至步骤S303)。如果第二属性的值是静态分配,则允许CCM先创建存储资源,后续再发起容器集群对象的创建过程,在容器集群对象的创建过程中CCM将存储资源分配给容器集群使用。
可选地,第二属性为持久化存储资源具有的属性。
本实施例通过在存储资源描述信息中定义了第二属性,能在容器集群对象的部署过程中为用户提供选择的空间,即提前规划部署存储资源还是后续在容器集群对象创建过程中部署存储资源,使得方案更加灵活,更加适用于动态变化的需求。
(3)存储资源的第三属性
第三属性相当于为存储资源所处的物理范围提供了约束条件,第三属性用于支持不同存储资源物理范围内的隔离性。第三属性用于描述存储资源所需满足的亲和性规则或者反亲和性规则。亲和性规则是指不同存储资源所处的物理范围相同或接近,反亲和性规则是指不同存储资源所处的物理范围不同或不相近。物理范围包括而不限于NFVI-PoP(站点)、zone(区域)、zone group(区域组)或者NFVI-node(主机)等。
以物理范围为主机为例,例如需要创建的存储资源包括第一存储资源和第二存储资源,第一存储资源和第二存储资源均是内存资源。如果第三属性指示第一存储资源和第二存储资源需要满足亲和性规则,则选择同一个主机上的两个内存资源,分别配置为第一存储资源和第二存储资源。如果第三属性指示第一存储资源和第二存储资源需要满足反亲和性规则,则选择不同主机上的两个内存资源,分别配置为第一存储资源和第二存储资源。
可选地,存储资源的第三属性与存储资源绑定的容器集群节点的亲和性规则或者反亲和性规则相同。也即是,容器集群节点的存储资源复用该容器集群节点的亲和性规则或者反亲和性规则。具体地,在第三属性为亲和性规则的情况下,容器集群节点的存储资源和容器集群节点在部署时使用相同的亲和性规则;在第三属性为反亲和性规则的情况下,容器集群节点的存储资源和容器集群节点在部署时使用相同的反亲和性规则。可选地,存储资源的第三属性仅包括在物理范围内的容器集群资源隔离性要求。
可选地,第三属性为临时存储资源具有的属性。可选地,容器集群节点专用的临时存储资源复用容器集群节点的亲和性规则或反亲和性规则。也即是,容器集群节点的专用存储资源具有第三属性,且容器集群节点的专用存储资源的第三属性与容器集群节点的亲和性规则或者反亲和性规则相同。或者,第三属性为持久化存储资源具有的属性。
如何保证配置的存储资源满足第三属性包括很多种具体实现方式,下面以实现方式一和实现方式二举例说明。
实现方式一、CCM根据第三属性指定的亲和性规则或反亲和性规则,确定存储资源的物理范围。
具体来讲,在CCM感知基础设施层中各个存储资源的物理范围的情况下,CCM根据第三属性指定的亲和性规则或反亲和性规则,确定待创建的存储资源的物理范围;CCM将确定的物理范围携带在资源分配请求中,CCM向VIM发送包含物理范围的资源分配请求。VIM接收到资源分配请求后,VIM从资源分配请求中获取CCM指定的物理范围。VIM选择并分配处于该物理范围的存储资源。
实现方式二、VIM根据第三属性指定的亲和性规则或反亲和性规则,确定存储资源的物理范围。
具体来讲,CCM将第三属性携带在资源分配请求中,CCM向VIM发送包含第三属性的资源分配请求。VIM接收到资源分配请求后,VIM从资源分配请求中获取第三属性。VIM根据第三属性指定的亲和性规则或反亲和性规则,确定待创建的存储资源的物理范围;VIM选择并分配处于该物理范围的存储资源。
(4)存储资源的第四属性
第四属性用于描述存储资源为持久化存储资源(persistent storage)或者临时存储资源(ephemeral storage)。
持久化存储资源例如为一个或多个硬盘或者一个或多个硬盘阵列(如硬盘框)。硬盘例如为固态硬盘(solid state disk,SSD)或硬盘驱动器(hard disk drive,HDD)等。
持久化存储资源也称为持久卷(persistent volume,PV)。持久化存储资源用于为容器集群对象提供持久化存储功能。例如,容器集群的持久化存储资源(也称集群持久卷)用于在容器集群内提供持久化存储功能,容器集群的持久化存储资源具有独立于容器集群节点的生命周期,与容器集群的生命周期一致,能提供集群CISM实例运行所需的存储资源,如:OS分区、数据分区、镜像仓库分区、etcd等。
持久化存储资源所适用的容器集群对象的层级包括而不限于容器集群组、容器集群或者容器集群节点。也即是,持久化存储资源的存储资源描述信息中第一属性的值为容器集群组、容器集群或者容器集群节点中任意一项。可选地,持久化存储资源和持久化存储资源所适用层级的容器集群对象具有相同的生命周期。例如,容器集群的持久化存储资源与容器集群的生命周期一致。
临时存储资源所适用的容器集群对象的层级为容器集群节点。也即是,临时存储资源的存储资源描述信息中第一属性的值为容器集群节点。临时存储资源的存储资源描述信息是从临时存储资源所属的容器集群节点的描述信息中获取的。临时存储资源的生命周期与临时存储资源所属的容器集群节点的生命周期一致。
临时存储资源是一种动态分配的存储资源。也即是,临时存储资源的存储资源描述信息中第二属性的值为动态分配。临时存储资源伴随容器集群节点(计算资源)的创建而创建,临时存储资源伴随容器集群节点的删除而删除。临时存储资源能提供容器集群节点的CIS实例运行所需存储,如:OS分区、数据分区等。临时存储资源也称为临时卷。
临时存储资源例如为内存资源。通常情况下,临时存储资源和持久化存储资源这两类存储资源中,临时存储资源的物理范围更靠近CPU,临时存储资源用于为CPU提供比持久化存储资源更快的访问速度。
可选地,在云基础设施中的三类资源(计算资源、存储资源和网络资源中),持久化存储资源属于存储资源,临时存储资源属于计算资源。在创建持久化存储资源的过程中,步骤S302和步骤S303中的资源分配请求具体为虚拟存储资源分配请求,步骤S305和步骤S306中的资源分配应答具体为虚拟存储资源分配应答。在创建临时存储资源的过程中,步骤S302和步骤S303中的资源分配请求具体为虚拟计算资源分配请求,步骤S305和步骤S306中的资源分配应答具体为虚拟计算资源分配应答。
(5)存储资源的第五属性
第五属性用于描述存储资源为专用存储资源或者共享存储资源。
专用存储资源是指仅允许容器集群对象中特定子对象使用的存储资源。特定子对象是指容器集群对象中一个指定的子对象。例如,容器集群对象为容器集群,特定子对象为容器集群中一个指定的容器集群节点。又如,容器集群对象为容器集群组,特定子对象为容器集群组中一个指定的容器集群。如果一个存储资源的第五属性为特定存储资源,表示该存储资源是特定子对象专用或者说独占的存储资源。
共享存储资源是指允许容器集群对象中多个子对象中每个子对象共同使用的存储资源。例如,一个容器集群的共享存储资源是允许该容器集群中不同容器集群节点之间共享的存储规则资源,例如共享CIS实例运行所需存储。
(6)存储资源的第六属性
第六属性包括存储资源的名称、存储资源的规格(也称资源大小或尺寸)、与存储资源连接的虚拟链路的描述信息中至少一项。第六属性也称为元数据(meta-data)描述或者存储资源的基础属性。可选地,存储资源的名称具体为存储资源的类型名称。可选地,容器集群的持久化存储资源的第六属性还包括与容器集群关联的CISM镜像文件和/或CIS镜像文件的标识信息或地址信息等。
在一些实施例中,附图3所示方法中资源分配请求中包括第六属性。具体来说,CCM在执行步骤S302的过程中,CCM从存储资源描述信息中获取存储资源的第六属性,CCM将存储资源的第六属性携带在资源分配请求中。CCM向VIM发送包括第六属性的资源分配请求。CIM在执行步骤S304的过程中,按照第六属性分配存储资源。以第六属性为存储资源的规格为例,例如,存储资源描述信息中存储资源的规格为500M,CCM基于该存储资源描述信息向VIM发起资源分配流程时,CCM将500M携带在资源分配请求中,VIM接收到资源分配请求后,VIM从资源池中选择并分配规格为500M的存储资源。
以上列举了存储资源描述信息可能包括的各种属性。可选地,存储资源描述信息包括上述(1)至(6)列举的全部属性。可替代地,存储资源描述信息包括上述(1)至(6)其中的部分属性。
可选地,附图3所示方法是在容器集群对象的创建过程中执行的。具体地,请参考附图4,附图4是本申请实施例提供的一种容器集群的存储资源管理方法的流程图。附图4在包括附图3中所有步骤的基础上,还包括以下步骤S311至步骤S315。附图4中步骤S311至步骤S315之外的其他步骤请参考对附图3的介绍。可选地,步骤S311至步骤S313是在步骤S301之前执行的,步骤S314至步骤S315是在步骤S308之后执行的。可选地,附图4所示方法适用于存储资源描述信息中第二属性的值为动态分配的情况。
步骤S311、CCM消费者向CCM发送创建请求。
消费是指使用容器集群管理服务。具体地,CCM是容器集群管理服务的提供者,CCM消费者(CCM consumer)即CCM提供的容器集群管理服务的使用者。CCM消费者例如为OSS/BSS或NFVO。
创建请求用于指示CCM创建容器集群对象。CCM消费者发送的创建请求相当于CCM向VIM发起资源分配流程的触发条件。当CCM接收到创建请求时,会在创建容器集群对象的基础上,通过附图3所示方法为创建的容器集群对象配置存储资源。
可选地,创建请求包括容器集群对象的描述信息的标识,上述步骤S301的具体过程包括:CCM从创建请求中获取容器集群对象的描述信息的标识;CCM根据创建请求中容器集群对象的描述信息的标识,访问容器集群对象的描述信息;CCM从容器集群对象的描述信息中获取存储资源描述信息。
步骤S312、CCM接收来自CCM消费者的创建请求。
步骤S313、CCM创建容器集群对象。
步骤S314、CCM生成创建应答。
步骤S315、CCM向CCM消费者发送创建应答。
创建应答包括创建成功指示。创建成功指示用于指示容器集群对象已经创建成功。可选地,创建应答还包括容器集群对象的标识。
可选地,CCM消费者发起的创建请求为容器集群组创建请求,容器集群组创建请求用于指示CCM创建容器集群组。CCM创建容器集群对象具体为容器集群组。CCM返回的创建应答具体为容器集群组创建应答。容器集群组创建应答中的创建成功指示用于指示容器集群组已经创建成功。
可选地,CCM消费者发起的创建请求为容器集群创建请求,容器集群创建请求用于指示CCM创建容器集群。CCM创建容器集群对象具体为容器集群。CCM返回的创建应答具体为容器集群创建应答。容器集群创建应答中的创建成功指示用于指示容器集群已经创建成功。
可选地,CCM消费者发起的创建请求为容器集群节点创建请求,容器集群节点创建请求用于指示CCM创建容器集群节点。CCM创建容器集群对象具体为容器集群节点。CCM返回的创建应答具体为容器集群节点创建应答。容器集群节点创建应答中的创建成功指示用于指示容器集群节点已经创建成功。
可选地,附图3所示方法还包括容器集群生命周期管理(Life Cycle Management,LCM)的许可过程。具体地,请参考附图5,附图5是本申请实施例提供的一种容器集群的存储资源管理方法的流程图。附图5在包括附图3中所有步骤的基础上,还包括以下步骤S321至步骤S326。附图5中步骤S321至步骤S326之外的其他步骤请参考对附图3的介绍。可选地,步骤S321至步骤S326是在步骤S302之前执行的。
步骤S321、CCM生成生命周期许可请求。
生命周期许可请求用于申请对所述容器集群对象的生命周期管理进行许可。可选地,生命周期许可请求包括存储资源描述信息的标识。
步骤S322、CCM向CCM消费者发送生命周期许可请求。
步骤S323、CCM消费者接收来自CCM的生命周期许可请求。
步骤S324、CCM消费者生成生命周期许可应答。
具体地,CCM消费者判断是否许可CCM发起所述容器集群对象的生命周期管理过程。如果CCM消费者许可CCM发起所述容器集群对象的生命周期管理过程,则CCM消费者在生命周期许可应答中携带许可指示;如果CCM消费者拒绝CCM发起所述容器集群对象的生命周期管理过程,则CCM消费者在生命周期许可应答中携带拒绝指示。许可指示用于指示允许CCM发起所述容器集群对象的生命周期管理过程。拒绝指示用于指示拒绝CCM发起所述容器集群对象的生命周期管理过程。
步骤S325、CCM消费者向CCM发送生命周期许可应答。
步骤S326、CCM接收来自于CCM消费者的生命周期许可应答。
CCM判断生命周期许可应答中携带的指示是许可指示还是拒绝指示。如果生命周期许可应答中携带许可指示,相当于取得了CCM消费者的授权,则CCM执行附图3所示方法中步骤S302,发起请求VIM分配存储资源的流程。如果生命周期许可应答中携带拒绝指示,则CCM取消执行请求VIM分配存储资源的流程。
下面结合三个实例,对上述附图3所示方法举例说明。
实例1
实例1用于创建容器集群组的存储资源。实例1中的容器集群组是附图3所示方法中容器集群对象。实例1中存储资源的第二属性的值为动态分配。
如附图6所示,实例1包括步骤S401至步骤S406。
步骤S401:CCM消费者向CCM发送容器集群组创建请求。容器集群组创建请求中携带待创建的容器集群组的描述信息的标识。
步骤S402:CCM根据容器集群组的描述信息的标识访问容器集群组的描述信息,CCM从容器集群组的描述信息中获取容器集群组存储资源的描述信息。
步骤S403:CCM向VIM发送虚拟存储资源分配请求。虚拟存储资源分配请求中携带待创建的存储资源的名称以及资源规格/大小等信息。虚拟存储资源分配请求中携带的信息来自容器集群组存储资源的描述信息。
步骤S404:VIM根据待创建资源的名称和资源规格/大小等信息在其管理的虚拟存储资源中分配相应的存储资源,VIM向CCM返回虚拟存储资源分配应答。
步骤S405:CCM进一步在本地配置容器集群组的存储资源信息,包括容器集群组持久性存储资源的信息、容器集群组共享的临时存储资源的信息以及容器集群专用的临时存储资源的信息。
步骤S406:CCM向CCM消费者返回容器集群组创建应答,容器集群组创建应答中携带创建成功的指示。
实例2
实例2用于创建容器集群的存储资源。实例2中的容器集群是附图3所示方法中容器集群对象。实例2中存储资源的第二属性的值为动态分配。
如附图7所示,实例2包括步骤S501至步骤S506。
步骤S501:CCM消费者向CCM发送容器集群创建请求。容器集群创建请求中携带待创建的容器集群的描述信息的标识。
步骤S502:CCM根据容器集群的描述信息的标识访问容器集群的描述信息,CCM从容器集群的描述信息中获取容器集群存储资源的描述信息。
步骤S503:CCM向VIM发送虚拟存储资源分配请求。虚拟存储资源分配请求中携带待创建的存储资源的名称以及资源规格/大小等信息。虚拟存储资源分配请求中携带的信息来自容器集群存储资源的描述信息。
步骤S504:VIM根据待创建资源的名称和资源规格/大小等信息在其管理的虚拟存储资源中分配相应的存储资源,VIM向CCM返回虚拟存储资源分配应答。
步骤S505:CCM进一步在本地配置容器集群的存储资源信息,包括容器集群的持久性存储的信息、容器集群内共享的临时存储资源的信息以及容器集群节点专用的临时存储资源临时卷。
步骤S506:CCM向CCM消费者返回容器集群创建应答,容器集群创建应答中携带创建成功的指示。
实例3
实例3在实例2的基础上增加了容器集群生命周期管理许可的过程,从而在容器集群存储资源管理的过程中融入容器集群生命周期管理许可的过程。实例3的流程如附图8所示。其中,容器集群生命周期管理许可的过程包括如下步骤S603和步骤S604。附图8中步骤S603和步骤S604之外其他步骤可参考实例2的介绍。
步骤S603:CCM在向VIM发起虚拟存储资源分配请求之前,先向CCM消费者发起容器集群生命周期管理许可请求,在生命周期管理许可请求中携带待创建容器集群的存储资源描述信息的标识。
步骤S604:CCM消费者根据容器集群的存储资源描述信息的标识访问容器集群描述信息中的存储资源描述,判断在其管理域中是否许可进行该生命周期管理操作。CCM消费者向CCM返回容器集群生命周期管理许可应答,在生命周期管理许可应答中携带许可或拒绝该生命周期管理操作的指示。
附图9是本申请实施例提供的一种容器集群的存储资源管理装置的结构示意图,附图9所示的装置800设于CCM。装置800包括获取单元801、生成单元802和发送单元803。可选地,装置800还包括接收单元、创建单元和配置单元。
可选地,结合附图1来看,附图9所示的装置800设于附图1中的CCM。
可选地,结合附图2来看,附图9所示的装置800设于附图2中的CCM。
可选地,结合附图3来看,附图9所示的装置800设于附图3所示的CCM,获取单元801用于支持装置800执行S301,生成单元802用于支持装置800执行S302,发送单元803用于支持装置800执行S303。接收单元用于支持装置800执行S307。配置单元用于支持装置800执行S308。
可选地,结合附图4来看,接收单元用于支持装置800执行S312。创建单元用于支持装置800执行S313。
可选地,结合附图5来看,生成单元802用于支持装置800执行S321。发送单元803用于支持装置800执行S322,接收单元用于支持装置800执行S326。
可选地,结合附图6来看,获取单元801用于支持装置800执行S402。发送单元803用于支持装置800执行S403。
可选地,结合附图7来看,获取单元801用于支持装置800执行S502。发送单元803用于支持装置800执行S503。
可选地,结合附图8来看,获取单元801用于支持装置800执行S602。发送单元803用于支持装置800执行S603。
附图9所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
装置800中的各个单元全部或部分地通过软件、硬件、固件或者其任意组合来实现。
在采用软件实现的情况下,例如,上述生成单元802和创建单元是由附图10中的至少一个处理器901读取存储器902中存储的程序代码后,生成的软件功能单元来实现。
在采用硬件实现的情况下,例如,附图9中上述各个单元由计算设备中的不同硬件分别实现,例如生成单元802由附图10中的至少一个处理器901中的一部分处理资源(例如多核处理器中的一个核或两个核)实现,而创建单元由附图10中至少一个处理器901中的其余部分处理资源(例如多核处理器中的其他核),或者采用现场可编程门阵列(field-programmable gate array,FPGA)、或协处理器等可编程器件来完成。获取单元801和发送单元803由附图10中的网络接口903实现。
在采用软件硬件相结合的方式来实现的情况下,例如,生成单元802由硬件可编程器件实现,而创建单元是由CPU读取存储器中存储的程序代码后,生成的软件功能单元。
下面对实现CCM的基本硬件结构举例说明。
附图10是本申请实施例提供的一种计算设备的结构示意图,附图10所示的计算设备900设置有CCM。
可选地,结合附图1来看,附图10所示的计算设备900设置有附图1中的CCM。
可选地,结合附图2来看,附图10所示的计算设备900设置有附图2中的CCM。
可选地,结合附图3来看,附图10所示的计算设备900用于执行附图3中CCM负责执行的步骤。
计算设备900包括至少一个处理器901、存储器902以及至少一个网络接口903。
处理器901例如是通用中央处理器(central processing unit,CPU)、网络处理器(network processer,NP)、图形处理器(graphics processing unit,GPU)、神经网络处理器(neural-network processing units,NPU)、数据处理单元(data processing unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器901包括专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。PLD例如是复杂可编程逻辑器件(complexprogrammable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gatearray,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器902例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。可选地,存储器902独立存在,并通过内部连接904与处理器901相连接。或者,可选地存储器902和处理器901集成在一起。
网络接口903使用任何收发器一类的装置,用于与其它设备或通信网络通信。网络接口903例如包括有线网络接口或者无线网络接口中的至少一项。其中,有线网络接口例如为以太网接口。以太网接口例如是光接口,电接口或其组合。无线网络接口例如为无线局域网(wireless local area networks,WLAN)接口,蜂窝网络网络接口或其组合等。
在一些实施例中,处理器901包括一个或多个CPU,如附图10中所示的CPU0和CPU1。
在一些实施例中,计算设备900可选地包括多个处理器,如附图10中所示的处理器901和处理器905。这些处理器中的每一个例如是一个单核处理器(single-CPU),又如是一个多核处理器(multi-CPU)。这里的处理器可选地指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在一些实施例中,计算设备900还包括内部连接904。处理器901、存储器902以及至少一个网络接口903通过内部连接904连接。内部连接904包括通路,在上述组件之间传送信息。可选地,内部连接904是单板或总线。可选地,内部连接904分为地址总线、数据总线、控制总线等。
在一些实施例中,计算设备900还包括输入输出接口906。输入输出接口906连接到内部连接904上。
可选地,处理器901通过读取存储器902中保存的程序代码910实现上述实施例中的方法,或者,处理器901通过内部存储的程序代码实现上述实施例中的方法。在处理器901通过读取存储器902中保存的程序代码910实现上述实施例中的方法的情况下,存储器902中保存实现本申请实施例提供的容器集群的存储资源管理方法的程序代码。
处理器901实现上述功能的更多细节请参考前面各个方法实施例中的描述,在这里不再重复。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分可互相参考,每个实施例重点说明的都是与其他实施例的不同之处。
A参考B,指的是A与B相同或者A为B的简单变形。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序,也不能理解为指示或暗示相对重要性。例如,第一属性和第二属性用于区别不同的属性,而不是用于描述属性的特定顺序,也不能理解为第一属性比第二属性更重要。
本申请实施例,除非另有说明,“至少一个”的含义是指一个或多个,“多个”的含义是指两个或两个以上。例如,多个属性是指两个或两个以上的属性。
上述实施例可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例描述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (24)

1.一种容器集群的存储资源管理方法,其特征在于,所述方法包括:
容器集群管理CCM获取存储资源描述信息,所述存储资源描述信息用于描述所述CCM管理的容器集群对象对存储资源的需求,所述容器集群对象包括容器集群组、容器集群或者容器集群节点中至少一项;
所述CCM根据所述存储资源描述信息,生成资源分配请求,所述资源分配请求用于指示虚拟化基础设施管理器VIM分配所述存储资源;
所述CCM向所述VIM发送所述资源分配请求。
2.根据权利要求1所述的方法,其特征在于,所述存储资源描述信息包括所述存储资源的第一属性,所述第一属性指示所述存储资源适用的容器集群对象的层级。
3.根据权利要求1或2所述的方法,其特征在于,所述存储资源描述信息包括所述存储资源的第二属性,所述第二属性指示所述存储资源是静态提供还是动态分配,所述静态提供所述存储资源是指在所述容器集群对象创建之前分配所述存储资源,所述动态分配所述存储资源是指在所述容器集群对象的创建过程中分配所述存储资源。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述存储资源描述信息包括所述存储资源的第三属性,所述第三属性用于描述所述存储资源需满足的亲和性规则或者反亲和性规则。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述存储资源描述信息包括所述存储资源的第四属性,所述第四属性用于描述所述存储资源为持久化存储资源或者临时存储资源。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述存储资源描述信息包括所述存储资源的第五属性,所述第五属性用于描述所述存储资源为专用存储资源或者共享存储资源,所述专用存储资源是指仅允许所述容器集群对象中特定子对象使用的存储资源,所述共享存储资源是指允许所述容器集群对象中多个子对象中每个子对象共同使用的存储资源。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述存储资源描述信息包括所述存储资源的第六属性,所述第六属性包括所述存储资源的名称、所述存储资源的规格、与所述存储资源连接的虚拟链路的描述信息中至少一项。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述CCM向所述VIM发送所述资源分配请求之后,所述方法还包括:
所述CCM接收来自所述VIM的资源分配应答,所述资源分配应答用于指示所述VIM已分配的存储资源;
所述CCM为所述容器集群对象配置所述VIM已分配的存储资源。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:
所述CCM接收来自CCM消费者的创建请求,所述CCM消费者为运营支持系统OSS/商务支持系统BSS或网络功能虚拟化编排器NFVO,所述创建请求用于指示所述CCM创建所述容器集群对象;
所述CCM创建所述容器集群对象;
所述CCM向所述CCM消费者发送创建应答。
10.根据权利要求9所述的方法,其特征在于,
所述创建请求包括容器集群组创建请求,所述创建应答包括容器集群组创建应答;或者,
所述创建请求包括容器集群创建请求,所述创建应答包括容器集群创建应答;或者,
所述创建请求包括容器集群节点创建请求,所述创建应答包括容器集群节点创建应答。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述CCM获取存储资源描述信息,包括:
所述CCM从所述容器集群对象的描述符文件中,获取所述存储资源描述信息;或者,
所述CCM从虚拟网络功能描述符文件VNFD中,获取所述存储资源描述信息。
12.根据权利要求1至11中任一项所述的方法,其特征在于,所述CCM向所述VIM发送所述资源分配请求之前,所述方法还包括:
所述CCM向CCM消费者发送生命周期许可请求,所述生命周期许可请求用于申请对所述容器集群对象的生命周期管理进行许可,所述CCM消费者为OSS/BSS或NFVO;
所述CCM接收来自于所述CCM消费者的生命周期许可应答,所述生命周期许可应答包括许可指示,所述许可指示用于指示允许CCM发起所述容器集群对象的生命周期管理过程。
13.一种容器集群的存储资源管理装置,其特征在于,所述装置设于容器集群管理CCM,所述装置包括:
获取单元,用于获取存储资源描述信息,所述存储资源描述信息用于描述所述CCM管理的容器集群对象对存储资源的需求,所述容器集群对象包括容器集群组、容器集群或者容器集群节点中至少一项;
生成单元,用于根据所述存储资源描述信息,生成资源分配请求,所述资源分配请求用于指示虚拟化基础设施管理器VIM分配所述存储资源;
发送单元,用于向所述VIM发送所述资源分配请求。
14.根据权利要求13所述的装置,其特征在于,所述存储资源描述信息包括所述存储资源的第一属性,所述第一属性指示所述存储资源适用的容器集群对象的层级。
15.根据权利要求13或14所述的装置,其特征在于,所述存储资源描述信息包括所述存储资源的第二属性,所述第二属性指示所述存储资源是静态提供还是动态分配,所述静态提供所述存储资源是指在所述容器集群对象创建之前分配所述存储资源,所述动态分配所述存储资源是指在所述容器集群对象的创建过程中分配所述存储资源。
16.根据权利要求13至15中任一项所述的装置,其特征在于,所述存储资源描述信息包括所述存储资源的第三属性,所述第三属性用于描述所述存储资源需满足的亲和性规则或者反亲和性规则。
17.根据权利要求13至16中任一项所述的装置,其特征在于,所述存储资源描述信息包括所述存储资源的第四属性,所述第四属性用于描述所述存储资源为持久化存储资源或者临时存储资源。
18.根据权利要求13至17中任一项所述的装置,其特征在于,所述存储资源描述信息包括所述存储资源的第五属性,所述第五属性用于描述所述存储资源为专用存储资源或者共享存储资源,所述专用存储资源是指仅允许所述容器集群对象中特定子对象使用的存储资源,所述共享存储资源是指允许所述容器集群对象中多个子对象中每个子对象共同使用的存储资源。
19.根据权利要求13至18中任一项所述的装置,其特征在于,所述存储资源描述信息包括所述存储资源的第六属性,所述第六属性包括所述存储资源的名称、所述存储资源的规格、与所述存储资源连接的虚拟链路的描述信息中至少一项。
20.根据权利要求13至19中任一项所述的装置,其特征在于,所述装置还包括:
接收单元,用于接收来自所述VIM的资源分配应答,所述资源分配应答用于指示所述VIM已分配的存储资源;
配置单元,用于为所述容器集群对象配置所述VIM已分配的存储资源。
21.根据权利要求13至20中任一项所述的装置,其特征在于,所述装置还包括:
接收单元,用于接收来自CCM消费者的创建请求,所述CCM消费者为运营支持系统OSS/商务支持系统BSS或网络功能虚拟化编排器NFVO,所述创建请求用于指示创建所述容器集群对象;
创建单元,用于创建所述容器集群对象;
所述发送单元,还用于向所述CCM消费者发送创建应答。
22.一种计算设备,其特征在于,所述计算设备包括处理器和存储器,其中:
所述存储器中存储有计算机指令;
所述处理器执行所述计算机指令,以实现所述权利要求1至12中任一项所述的方法。
23.一种网络系统,其特征在于,所述网络系统包括如权利要求13至21中任一项所述的装置以及设于VIM的装置。
24.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令在计算机上运行时,使得计算机执行如权利要求1至权利要求12中任一项所述的方法。
CN202110745811.4A 2021-06-30 2021-07-01 容器集群的存储资源管理方法、装置及系统 Pending CN115562796A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202110745811.4A CN115562796A (zh) 2021-07-01 2021-07-01 容器集群的存储资源管理方法、装置及系统
EP22831830.9A EP4345615A1 (en) 2021-07-01 2022-06-23 Storage resource management method, apparatus, and system for container cluster
PCT/CN2022/100729 WO2023274014A1 (zh) 2021-07-01 2022-06-23 容器集群的存储资源管理方法、装置及系统
US18/400,095 US20240134701A1 (en) 2021-06-30 2023-12-29 Method and apparatus for managing storage resources of container cluster, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110745811.4A CN115562796A (zh) 2021-07-01 2021-07-01 容器集群的存储资源管理方法、装置及系统

Publications (1)

Publication Number Publication Date
CN115562796A true CN115562796A (zh) 2023-01-03

Family

ID=84690758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110745811.4A Pending CN115562796A (zh) 2021-06-30 2021-07-01 容器集群的存储资源管理方法、装置及系统

Country Status (4)

Country Link
US (1) US20240134701A1 (zh)
EP (1) EP4345615A1 (zh)
CN (1) CN115562796A (zh)
WO (1) WO2023274014A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7340578B1 (en) * 2004-04-28 2008-03-04 Sun Microsystems, Inc. Method and apparatus for maintaining an accurate inventory of storage capacity in a clustered data processing system
CN106548262B (zh) * 2015-09-21 2020-11-06 阿里巴巴集团控股有限公司 用于处理任务的资源的调度方法、装置和系统
CN110716788B (zh) * 2018-07-13 2022-07-26 华为技术有限公司 管理虚拟化资源的方法和装置
CN111726241B (zh) * 2019-03-22 2023-05-19 中兴通讯股份有限公司 网络资源管理方法、系统、网络设备和可读存储介质

Also Published As

Publication number Publication date
WO2023274014A1 (zh) 2023-01-05
EP4345615A1 (en) 2024-04-03
US20240134701A1 (en) 2024-04-25

Similar Documents

Publication Publication Date Title
EP3761170B1 (en) Virtual machine creation method and apparatus
JP6658882B2 (ja) 制御装置、vnf配置先選択方法及びプログラム
US8141090B1 (en) Automated model-based provisioning of resources
CN105897805B (zh) 对多层架构的数据中心的资源进行跨层调度的方法和装置
JP5352890B2 (ja) 計算機システムの運用管理方法、計算機システム及びプログラムを記憶する計算機読み取り可能な媒体
US20200226520A1 (en) Methods and systems to optimize server utilization for a virtual data center
US10581705B2 (en) Smart service catalogs based deployment of applications
US20190114198A1 (en) Composite virtual machine template for virtualized computing environment
US11301262B2 (en) Policy enabled application-release-management subsystem
CN111324571A (zh) 一种容器集群管理方法、装置及系统
US9959157B1 (en) Computing instance migration
KR20210096259A (ko) 컴퓨팅 리소스 할당
CN113010265A (zh) Pod的调度方法、调度器、存储插件及系统
WO2022184495A1 (en) Serverless runtime container allocation
JP2024501005A (ja) コンテナクラスタのための管理方法および装置
US11057263B2 (en) Methods and subsystems that efficiently distribute VM images in distributed computing systems
CN114816665B (zh) 混合编排系统及超融合架构下虚拟机容器资源混合编排方法
WO2022148376A1 (en) Edge time sharing across clusters via dynamic task migration
US20220413902A1 (en) Partition migration with critical task prioritization
US11948010B2 (en) Tag-driven scheduling of computing resources for function execution
WO2023274014A1 (zh) 容器集群的存储资源管理方法、装置及系统
CN115037757A (zh) 一种多集群服务管理系统
CN116166413A (zh) 针对异构基础设施上的工作负载的生命周期管理
CN112015515B (zh) 一种虚拟网络功能的实例化方法及装置
US20240152404A1 (en) Container cross-cluster capacity scaling

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication