Container management method, device and system
Through the collaborative work of the first manager and the second manager, an operating system that meets compatibility needs is automatically loaded on the infrastructure, solving the high complexity problems caused by manual inspection and multiple coordination in the prior art, and achieving more efficient operating system loading.
Patent Information
- Application Number
- CN202410177011.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-02-08
- Publication Date
- 2025-08-08
AI Technical Summary
When loading an operating system that meets compatibility needs for container applications on infrastructure, the prior art requires manual inspection and multiple coordination, resulting in high complexity and reliance on manual operations.
The compatibility requirements of the container application are obtained through the first manager and the second requirement is sent to the second manager, so that the second manager can automatically load an operating system that meets the compatibility requirements on the infrastructure, reducing manual operations.
It realizes the automated loading of operating systems that meet compatibility needs on the infrastructure, reducing complexity and dependence on manual operations.
Smart Images

Figure CN120448026A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a container management method, device, and system. Background Art
[0002] A container is a virtualization technology used at the operating system (OS) layer. Unlike hardware virtualization technology, containers lack virtualized hardware and only contain processes. They do not provide an operating system. Instead, they isolate different processes through operating system isolation technology, allowing them to have independent system resources and resource quotas. The operating system kernel can be shared by different processes. That is, the operating system kernel can be called by multiple container applications through interfaces (e.g., application binary interface (ABI) and / or application programming interface (API)).
[0003] The rapid development of infrastructure (e.g., cloud infrastructure) has made it possible for developers to deploy container applications. However, with the increasing number of infrastructure vendors, different infrastructure vendors can offer different operating systems, leading to compatibility issues between container applications and the operating systems provided by different infrastructure vendors. Currently, before installing an operating system, container application vendors and infrastructure vendors must conduct manual inspections and multiple coordination processes to ensure that the operating system that meets compatibility requirements is installed on the infrastructure for the container application. This entire process relies on manual operations and is highly complex. Summary of the Invention
[0004] The embodiments of the present application provide a container management method, device, and system, which can load an operating system that meets compatibility requirements on an infrastructure with less manual operation, thereby reducing dependence on manual operation and reducing complexity.
[0005] In a first aspect, the present application provides a container management method, which can be executed by a first manager, or by other devices including the first manager, or by a chip system (or, chip) or other functional module, which can implement the functions of the first manager, for example, the chip system or functional module is set in the first manager.
[0006] Taking the first manager as the execution body as an example, the first manager obtains a first requirement of the container application, which is the compatibility requirement of the container application for the operating system; and, based on the first requirement, sends a second requirement to the second manager, which is used to load the first operating system on the infrastructure, and the first operating system meets the second requirement.
[0007] In the above embodiment, the first manager sends a second requirement to the second manager based on the first requirement, enabling the second manager to install a first operating system that meets the second requirement on the infrastructure. Since the second requirement is based on the first requirement, the first operating system also meets the first requirement. This means that the first operating system installed by the second manager based on the second requirement is compatible with the container application specified in the first requirement. Compared to manually checking and negotiating compatibility issues between container applications and operating systems, the above embodiment allows installation of an operating system that meets compatibility requirements on the infrastructure with minimal manual effort, resulting in a higher degree of automation, reduced reliance on manual operations, and reduced complexity.
[0008] In one possible implementation, the first requirement may include one or more of the following: first identification information of the operating system that meets the compatibility requirement, first information of the interface that the operating system that meets the compatibility requirement needs to support, or second identification information of the kernel of the operating system that meets the compatibility requirement.
[0009] Through the above implementation, the second manager can determine an operating system that meets the compatibility requirement of the container application for the operating system, and determine the second requirement, so that the second manager can determine the operating system that meets the compatibility requirement.
[0010] In one possible implementation, the second requirement may include one or more of the following: third identification information of the operating system that meets the compatibility requirement, second information of the interface that the operating system that meets the compatibility requirement needs to support, or fourth identification information of the kernel of the operating system that meets the compatibility requirement. The third identification information includes the identification information of the first operating system, or the fourth identification information includes the identification information of the kernel of the first operating system, or the information of the interface of the first operating system includes the second information. In other words, the identification information of the first operating system belongs to the third identification information, or the identification information of the kernel of the first operating system belongs to the fourth identification information, or the second information belongs to the information of the interface of the first operating system.
[0011] Through the above implementation, the second manager can determine an operating system that meets the compatibility requirements of the container application for the operating system.
[0012] In a possible implementation, the first manager obtaining the first requirement of the container application may specifically include: the first manager receiving the first requirement from the orchestrator.
[0013] Through the above implementation, the first requirement may come from the orchestrator, or the first requirement may be obtained by the first manager itself, and the implementation is flexible.
[0014] In a possible implementation, the first requirement may be included in a virtual network function descriptor, or the first requirement may also be included in a container cluster descriptor, or the first requirement may also be included in a container cluster node descriptor.
[0015] Through the above implementation, the orchestrator can reuse the existing descriptor to send the first requirement, or the orchestrator can send the first requirement separately, and the implementation is flexible.
[0016] In a possible implementation, the first manager may be a virtual network function manager, or a container cluster manager, and the second manager may be a physical infrastructure manager, or a virtualized infrastructure manager.
[0017] In a possible implementation, the first manager may also receive a first message from the second manager, where the first message is used to indicate that the loading of the first operating system is complete. In this way, the first manager may determine that the loading of the operating system that meets the compatibility requirements is complete.
[0018] In a possible implementation, the first manager may further translate the first requirement to obtain the second requirement.
[0019] Through the above implementation, the content of the first requirement and the content of the second requirement can be the same or different, and the implementation is flexible.
[0020] In a second aspect, the present application provides a container management method, which can be executed by a second manager, or by other devices including the second manager, or by a chip system (or, chip) or other functional module, which can implement the functions of the second manager, for example, the chip system or functional module is set in the second manager.
[0021] Taking the second manager as the execution entity as an example, the second manager receives a second requirement from the first manager, where the second requirement is the compatibility requirement of the container application for the operating system, or the second requirement is a requirement determined based on the first requirement, where the first requirement is the compatibility requirement of the container application for the operating system; and, based on the second requirement, the first operating system is determined on the infrastructure, and the first operating system meets the second requirement.
[0022] In the above embodiment, the second manager determines the first operating system on the infrastructure based on the second requirement, ensuring that the first operating system meets the second requirement. The second requirement is the container application's compatibility requirement for the operating system, specifically, that the first operating system must be compatible with the container application. Compared to manually checking and negotiating compatibility issues between container applications and operating systems, the above embodiment can install an operating system that meets compatibility requirements on the infrastructure with minimal manual effort, resulting in a higher degree of automation, reduced reliance on manual operations, and reduced complexity.
[0023] In one possible implementation, the second requirement may include one or more of the following: third identification information of the operating system that meets the compatibility requirement, second information of the interface that the operating system that meets the compatibility requirement needs to support, or fourth identification information of the kernel of the operating system that meets the compatibility requirement. The third identification information includes the identification information of the first operating system, or the fourth identification information includes the identification information of the kernel of the first operating system, or the information including the interface of the first operating system includes the second information. In other words: the identification information of the first operating system belongs to the third identification information, or the identification information of the kernel of the first operating system belongs to the fourth identification information, or the second information belongs to the information of the interface of the first operating system.
[0024] In one possible implementation, the second manager may determine that the first operating system is installed on the infrastructure according to the second requirement. Specifically, the second manager may determine that the operating system installed on the infrastructure is the first operating system according to the second requirement; or, the second manager may determine that an operating system that meets the second requirement is not installed on the infrastructure, and load the first operating system on the infrastructure according to the second requirement.
[0025] Through the above implementation method, if the operating system loaded on the infrastructure meets the compatibility requirements, the second manager can determine that the operating system is the first operating system; if the operating system that meets the second requirements is not loaded on the infrastructure, the second manager can load an operating system that meets the second requirements on the infrastructure.
[0026] In a possible implementation, the second manager may also determine, based on the second requirement, whether the infrastructure supports loading the first operating system, to ensure that an operating system that meets the compatibility requirement is loaded on the infrastructure.
[0027] In a possible implementation, the first manager may be a virtual network function manager, or a container cluster manager, and the second manager may be a physical infrastructure manager, or a virtualized infrastructure manager.
[0028] In a possible implementation, the second manager may further send a first message to the first manager, where the first message is used to indicate that loading of the first operating system is complete.
[0029] In a third aspect, the present application provides a container management method, which can be applied to a container management system, which can include a first manager and a second manager.
[0030] The first manager obtains a first requirement of the container application, and sends a second requirement to the second manager based on the first requirement, wherein the first requirement is a compatibility requirement of the container application for the operating system, and the second requirement is for loading the first operating system on the infrastructure, and the first operating system meets the second requirement;
[0031] The second manager receives the second requirement from the first manager and determines the first operating system on the infrastructure according to the second requirement.
[0032] In one possible implementation, the first requirement may include one or more of the following: first identification information of the operating system that meets the compatibility requirement, first information of the interface that the operating system that meets the compatibility requirement needs to support, or second identification information of the kernel of the operating system that meets the compatibility requirement.
[0033] In one possible implementation, the second requirement may include one or more of the following: third identification information of the operating system that meets the compatibility requirement, second information of the interface that the operating system that meets the compatibility requirement needs to support, or fourth identification information of the kernel of the operating system that meets the compatibility requirement. The third identification information includes the identification information of the first operating system, or the fourth identification information includes the identification information of the kernel of the first operating system, or the information of the interface of the first operating system includes the second information. In other words, the identification information of the first operating system belongs to the third identification information, or the identification information of the kernel of the first operating system belongs to the fourth identification information, or the second information belongs to the information of the interface of the first operating system.
[0034] In one possible implementation, the first manager obtaining the first requirement of the container application may specifically include: the first manager receiving the first requirement from an orchestrator. Optionally, the container management system may further include an orchestrator, and the orchestrator may send the first requirement to the first manager.
[0035] In a possible implementation, the first requirement may be included in a virtual network function descriptor, or the first requirement may also be included in a container cluster descriptor, or the first requirement may also be included in a container cluster node descriptor.
[0036] In a possible implementation, the first manager may be a virtual network function manager, or a container cluster manager, and the second manager may be a physical infrastructure manager, or a virtualized infrastructure manager.
[0037] In a possible implementation, the second manager may further send a first message to the first manager, where the first message is used to indicate that loading of the first operating system is complete. Accordingly, the first manager may further receive the first message from the second manager.
[0038] In a possible implementation, the first manager may further translate the first requirement to obtain the second requirement.
[0039] In one possible implementation, the second manager may determine that the first operating system is installed on the infrastructure according to the second requirement. Specifically, the second manager may determine that the operating system installed on the infrastructure is the first operating system according to the second requirement; or, the second manager may determine that an operating system that meets the second requirement is not installed on the infrastructure, and load the first operating system on the infrastructure according to the second requirement.
[0040] In a possible implementation, the second manager may also determine, based on the second requirement, whether the infrastructure supports loading the first operating system.
[0041] The technical effects that can be achieved by the above-mentioned third aspect and any possible implementation method thereof may refer to the technical effects that can be achieved by the above-mentioned first aspect or second aspect and any possible implementation method thereof, and no further details will be given.
[0042] In a fourth aspect, the present application provides a container management device, which can be used to perform the method described in the first aspect and any possible implementation thereof. The container management device can, for example, be a first manager, or include the first manager, or be a functional module within the first manager, such as a baseband device or a chip system.
[0043] In a possible implementation, the container management device may include a baseband device and a radio frequency device.
[0044] In another possible implementation, the container management device may include a processing module (sometimes also referred to as a processing unit) and a transceiver module (sometimes also referred to as a transceiver unit). The transceiver module can implement both sending and receiving functions. When the transceiver module implements the sending function, it may be referred to as a sending module (sometimes also referred to as a sending unit); when the transceiver module implements the receiving function, it may be referred to as a receiving module (sometimes also referred to as a receiving unit). The sending module and the receiving module may be the same functional module, referred to as the transceiver module, which is capable of both sending and receiving functions. Alternatively, the sending module and the receiving module may be different functional modules, with the transceiver module being a collective term for these functional modules.
[0045] For example, the processing module may be configured to obtain a first requirement of the container application, where the first requirement is a compatibility requirement of the container application for an operating system. The transceiver module may be configured to send a second requirement to the second manager based on the first requirement, where the second requirement is for loading the first operating system on the infrastructure, where the first operating system satisfies the second requirement.
[0046] In a fifth aspect, the present application provides a container management device, which can be used to perform the method described in the second aspect and any possible implementation thereof. The container management device can, for example, be a second manager, or include a second manager, or be a functional module within the second manager, such as a baseband device or a chip system.
[0047] In a possible implementation, the container management device may include a baseband device and a radio frequency device.
[0048] In another possible implementation, the container management device may include a processing module (sometimes also referred to as a processing unit) and a transceiver module (sometimes also referred to as a transceiver unit). The transceiver module can implement both sending and receiving functions. When the transceiver module implements the sending function, it may be referred to as a sending module (sometimes also referred to as a sending unit); when the transceiver module implements the receiving function, it may be referred to as a receiving module (sometimes also referred to as a receiving unit). The sending module and the receiving module may be the same functional module, referred to as the transceiver module, which is capable of both sending and receiving functions. Alternatively, the sending module and the receiving module may be different functional modules, with the transceiver module being a collective term for these functional modules.
[0049] For example, the transceiver module may be configured to receive a second requirement from the first manager, where the second requirement is a compatibility requirement of the container application for the operating system, or the second requirement is a requirement determined based on a first requirement, where the first requirement is a compatibility requirement of the container application for the operating system. The processing module may be configured to determine a first operating system on the infrastructure based on the second requirement, where the first operating system meets the second requirement.
[0050] In a sixth aspect, the present application provides a container management system, which includes the container management device described in the fourth aspect and / or the container management device described in the fifth aspect.
[0051] In a seventh aspect, the present application further provides an electronic device. The electronic device may include one or more processors. Optionally, the electronic device may further include a memory. The memory is configured to store one or more computer programs or instructions. The one or more processors are configured to execute the one or more computer programs or instructions stored in the memory, so that the electronic device performs the method described in the first aspect or the second aspect above, and any possible implementation thereof.
[0052] In an eighth aspect, the present application also provides a computer-readable storage medium, which is used to store a computer program. When the computer program is run on a computer, the computer executes the method described in the first aspect or the second aspect and any possible implementation thereof.
[0053] In the ninth aspect, the present application also provides a computer program product, which includes a computer program. When the computer program is run on a computer, the computer executes the method described in the first aspect or the second aspect and any possible implementation thereof.
[0054] For the technical effects that can be achieved by the above-mentioned fourth to ninth aspects and any possible implementation methods, please refer to the technical effects that can be achieved by the above-mentioned first or second aspect and any possible implementation methods, and no repetition will be given. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] Figure 1 This is a diagram of the Kubernetes container management and orchestration architecture.
[0056] Figure 2 This is a schematic diagram of the architecture of an NFV system;
[0057] Figure 3 This is a diagram of the relationship between a container and an operating system;
[0058] Figure 4 A schematic diagram of a container management system provided in an embodiment of the present application;
[0059] Figure 5 A flowchart of a container management method provided in an embodiment of the present application;
[0060] Figure 6 A schematic diagram of a process for determining a first operating system according to an embodiment of the present application;
[0061] Figure 7 A flowchart of a container management method provided in an embodiment of the present application;
[0062] Figure 8 A flowchart of a container management method provided in an embodiment of the present application;
[0063] Figure 9 A schematic diagram of the structure of a container management device provided in an embodiment of the present application;
[0064] Figure 10 A schematic diagram of the structure of another container management device provided in an embodiment of the present application;
[0065] Figure 11 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0066] In order to facilitate a better understanding of the technical solutions involved in the embodiments of the present application, the technical terms involved in the embodiments of the present application are explained below.
[0067] 1. Container
[0068] Container is a virtualization technology at the operating system (OS) layer, which can be understood as a service application or a microservice application. The container can also be called a container application, or a containerized application, etc., without limitation. Currently, the most commonly used application in the field of container management and orchestration is Google's Kubernetes (abbreviated as K8S) container cluster management technology based on an open source platform. Containers built on K8S can not only run independently on physical machines, virtual machines or enterprise private clouds, but can also be hosted on public clouds. It is understandable that the embodiments of this application do not limit container management and orchestration tools.
[0069] Figure 1 A schematic diagram of the Kubernetes container management and orchestration architecture is shown. Figure 1As shown, Kubernetes divides the devices in the cluster into a Kubernetes master node (master) and a group of worker nodes (nodes). Among them, a group of processes related to cluster management, such as the application programming interface server (API server) and the replication controller (RC), run on the Kubernetes master node. These processes implement management functions such as resource management, pod scheduling, elastic scaling, security control, system monitoring and error correction for the entire cluster. Each node can run three components: kubelet, kube-proxy, and container engine (docker), which are responsible for managing the life cycle of the pod on this node and implementing the service proxy function. Pod is the basic scheduling unit in Kubernetes.
[0070] The API Server provides the only operational entry point for resource objects. Other components must operate resource data through the API interface it provides. It completes related business functions by "full query" and "change monitoring" of relevant resource data.
[0071] The controller manager is the management and control center of the cluster. Its primary purpose is to automate fault detection and recovery for the Kubernetes cluster. For example, the controller manager can replicate or remove pods based on the RC definition to ensure the number of pod instances meets the RC definition. Based on the management relationship between services and pods, the controller manager can create and update service endpoints, discover, manage, and monitor the status of nodes, and clean up locally cached container images.
[0072] The kubelet component is mainly responsible for the full life cycle management of pods on this node, including creation, modification, monitoring, and deletion. At the same time, Kubelet regularly reports the status information of this node to the API Server.
[0073] The kube-proxy component is mainly used to implement service proxy and software mode load balancing.
[0074] The docker component is the container's operating environment.
[0075] 2. Network Function Virtualization (NFV)
[0076] NFV is a technology that telecom network operators can use to learn from virtualization technology in the field of information technology (IT) to decouple the implementation of some telecom network functions (for example, core network functions) by software and hardware in general servers, switches and storage, thereby achieving rapid and efficient deployment and operation of network services (NS), while achieving the goal of saving network investment costs and operations.
[0077] The NFV industry standards group under the European Telecommunications Standards Institute (ETSI) defines standardized functions for NFV management and orchestration (MANO) management containers, such as Figure 2 shown. Figure 2 The following is a diagram of the NFV system architecture. The management plane functions in the NFV system are introduced below.
[0078] (1) Container infrastructure service management (CISM), also known as container as a service (CaaS) management, is primarily responsible for managing the container objects invoked by containerized virtualized network functions (VNFs). For example, CISM can be responsible for creating, updating, and deleting container objects, as well as scheduling container objects to corresponding node resources (e.g., computing, storage, or network) in the container cluster node resource pool it manages. In the ETSI NFV standard, the concept corresponding to a container object is a managed container infrastructure object (MCIO).
[0079] (2) Container infrastructure service cluster management (CCM) is mainly responsible for managing the container cluster. For example, CCM can be responsible for creating the node resource pool used by the container cluster, expanding the node resource pool used by the container cluster, and shrinking the node resource pool used by the container cluster. Among them, the container cluster can be managed by a monitoring and management system (for example, Figure 1 Kubernetes master in ) and a set of compute nodes (e.g., Figure 1 A node in a container cluster can be a collection of physical servers, bare metal (BM), or virtual machines (VM). A container cluster is a dynamic system in which multiple containers can be deployed. The status of these containers and the communication between them can be monitored by the system. In the ETSI NFV standard, the concept corresponding to a container cluster is a container infrastructure service (CIS) cluster.
[0080] A containerized VNF can be understood as a containerized workload that encapsulates Network Function Virtualization Infrastructure (NFVI) resources such as compute, storage, or networking. The container objects invoked by the workload are scheduled to run on the nodes of the container cluster. The container cluster is a node loaded with images of CISM instances (CaaS management plane functions, such as the Kubernetes master) or CIS instances (CaaS user plane functions, such as the kubelet component, kube-proxy component, and docker component on the Kubernetes worker node).
[0081] In the ETSI NFV standard, the CISM within each container cluster provides management functions such as namespace creation, query, update, and deletion (CRUD). A namespace is a logical grouping consisting of a specific set of identifiers, resources, policies, and authorizations, and functions similarly to a folder in a server.
[0082] It should be pointed out that with the development of container technology, the node environment for container deployment has evolved from virtual machine nodes to bare metal nodes. Figure 2 The coexistence of virtual machine nodes and bare metal nodes is used as an example.
[0083] (3) The virtualized network function manager (VNFM) can implement the lifecycle management of VNFs, including the management of virtualized network function descriptors (VNFDs), VNF instantiation, elastic scaling of VNF instances (including scaling out / up and scaling in / down), healing of VNF instances, and termination of VNF instances.
[0084] (4) Network Functions Virtualization Orchestrator (NFVO) can manage and process network service descriptors (NSDs), virtual network function forwarding graphs (VNFFGs), manage network service lifecycles, and work with VNFM to manage VNF lifecycles and provide a global view of virtual resources. NFVO can also create multiple namespaces within a container cluster, using namespaces to isolate resources and identities for container objects within multiple tenants (i.e., containerized VNFs) within the container cluster.
[0085] (5) The virtualized infrastructure manager (VIM) is primarily responsible for managing virtualized resources (including reservation and allocation), monitoring virtualized resource status, and reporting faults. The physical infrastructure manager (PIM) is primarily responsible for managing physical infrastructure (including reservation and allocation). It should be noted that the VIM and PIM can be deployed independently or co-located without restriction. Figure 2 VIM / PIM is used as an example.
[0086] 3. Containers and operating systems
[0087] Containers are different from hardware virtualization technology. They do not have virtualized hardware, only processes inside, and do not provide an operating system. Instead, they isolate different processes through operating system isolation technology, so that different processes have independent system resources and resource quotas. The kernel of the operating system can be shared by different processes. Specifically, the kernel of the operating system can be called by multiple container applications through interfaces (for example, application binary interface (ABI) and / or application programming interface (API)). The operating system provides a large number of interfaces for container calls. Only when the interfaces provided by the operating system can fully meet the interface requirements of the container application calls can the container run sequentially on the operating system, that is, the container and the operating system are compatible with each other. Figure 3 A diagram showing the relationship between a container and an operating system is shown. Figure 3 In Kubernetes, the container (or container application) calls the operating system through the ABI or API.
[0088] The rapid development of infrastructure (for example, cloud infrastructure) has made it possible for developers to deploy container applications. However, with the increasing number of infrastructure vendors, different infrastructure vendors can provide different operating systems, which may lead to compatibility issues between container applications and the operating systems provided by different infrastructure vendors.
[0089] For example, the container image's "curl" command, used for remote data transmission, relies on the clone3 syscall (a type of ABI interface). Due to changes to the clone3 syscall in the Linux kernel version 5.10, security tools must be rewritten to enable operating systems with kernel versions of Linux 5.10 (or later) to provide ABI / API support for calling this command. This means that the clone3 syscall relies on operating systems with kernel versions of Linux 5.10 (or later). However, if the container image or operating system is not modified, a container application (for example, one that relies on the "curl" command) that originally ran properly on an operating system with kernel version Linux 5.9 will no longer run properly when the operating system's kernel version is updated to Linux 5.10 (or later), resulting in compatibility issues between the container and the operating system.
[0090] Currently, before loading the operating system, container application vendors and infrastructure vendors need to conduct manual inspections and multiple coordinations (for example, repeated negotiations between the two parties during their respective deployment and upgrade processes) to load an operating system that meets compatibility requirements for container applications on the infrastructure. The entire process relies on manual operations and is highly complex.
[0091] In view of this, embodiments of the present application provide a container management method, device, and system that can install an operating system that meets compatibility requirements on infrastructure with minimal manual operation, reducing reliance on manual operations and lowering complexity. The method and device described in this application are based on the same technical concept. Since the method and device solve similar problems, the implementation of the device and method can refer to each other, and any repetitions will not be repeated.
[0092] In the embodiments of the present application, "multiple" may refer to two or more. In view of this, in the embodiments of the present application, "multiple" may also be understood as "at least two". "At least one" may be understood as one or more, for example, one, two or more. For example, "including at least one" means including one, two or more. For example, including at least one of A, B and C, then included may be A, B, C, A and B, A and C, B and C, or A, B and C. "And / or" describes the association relationship of associated objects. Specifically, there may be three relationships. For example, A and / or B may represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / ", unless otherwise specified, generally indicates that the previous and subsequent associated objects are in an "or" relationship.
[0093] In addition, the terms "system" and "network" in the embodiments of the present application may be used interchangeably, and "according to" and "based on" may be used interchangeably.
[0094] In the embodiments of this application, ordinal numbers such as "first" and "second" are generally used to distinguish different objects and are not used to define the order, sequence, priority, or importance of multiple objects. For example, in the embodiments of this application, "first manager" and "second manager" are used to distinguish two managers and do not define the priority or importance of the two managers.
[0095] The embodiments of the present application are applied to the field of communication technology. Specifically, the embodiments of the present application can be applied to the telecommunications cloud field, mainly serving the container cluster management and orchestration (for example, container cluster bare metal node management and orchestration) of the mobile communications core network domain, and can also serve the wireless access network, edge computing, data center, or intelligent computing center domains in the telecommunications network. It can also serve the container cluster management and orchestration (for example, container cluster bare metal node management and orchestration) related to the telecommunications network based on public cloud, private cloud, or local computer.
[0096] Before introducing the methods provided in the embodiments of the present application, the system provided in the embodiments of the present application will be introduced. The embodiments of the present application will be presented around a system including multiple devices, components, modules, etc. It should be understood that the system may include other devices, components, modules, etc. not mentioned, or may only include some of the devices, components, or modules mentioned in the embodiments, without limitation.
[0097] Figure 4 A container management system provided by an embodiment of the present application is shown. The container management system may include a first manager, or a second manager, or both. Figure 4 In the figure, a container management system including a first manager and a second manager is used as an example.
[0098] The first manager may also be referred to as a cloud manager, etc. The specific naming of the first manager is not limited in the embodiments of the present application. The first manager may obtain requirements and communicate with the second manager, etc. The requirements may be compatibility requirements, or other requirements, without limitation. The compatibility requirements may, for example, be compatibility requirements of applications for operating systems, or compatibility requirements of applications for software, or compatibility requirements of applications for other things, without limitation. The application may be a container application, or other application, without limitation. For example, the compatibility requirements may be compatibility requirements of container applications for operating systems. Optionally, the operating system may be a general-purpose operating system, or a real-time operating system, or a security-reinforced operating system, without limitation. For another example, the compatibility requirements may be compatibility requirements of container applications for software running on the infrastructure. The software may, for example, be a Kubernetes management system, hardware firmware, driver, software framework, or runtime, without limitation.
[0099] It should be noted that the embodiments of this application do not limit the specific content of the requirements. For ease of understanding, the following description uses the requirement of compatibility of the container application with the operating system (e.g., the first requirement, i.e., the first requirement is the compatibility requirement of the container application with the operating system) as an example. It should be understood that the methods provided in the embodiments of this application are also applicable to scenarios with other requirements. For example, the first requirement in the following description can be replaced with other requirements.
[0100] In one embodiment, the first manager may be a VNFM, or a device including a VNFM, or a component within a VNFM (e.g., a system on a chip or a functional module), without limitation. In another embodiment, the first manager may be a CCM, or a device including a CCM, or a component within a CCM (e.g., a system on a chip or a functional module), without limitation. In yet another embodiment, the first manager may be an NFVO, or a device including an NFVO, or a component within an NFVO (e.g., a system on a chip or a functional module), without limitation.
[0101] The second manager, which may also be referred to as an infrastructure manager, is not limited in this embodiment of the present application. The second manager can communicate with the first manager and load an operating system or software onto the infrastructure. In this embodiment of the present application, the second manager can load an operating system or software that meets requirements. For example, the second manager can load an operating system or software that meets compatibility requirements.
[0102] In one embodiment, the second manager may be a VIM, or a device including a VIM, or a component within a VIM (e.g., a chip system or a functional module), without limitation. In another embodiment, the second manager may be a PIM, or a device including a PIM, or a component within a PIM (e.g., a chip system or a functional module), without limitation. In yet another embodiment, the second manager may be both a VIM and a PIM, or may have the functionality of both a VIM and a PIM, or may be two independent managers, namely, a VIM and a PIM.
[0103] The term "infrastructure" may also be referred to as "infrastructure resources" or "infrastructure resource instances," without limitation. The infrastructure may be cloud infrastructure, such as a server equipped with a central processing unit (CPU) or a bare metal server equipped with a data processing unit (DPU). The DPU is a dedicated processor with a data-centric architecture that uses software-defined technology to support virtualization of infrastructure-layer resources and provide infrastructure-layer services such as storage, security, and quality of service management. It is designed for data-centric computing.
[0104] Optionally, the container management system may further include an orchestrator, Figure 4, shown by a dotted line. The orchestrator may also be referred to as a cloud service orchestrator or a multi-cloud service orchestrator, etc., and the present embodiment of the application does not limit the specific naming of the orchestrator. For example, the orchestrator may obtain a requirement and send the requirement to the first manager, etc. The requirements are described above and will not be repeated here.
[0105] In one embodiment, the orchestrator may be an NFVO, or may be a device including an NFVO, or may be a component in the NFVO (e.g., a chip system, or a functional module, etc.), without limitation.
[0106] For VNFM, CCM, VIM, PIM, and NFVO, please refer to the above Figure 2 The relevant content in will not be repeated here.
[0107] The above introduces the system provided by the embodiment of the present application, and the following introduces the method provided by the embodiment of the present application.
[0108] Figure 5 A flow chart of a container management method provided by an embodiment of the present application is shown. The method can be applied to Figure 4 The container management system shown in Figure 5 As shown, the method may include the following contents.
[0109] S501: A first manager obtains a first requirement.
[0110] For example, the first manager may obtain application information, including the first requirement. The application information may be obtained by the first manager itself, from an orchestrator, or manually written. The embodiments of the present application do not limit the specific implementation process of the first manager obtaining the first requirement.
[0111] In the embodiment of the present application, the first requirement is the compatibility requirement of the container application with the operating system. The number of the container application can be one or more, without limitation. It should be understood that the first requirement can also be other requirements, or the first requirement can also be replaced by other requirements. For details, please refer to Figure 4 Correspondingly, the first manager obtaining the first requirement can be replaced by: the first manager obtaining the first requirement of the container application.
[0112] Exemplarily, the first requirement may include first identification information of an operating system that meets the compatibility requirements; or, the first requirement may include first information of an interface that the operating system that meets the compatibility requirements needs to support; or, the first requirement may include second identification information of the kernel of the operating system that meets the compatibility requirements; or, the first requirement may include first identification information of the operating system that meets the compatibility requirements and first information of an interface that the operating system that meets the compatibility requirements needs to support, or include first identification information of the operating system that meets the compatibility requirements and second identification information of the kernel of the operating system that meets the compatibility requirements; or, the first requirement may include first information of an interface that the operating system that meets the compatibility requirements needs to support and second identification information of the kernel of the operating system that meets the compatibility requirements; or, the first requirement may include first identification information of the operating system that meets the compatibility requirements, first information of an interface that the operating system that meets the compatibility requirements needs to support, and second identification information of the kernel of the operating system that meets the compatibility requirements. The embodiments of the present application do not limit the specific implementation form of the first requirement.
[0113] The first identification information of the operating system may be one or more version numbers of the operating system, or may be capability information of the operating system, without limitation. The first information of the interface that the operating system needs to support may be ABI information, or may be API information, or may be both ABI information and API information, without limitation. The second identification information of the kernel of the operating system may be one or more version numbers of the kernel of the operating system, without limitation.
[0114] For example, the first identification information of the operating system that meets the compatibility requirements is recorded as osCompatibility, the first information of the interface that the operating system that meets the compatibility requirements needs to support is recorded as abiRequiremnet, and the second identification information of the kernel of the operating system that meets the compatibility requirements is recorded as linuxCoreVersion. The osCompatibility can include SUSE_OS_17, Ubuntu_10, PHOTON_OS_4, and PHOTON_OS_5, that is, the version numbers of the operating system adapted to the container application are SUSE_OS_17, Ubuntu_10, PHOTON_OS_4, and PHOTON_OS_5; the abiRequiremnet can include clock_gettime64, clone, and Clone3, that is, the ABI interfaces required to be provided by the operating system include clock_gettime64, clone, and Clone3; the linuxCoreVersion can include 5.19, 6.0, and 6.1, that is, the Linux kernel version numbers of the operating system adapted to the container application include 5.19, 6.0, and 6.1, as shown in Table 1. It should be understood that the data in Table 1 are only examples and are not limited thereto.
[0115] Table 1
[0116]
[0117] S502: The first manager sends a second requirement to the second manager according to the first requirement.
[0118] Accordingly, the second manager receives the second demand from the first manager.
[0119] Exemplarily, after the first manager obtains the first requirement, it can send the second requirement to the second manager based on the first requirement. For example, the first manager can translate the first requirement to obtain the second requirement and send the second requirement to the second manager. The second requirement can cover the first requirement, or the content of the second requirement can cover the first requirement, or satisfying the second requirement is equivalent to satisfying the first requirement. The first manager translates the first requirement to obtain the second requirement, which can be understood as: the first manager translates the first requirement into a requirement that can be recognized (or interpreted) by the second manager; or it can also be understood as: the first manager translates the first requirement into a requirement for the second manager; or it can also be understood as: the first manager determines (or generates) the second requirement based on the first requirement.
[0120] The second requirement may be a compatibility requirement of the container application for the operating system. Alternatively, it may be expressed as follows: the second requirement may be a requirement determined (or sent) based on the first requirement. Alternatively, it may be expressed as follows: the second requirement may be used to load an operating system that meets the first requirement on the infrastructure. Alternatively, it may be expressed as follows: the second requirement may be used to load an operating system that is compatible with the container application on the infrastructure. Alternatively, it may be expressed as follows: the second requirement may be used to load an operating system that is adapted to the container application on the infrastructure. The infrastructure may be, for example, a server equipped with a CPU, or a bare metal server equipped with a DPU, etc., without limitation.
[0121] Exemplarily, the second requirement may include third identification information of the operating system that meets the compatibility requirement; or, the second requirement may include second information of the interface that the operating system that meets the compatibility requirement needs to support; or, the second requirement may include fourth identification information of the kernel of the operating system that meets the compatibility requirement; or, the second requirement may include the third identification information of the operating system that meets the compatibility requirement and the second information of the interface that the operating system that meets the compatibility requirement needs to support, or include the third identification information of the operating system that meets the compatibility requirement and the fourth identification information of the kernel of the operating system that meets the compatibility requirement; or, the second requirement may include the second information of the interface that the operating system that meets the compatibility requirement needs to support and the fourth identification information of the kernel of the operating system that meets the compatibility requirement; or, the second requirement may include the third identification information of the operating system that meets the compatibility requirement, the second information of the interface that the operating system that meets the compatibility requirement needs to support, and the fourth identification information of the kernel of the operating system that meets the compatibility requirement. The embodiments of the present application do not limit the specific implementation form of the second requirement.
[0122] The third identification information of the operating system may be one or more version numbers of the operating system, or may be capability information of the operating system, without limitation. The second information of the interface that the operating system needs to support may be ABI information, or may be API information, or may be both ABI information and API information, without limitation. The fourth identification information of the kernel of the operating system may be one or more version numbers of the kernel of the operating system, without limitation.
[0123] In one embodiment, the content of the first requirement and the content of the second requirement can be the same. For example, if the first requirement is the first identification information of an operating system that meets the compatibility requirement, the second requirement can also be the first identification information. For another example, if the first requirement is the second identification information of the kernel of an operating system that meets the compatibility requirement, the second requirement can also be the second identification information. In this case, S502 can also be expressed as: the first manager sends the first requirement to the second manager; accordingly, the second manager receives the first requirement from the first manager.
[0124] In another embodiment, the content of the first requirement may be different from the content of the second requirement. For example, the first requirement may be the first information of the interface that the operating system that meets the compatibility requirement needs to support, and the second requirement may be the fourth identification information of the kernel of the operating system that meets the compatibility requirement, and the operating system corresponding to the fourth identification information supports the interface indicated by the first information. For another example, the first requirement may be the second identification information of the kernel of the operating system that meets the compatibility requirement, and the second requirement may be the third identification information of the operating system that meets the compatibility requirement, and the operating system indicated by the third identification information supports the kernel indicated by the second identification information.
[0125] As an example, assuming that the first requirement is the first information of the interface that the operating system that meets the compatibility requirement needs to support, and the first information includes interface 1 and interface 2, then the second requirement can be the third identification information of the operating system that meets the compatibility requirement, and the third identification information can include operating system 1, operating system 2 and operating system 3, and operating system 1, operating system 2 and operating system 3 all support interface 1 and interface 2.
[0126] As another example, assuming that the first requirement is the second identification information of the kernel of the operating system that meets the compatibility requirement, and the second identification information includes the kernel version 1 and kernel version 2 of the operating system, then the second requirement can be the third identification information of the operating system that meets the compatibility requirement, and the third identification information can include operating system 1, and operating system 1 supports kernel version 1 and kernel version 2.
[0127] S503: The second manager determines the first operating system on the infrastructure according to the second requirement.
[0128] The first operating system meets the second requirement. The second requirement is a requirement sent based on the first requirement, so the first operating system also meets the first requirement. In other words, the first operating system is compatible with container applications, or the first operating system is adaptable to container applications. Accordingly, the third identification information includes the identification information of the first operating system, or the identification information of the first operating system belongs to the third identification information. Alternatively, the information of the interface supported by the first operating system includes the second information, or the second information belongs to the information of the interface supported by the first operating system. Alternatively, the fourth identification information includes the identification information of the kernel of the first operating system, or the identification information of the kernel of the first operating system belongs to the fourth identification information.
[0129] It should be noted that the number of operating systems that meet the second requirement can be one or more. If there is only one operating system that meets the second requirement, the first operating system is that one operating system. If there are multiple operating systems that meet the second requirement, the first operating system is one of the multiple operating systems. This embodiment of the application does not limit the specific implementation process of the second manager determining the first operating system from the multiple operating systems that meet the second requirement.
[0130] In one possible implementation, the second manager may determine whether an operating system that meets the second requirement has been loaded on the infrastructure, such as Figure 6 For example, the second manager may check whether the operating system already loaded on the infrastructure meets the second requirement. If the second manager determines that the operating system that meets the second requirement has been loaded on the infrastructure according to the second requirement, the second manager determines that the operating system loaded on the infrastructure is the first operating system, as shown in S601 of FIG. Figure 6 If the second manager determines that the infrastructure does not have an operating system that meets the second requirement, the second manager may load the first operating system on the infrastructure according to the second requirement, as shown in S602. Figure 6 As shown in S604 in FIG. Figure 6 A schematic diagram of a process for determining a first operating system provided in an embodiment of the present application.
[0131] Optionally, the second manager may also determine whether the infrastructure supports loading an operating system that meets the second requirement, or in other words, the second manager may also determine whether the infrastructure supports loading a first operating system, such as Figure 6 If the second manager determines that the infrastructure supports loading the first operating system, the second manager can load the first operating system on the infrastructure according to the second requirement, as shown in S603. Figure 6 If the second manager determines that the infrastructure does not support loading the first operating system, the process ends. S603 is an optional step. Figure 6 Indicated by dotted line.
[0132] Optionally, the second manager determines that the infrastructure does not support loading the first operating system. The second manager may send a second message to the first manager. The second message (or information included in the second message) may be used to indicate that the infrastructure does not support loading the operating system that meets the second requirement, or the second message (or information included in the second message) may be used to indicate that loading of the operating system that meets the second requirement has failed. Figure 6 Not shown.
[0133] It should be noted that S603 can be executed after S601 or before S601, without limitation. For example, the second manager can first determine whether the infrastructure supports the installation of an operating system that meets the second requirement. If it is determined that the infrastructure supports the installation of an operating system that meets the second requirement, it can then determine whether the infrastructure has already installed the operating system that meets the second requirement.
[0134] S504: The second manager sends a first message to the first manager.
[0135] Accordingly, the first manager receives the first message from the second manager.
[0136] S504 is an optional step. Figure 5 Indicated by dotted lines. The first message may be used to indicate that the first operating system has been loaded (or successfully); or, the first message may be used to indicate that the operating system that meets the second requirement has been loaded (or successfully); or, the first message may be used to indicate that the first operating system has been loaded; or, the first message may be used to indicate that the operating system that meets the second requirement has been loaded. Alternatively, the first message may include information about the first operating system, and the information about the first operating system may be used to indicate that the first operating system has been loaded (or successfully), or the information about the first operating system may be used to indicate that the first operating system has been loaded.
[0137] exist Figure 5 In the illustrated embodiment, the first manager sends a second requirement to the second manager based on the first requirement, enabling the second manager to load the first operating system that meets the second requirement on the infrastructure. Since the second requirement is sent based on the first requirement, the first operating system also meets the first requirement, that is, the first operating system loaded by the second manager based on the second requirement is compatible with the container application. Compared with solving the compatibility problem between the container application and the operating system through manual inspection and multiple negotiations, the above embodiment can load the operating system that meets the compatibility requirements on the infrastructure with less manual operation, with a higher degree of automation, which can reduce dependence on manual operation and reduce complexity. In addition, the embodiment of the present application loads the operating system that meets the compatibility requirements on the infrastructure with less manual intervention, which can reduce the problem of deployment failure caused by a large amount of infrastructure resources that pre-load a certain operating system due to the incompatibility of the operating system with subsequent container applications, thereby reducing the waste of infrastructure resources.
[0138] As mentioned in S501, the first requirement may come from the orchestrator. That is, the orchestrator sends the first requirement to the first manager; accordingly, the first manager receives the first requirement. In one possible implementation, the orchestrator may send the first requirement to the first manager in the scenario of creating a VNF. For example, the first requirement may be included (or carried) in a virtualized network function descriptor (VNFD). Figure 7 This implementation method is introduced.
[0139] Figure 7 The flowchart of a container management method provided by an embodiment of the present application is shown. This embodiment is a VNF creation scenario, the orchestrator is NFVO, the first manager is VNFM, and the second manager is VIM and / or PIM. Figure 7 In the example, the second manager is VIM. Figure 7 As shown, the method may include the following contents.
[0140] S701: NFVO sends VNFD to VNFM. Correspondingly, VNFM receives VNFD from NFVO.
[0141] The VNFD includes a first requirement, which is the compatibility requirement of the container application for the operating system. For details, please refer to S501 and will not be repeated here.
[0142] S702: The NFVO sends a first request message to the VNFM. Correspondingly, the VNFM receives the first request message from the NFVO.
[0143] The first request message can be used to request the creation (or launch, or initialize) of a VNF, or the first request message can be used to request the creation (or launch, or initialize) of a VNF instance. The VNF instance may include one or more container applications. The one or more container applications include the container application involved in the first requirement, that is, the VNF instance includes the container application involved in the first requirement. It should be noted that the embodiment of the present application does not limit the execution order of S701 and S702. For example, the first request message may carry the first requirement.
[0144] S703: The VNFM translates the first requirement to obtain a second requirement.
[0145] Please refer to the above content for the description of the second requirement, which will not be repeated here. S703 is an optional step. Figure 7 Indicated by dotted line.
[0146] S704: The VNFM sends the second requirement to the VIM. Correspondingly, the VIM receives the second requirement from the VNFM.
[0147] S705: The VIM determines a first operating system on the infrastructure according to the second requirement. The first operating system meets the second requirement.
[0148] For the specific implementation process of S705, please refer to the content of S503 and will not be repeated here.
[0149] S706: The VIM sends a first message to the VNFM. Correspondingly, the VNFM receives the first message from the VIM.
[0150] S706 is an optional step. Figure 7 The first message may be used to indicate that the first operating system has been loaded. For details, please refer to the relevant content in S504, which will not be described in detail.
[0151] S707: The VNMF sends a second request message to the CISM. Accordingly, the CISM receives the second request message from the VNFM. The second request message may be used to request the launch (or creation, or initialization) of a VNF, or the second request message may be used to request the launch (or creation, or initialization) of a VNF instance. Optionally, the second request message may include information such as a software image or package format related to the VNF, without limitation.
[0152] S708: The CISM sends a third message to the VNMF. Correspondingly, the VNMF receives the third message from the CISM.
[0153] The third message can be used to indicate the success or failure of the VNF pull-up. In the embodiment of the present application, the third message is used to indicate the success of the VNF pull-up. For example, in response to the second request message, the CISM can pull up the VNF or VNF instance on the resource instance and send the third message to the VNMF.
[0154] S709: The VNFM sends a fourth message to the NFVO. Correspondingly, the NFVO receives the fourth message from the VNFM.
[0155] The fourth message can be used to indicate the success or failure of the VNF pull-up. In this embodiment of the application, the fourth message is used to indicate the success of the VNF pull-up. For example, the VNFM can send the fourth message to the VFVO based on the third message.
[0156] exist Figure 7In the illustrated embodiment, the orchestrator may send a first requirement to the first manager in the scenario of creating a VNF. In another possible implementation, the orchestrator may also send the first requirement to the first manager in the scenario of creating a container cluster. For example, the first requirement may be included (or carried) in a container cluster descriptor (container infrastructure service cluster descriptor, CCD), or the first requirement may also be included (or carried) in a container cluster node descriptor (container infrastructure service cluster nodedescriptor, CCND). Optionally, the container cluster node descriptor may also be referred to as a container cluster node template. In conjunction with Figure 8 This implementation method is introduced.
[0157] Figure 8 The flowchart of a container management method provided by an embodiment of the present application is shown. This embodiment is a container cluster creation scenario, the orchestrator is NFVO, the first manager is CCM, the second manager is VIM and / or PIM, Figure 8 In the example, the second manager is PIM. Figure 8 As shown, the method may include the following contents.
[0158] S801: The NFVO sends a CCD to the CCM. Correspondingly, the CCM receives the CCD from the NFVO.
[0159] The CCD includes a first requirement, which is the compatibility requirement of the container application with the operating system. For details, please refer to S501 and will not be repeated here. It is understood that the CCD can be replaced with a CCND. Specifically, the NFVO sends a CCND to the CCM, which includes the first requirement; in return, the CCM receives the CCND from the NFVO.
[0160] S802: The NFVO sends a third request message to the CCM. Correspondingly, the CCM receives the third request message from the NFVO.
[0161] The third request message may be used to request the creation (or startup, or initialization) of a container cluster, which is the operating environment of the container application involved in the first requirement. For details, please refer to Figure 2 The relevant content in will not be repeated here.
[0162] It should be noted that the embodiment of the present application does not limit the execution order of S801 and S802. For example, the third request message may carry the first requirement.
[0163] S803: The CCM translates the first requirement to obtain a second requirement.
[0164] Please refer to the above content for the description of the second requirement, which will not be repeated here. S803 is an optional step. Figure 8 Indicated by dotted line.
[0165] S804: The CCM sends a second requirement to the PIM. Correspondingly, the VIM receives the second requirement from the VNFM.
[0166] S805: The PIM determines a first operating system on the infrastructure according to the second requirement. The first operating system meets the second requirement.
[0167] For the specific implementation process of S805, please refer to the content of S503 and will not be repeated here.
[0168] S806: The PIM sends a first message to the CCM. Correspondingly, the CCM receives the first message from the PIM.
[0169] S806 is an optional step. Figure 8 The first message may be used to indicate that the first operating system has been loaded. For details, please refer to the relevant content in S504, which will not be described in detail.
[0170] S807: The CCM sends a fifth message to the NFVO. Correspondingly, the NFVO receives the fifth message from the CCM.
[0171] The fifth message can be used to indicate the success or failure of the container cluster pull-up. This embodiment of the application uses the fifth message as an example to indicate the success of the container cluster pull-up. In addition, this embodiment of the application does not limit the specific implementation process of pulling up the container cluster.
[0172] In the embodiments provided in the present application, the methods provided in the embodiments of the present application are introduced from the perspective of the interaction between the first manager and the second manager. Among them, the steps performed by the manager (for example, the first manager or the second manager) can be implemented by different functional entities that constitute the manager. The manager (for example, the first manager or the second manager) may include a hardware structure and / or a software module to implement the above-mentioned functions in the form of a hardware structure, a software module, or a hardware structure plus a software module. Whether one of the above-mentioned functions is executed in the form of a hardware structure, a software module, or a hardware structure plus a software module depends on the specific application and design constraints of the technical solution.
[0173] The following describes the container management device used to implement the above method in the embodiment of the present application with reference to the accompanying drawings. Therefore, the above content can be used in subsequent embodiments, and repeated content will not be repeated.
[0174] Figure 9The schematic diagram of the structure of a container management device 900 is exemplarily shown. The container management device 900 can implement the functions or steps implemented by the first manager or the second manager in the above-mentioned various method embodiments.
[0175] In one embodiment, the container management device 900 may include a processing module 901 and a transceiver module 902. The processing module 901 may be used to perform data processing, such as executing the various method embodiments described above. The processing module 901 may also be referred to as a processing unit. The processing module 901 may be implemented by at least one processor or processor-related circuitry. The transceiver module 902 may be used to implement corresponding communication functions, such as receiving or sending relevant data, information, or messages. The transceiver module 902 may also be referred to as a communication interface, a communication module, or a transceiver unit. The transceiver module 902 may be implemented by a transceiver or transceiver-related circuitry.
[0176] It should be noted that the container management device 900 may include the processing module 901 but not the transceiver module 902. Alternatively, the container management device 900 may include the transceiver module 902 but not the processing module 901. The specific implementation depends on whether the above-mentioned solution executed by the container management device 900 includes both processing and transceiver actions.
[0177] Optionally, the transceiver module 902 may include a sending module and a receiving module. The sending module is used to perform the sending operation in the above method embodiment. The receiving module is used to perform the receiving operation in the above method embodiment.
[0178] It should be noted that the container management device 900 may include a sending module but not a receiving module. Alternatively, the container management device 900 may include a receiving module but not a sending module. The specific implementation depends on whether the above-mentioned solution executed by the container management device 900 includes both sending and receiving actions.
[0179] Optionally, the container management device 900 may further include a storage module. Figure 9 The storage module may be implemented by at least one memory. The storage module may be used to store instructions and / or data, and the processing module 901 may read the instructions and / or data in the storage module to enable the container management device 900 to implement the aforementioned method embodiment.
[0180] Optionally, the container management device 900 may be a system-on-a-chip (SoC). The SoC may consist of a single chip, or may include a chip and other discrete components, without limitation. The transceiver module 902 may be the input and output interface of a chip (e.g., a baseband chip). The processing module 901 may be the processor of the SoC.
[0181] In one example, the container management device 900 is a first manager, which can specifically execute the following contents: the processing module 901 is used to obtain a first requirement of the container application, which is the compatibility requirement of the container application for the operating system; and the transceiver module 902 is used to send a second requirement to the second manager based on the first requirement, which is used to load the first operating system on the infrastructure, and the first operating system meets the second requirement.
[0182] In one possible implementation, the first requirement may include one or more of the following: first identification information of the operating system that meets the compatibility requirement, first information of the interface that the operating system that meets the compatibility requirement needs to support, or second identification information of the kernel of the operating system that meets the compatibility requirement.
[0183] In one possible implementation, the second requirement may include one or more of the following: third identification information of the operating system that meets the compatibility requirement, second information of the interface that the operating system that meets the compatibility requirement needs to support, or fourth identification information of the kernel of the operating system that meets the compatibility requirement. The third identification information includes the identification information of the first operating system, or the fourth identification information includes the identification information of the kernel of the first operating system, or the information of the interface of the first operating system includes the second information. In other words, the identification information of the first operating system belongs to the third identification information, or the identification information of the kernel of the first operating system belongs to the fourth identification information, or the second information belongs to the information of the interface of the first operating system.
[0184] In a possible implementation, when obtaining the first requirement of the container application, the processing module 901 is specifically configured to: the first manager receives the first requirement from the orchestrator.
[0185] In a possible implementation, the first requirement may be included in a virtual network function descriptor, or the first requirement may also be included in a container cluster descriptor, or the first requirement may also be included in a container cluster node descriptor.
[0186] In a possible implementation, the first manager may be a virtual network function manager, or a container cluster manager, and the second manager may be a physical infrastructure manager, or a virtualized infrastructure manager.
[0187] In a possible implementation, the transceiver module 902 is further configured to receive a first message from the second manager, where the first message is used to indicate that loading of the first operating system is complete.
[0188] In a possible implementation, the processing module 901 is further configured to translate the first requirement to obtain the second requirement.
[0189] In another example, the container management device 900 is a second manager, which can specifically execute the following contents: the transceiver module 902 is used to receive a second requirement from the first manager, where the second requirement is the compatibility requirement of the container application for the operating system, or the second requirement is a requirement determined based on the first requirement, where the first requirement is the compatibility requirement of the container application for the operating system; and the processing module 901 is used to determine the first operating system on the infrastructure according to the second requirement, and the first operating system meets the second requirement.
[0190] In one possible implementation, the second requirement may include one or more of the following: third identification information of the operating system that meets the compatibility requirement, second information of the interface that the operating system that meets the compatibility requirement needs to support, or fourth identification information of the kernel of the operating system that meets the compatibility requirement. The third identification information includes the identification information of the first operating system, or the fourth identification information includes the identification information of the kernel of the first operating system, or the information of the interface of the first operating system includes the second information. In other words, the identification information of the first operating system belongs to the third identification information, or the identification information of the kernel of the first operating system belongs to the fourth identification information, or the second information belongs to the information of the interface of the first operating system belongs to the second information.
[0191] In one possible implementation, the processing module 901 is further configured to determine, based on the second requirement, that the first operating system is on the infrastructure. Specifically, the second manager may determine, based on the second requirement, that the operating system already loaded on the infrastructure is the first operating system; or, the second manager may determine that an operating system meeting the second requirement is not loaded on the infrastructure, and load the first operating system on the infrastructure based on the second requirement.
[0192] In a possible implementation, the processing module 901 is further configured to determine, based on the second requirement, whether the infrastructure supports loading the first operating system.
[0193] In a possible implementation, the first manager may be a virtual network function manager, or a container cluster manager, and the second manager may be a physical infrastructure manager, or a virtualized infrastructure manager.
[0194] In a possible implementation, the transceiver module 902 is further configured to send a first message to the first manager, where the first message is used to indicate that loading of the first operating system is complete.
[0195] It should be understood that for a more detailed description of the corresponding processes performed by each module, please refer directly to Figures 5 to 8 The relevant description in any method embodiment is directly obtained and is not repeated here for the sake of brevity.
[0196] like Figure 10 As shown, an embodiment of the present application provides a schematic structural diagram of a container management device 1000. Container management device 1000 may include a processor 1020, configured to implement or support the container management device 1000 in implementing the functions of the first manager or the second manager in any of the method embodiments of the present application. For details, please refer to the detailed description of the aforementioned method embodiments and are not further elaborated here. For example, processor 1020 is configured to read and execute program instructions via a communication interface to enable container management device 1000 to implement the corresponding method. Processor 1020 may include one or more processors, without limitation.
[0197] It should be noted that the aforementioned functional modules can be implemented by hardware or a combination of hardware and software, without limitation. Furthermore, when the container management device 1000 includes only the processor 1020 , the container management device 1000 can be a chip or a chip system.
[0198] For example, the container management device 1000 may be a chip system, wherein the chip system may be composed of a chip, or may include a chip and other discrete components, without limitation.
[0199] Optionally, the container management device 1000 may further include a memory 1030 for storing program instructions and / or data. The memory 1030 is coupled to the processor 1020. Coupling can be understood as an indirect coupling or communication connection between devices, units, or modules, and can be electrical, mechanical, or other forms, for information exchange between the devices, units, or modules. The processor 1020 may operate in conjunction with the memory 1030. The processor 1020 and the memory 1030 may be integrated or separately configured.
[0200] Furthermore, the processor 1020 is configured to execute program instructions stored in the memory 1030 to enable the container management apparatus 1000 to implement a corresponding method.
[0201] Among them, one or more memories in the memory 1030 may be included in the processor, and the memory 1030 may also exist independently, such as an off-chip memory, through a communication bus ( Figure 10 The memory 1030 and the processor 1020 may also be integrated together.
[0202] Optionally, the container management device 1000 further includes a communication interface 1010 ( Figure 10(indicated by dashed lines in the figure) is used to communicate with other devices via a transmission medium, thereby enabling devices in container management apparatus 1000 to communicate with other devices. For example, when the container management apparatus is a first manager, the other device may be a second manager, etc. Processor 1020 can use communication interface 1010 to send and receive data. For example, processor 1020 can be used to control communication interface 1010 to receive and / or send signals.
[0203] The communication interface 1010 may be a transceiver. In hardware implementation, the transceiver may be used to implement the functions of the transceiver module 902 . The transceiver is integrated into the container management device 1000 to form the communication interface 1010 .
[0204] It should be pointed out that the communication interface 1010 can have a sending function and a receiving function, and can realize the reception and sending of signals; or it can have a sending function but not a receiving function, and is used to realize the sending of signals; or it can have a receiving function but not a sending function, and is used to realize the reception of signals.
[0205] It should be noted that the specific connection medium between the above-mentioned communication interface 1010, processor 1020 and memory 1030 is not limited in the embodiments of the present application. Figure 10 The memory 1030, processor 1020 and communication interface 1010 are connected via a communication bus 1040. The connection between other components is only for illustrative purposes and is not intended to be limiting. The communication bus 1040 can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 10 Only one thick line is used in the figure, but it does not mean that there is only one communication bus or one type of communication bus.
[0206] In the embodiments of the present application, the processor 1020 may be a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field-programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The general-purpose processor may be a microprocessor or any conventional processor. The methods disclosed in conjunction with the embodiments of the present application may be executed by hardware in the processor, or by a combination of hardware and software in the processor.
[0207] In the embodiment of the present application, the memory 1030 may be a non-volatile memory, such as a hard disk drive (HDD) or a solid-state drive (SSD), or a volatile memory, such as a random-access memory (RAM). The memory may also be any other medium for carrying or storing program code in the form of instructions or data structures and accessible by a computer; or a circuit or any other device capable of performing a storage function, for storing program instructions and / or data.
[0208] For example, the container management device 1000 can obtain a first requirement of the container application, which is the compatibility requirement of the container application for the operating system; and, based on the first requirement, send a second requirement to the second manager, which is used to load the first operating system on the infrastructure, and the first operating system meets the second requirement.
[0209] For another example, the container management device 1000 may receive a second requirement from the first manager, where the second requirement is a compatibility requirement of the container application for the operating system, or the second requirement is a requirement determined based on the first requirement, where the first requirement is a compatibility requirement of the container application for the operating system; and, based on the second requirement, determine a first operating system on the infrastructure, where the first operating system meets the second requirement.
[0210] Based on the same concept, see Figure 11 , an embodiment of the present application also provides an electronic device 1100, including: an input-output interface 1110 and a logic circuit 1120; the input-output interface 1110 is used to receive code instructions and transmit them to the logic circuit 1120; the logic circuit 1120 is used to run code instructions to execute the method executed by the first manager or the second manager in any of the above embodiments.
[0211] For example, the electronic device 1100 may be a first manager or a component of the first manager, or a second manager or a component of the second manager. For example, the electronic device 1100 may implement the functions of the first manager or the second manager in the aforementioned embodiments.
[0212] For example, the electronic device 1100 may obtain a first requirement of the container application, which is the compatibility requirement of the container application for the operating system; and, based on the first requirement, send a second requirement to the second manager, which is used to load the first operating system on the infrastructure, and the first operating system meets the second requirement.
[0213] For another example, the electronic device 1100 may receive a second requirement from the first manager, where the second requirement is a compatibility requirement of the container application for the operating system, or the second requirement is a requirement determined based on the first requirement, where the first requirement is a compatibility requirement of the container application for the operating system; and, based on the second requirement, determine the first operating system on the infrastructure, where the first operating system meets the second requirement.
[0214] Since the electronic device 1100 provided in this embodiment can implement the functions of the first manager or the second manager in the aforementioned embodiments, the technical effects that can be obtained can be referred to the aforementioned method embodiments and will not be described in detail here.
[0215] An embodiment of the present application further provides a computer-readable storage medium, comprising program instructions, which, when executed on a computer, enables the computer to execute the methods or steps of the first manager or the second manager in each of the above embodiments.
[0216] An embodiment of the present application also provides a computer program product, including program instructions, which, when executed on a computer, enables the computer to execute the methods or steps of the first manager or the second manager in the above-mentioned embodiments.
[0217] An embodiment of the present application provides a chip system, which includes a processor for implementing the functions of the first manager or the second manager in the aforementioned method (for example, executing the corresponding method or step). The chip system can be composed of a chip, or can include a chip and other discrete devices.
[0218] Optionally, the chip system further includes a memory for storing program instructions so that the above-mentioned processor reads and executes them to implement the corresponding method.
[0219] It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0220] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0221] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0222] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0223] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0224] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0225] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the part of the technical solution of the present application that contributes essentially or the part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0226] The above description is merely a specific embodiment of the present application, but the scope of protection of the embodiments of the present application is not limited thereto. Any person skilled in the art can easily conceive of changes or substitutions within the technical scope disclosed in the embodiments of the present application, and such changes or substitutions should be included in the scope of protection of the embodiments of the present application. Therefore, the scope of protection of the embodiments of the present application should be based on the scope of protection of the claims.
Claims
1. A container management method, applied to a first manager, characterized in that: The method comprises: Obtaining a first requirement of the container application, where the first requirement is a compatibility requirement of the container application for an operating system; A second requirement is sent to a second manager according to the first requirement, where the second requirement is used to load a first operating system on the infrastructure, and the first operating system meets the second requirement.
2. The method according to claim 1, characterized in that The first requirement includes one or more of the following: first identification information of an operating system that meets the compatibility requirement, first information of an interface that the operating system that meets the compatibility requirement needs to support, or second identification information of a kernel of the operating system that meets the compatibility requirement.
3. The method according to claim 1 or 2, characterized in that The second requirement includes one or more of the following: third identification information of the operating system that meets the compatibility requirement, second information of the interface that the operating system that meets the compatibility requirement needs to support, or fourth identification information of the kernel of the operating system that meets the compatibility requirement; The third identification information includes identification information of the first operating system, or the fourth identification information includes identification information of the kernel of the first operating system, or the second information includes information of an interface of the first operating system.
4. The method according to any one of claims 1 to 3, characterized in that The obtaining of the first requirement of the container application includes: The first requirement is received from the orchestrator.
5. The method according to claim 4, characterized in that The first requirement is included in a virtual network function descriptor, or the first requirement is included in a container cluster descriptor, or the first requirement is included in a container cluster node descriptor.
6. The method according to any one of claims 1 to 5, characterized in that The first manager is a virtual network function manager, or the first manager is a container cluster manager; The second manager is a physical infrastructure manager, or the second manager is a virtualized infrastructure manager.
7. The method according to any one of claims 1 to 6, characterized in that The method further comprises: A first message is received from the second manager, where the first message is used to indicate that loading of the first operating system is complete.
8. The method according to any one of claims 1 to 7, characterized in that The method further comprises: The first requirement is translated to obtain the second requirement.
9. A container management method, applied to a second manager, characterized in that: The method comprises: receiving a second requirement from the first manager, where the second requirement is a compatibility requirement of the container application for the operating system; A first operating system is determined on the infrastructure according to the second requirement, where the first operating system meets the second requirement.
10. The method according to claim 9, characterized in that The second requirement includes one or more of the following: third identification information of the operating system that meets the compatibility requirement, second information of the interface that the operating system that meets the compatibility requirement needs to support, or fourth identification information of the kernel of the operating system that meets the compatibility requirement; The third identification information includes identification information of the first operating system, or the fourth identification information includes identification information of the kernel of the first operating system, or the information of the interface of the first operating system includes the second information.
11. The method according to claim 9 or 10, characterized in that Determining the first operating system on the infrastructure according to the second requirement includes: Determine, according to the second requirement, that the operating system loaded on the infrastructure is the first operating system; or, It is determined that an operating system that meets the second requirement is not loaded on the infrastructure, and the first operating system is loaded on the infrastructure according to the second requirement.
12. The method according to claim 11, characterized in that The method further comprises: According to the second requirement, it is determined that the infrastructure supports loading the first operating system.
13. The method according to any one of claims 9 to 12, characterized in that The first manager is a virtual network function manager, or the first manager is a container cluster manager; The second manager is a physical infrastructure manager, or the second manager is a virtualized infrastructure manager.
14. The method according to any one of claims 9 to 13, characterized in that A first message is sent to the first manager, where the first message is used to indicate that loading of the first operating system is complete.
15. A container management method, applied to a container management system, wherein the container management system includes a first manager and a second manager, characterized in that: The method comprises: The first manager obtains a first requirement of the container application, and sends a second requirement to the second manager according to the first requirement, wherein the first requirement is a compatibility requirement of the container application for the operating system, the second requirement is for loading the first operating system on the infrastructure, and the first operating system meets the second requirement; The second manager receives the second requirement from the first manager and determines the first operating system on the infrastructure according to the second requirement.
16. A container management device, characterized in that: The method comprises modules for executing the method according to any one of claims 1 to 8.
17. A container management device, characterized in that: The method comprises modules for executing the method according to any one of claims 9 to 14.
18. A container management system, characterized in that: The method comprises a first manager and / or a second manager, wherein the first manager is used to execute the method according to any one of claims 1 to 8, and the second manager is used to execute the method according to any one of claims 9 to 14.
19. A computer-readable storage medium, characterized in that The computer-readable storage medium is used to store a computer program, and when the computer program is run on a computer, the computer is caused to perform the method according to any one of claims 1 to 8.
20. A computer-readable storage medium, characterized in that The computer-readable storage medium is used to store a computer program, and when the computer program is run on a computer, the computer is caused to perform the method according to any one of claims 9 to 14.
21. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is run on a computer, the computer is caused to perform the method according to any one of claims 1 to 8 or the method according to any one of claims 9 to 14.
22. A computer program product, characterized in that The computer program product comprises a computer program which, when run on a computer, causes the computer to perform the method according to any one of claims 9 to 14 .