Elastic container instance storage hot update implementation system and device and storage medium
By adopting a heartbeat-based storage hot update architecture in the elastic container instance eci products, the synchronous storage volume update and automation process during container updates is realized, and the problems of complex and low automation of storage hot updates in the existing technology are solved, and other storage types of hot updates are supported.
Patent Information
- Application Number
- CN202411782577.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-05
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2044-12-05
AI Technical Summary
In the elastic container instance eci products, storage volumes cannot be updated synchronously during container updates. Users need to update the storage volume separately and restart the container independently. The storage hot update process is complex and has low automation, and does not support hot update operations of other storage types.
The heartbeat-based storage hot update architecture is adopted, and the synchronous storage volume updates are realized during container updates through the collaborative work of the eci-apiserver control surface component and the eci-agent component. Users only need to call the container group update interface to pass in file information, and the process is automated and hot updates of other storage types are supported.
It realizes synchronous update of storage volumes during container updates, reduces user manual operations, improves the degree of automation, supports hot updates of other storage types, and improves the convenience and efficiency of the system.
Smart Images

Figure CN119759490A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of cloud computing technology, and in particular to a system, device and storage medium for implementing hot update of elastic container instance storage. Background Art
[0002] When using the elastic container instance (eci) product, users need to mount or update file storage when deploying containers;
[0003] Taking the configfile configuration file as an example, if the user wants to change the configuration file mounted by the container and the container automatically reads the file content after updating the configfile, the elastic container instance eci product needs to support the hot update capability of storage; In order to achieve the above purpose, the existing technology uses the elastic container instance ECI product, that is, each container group of the tenant occupies a lightweight virtual machine, and an eci-agent is deployed in the lightweight virtual machine. The eci-agent communicates with the control plane service eci-apiserver through vpce for heartbeat. When the eci-agent finds that an update operation is required, it updates the volume or container; However, the technology of the elastic container instance eci product used in the above solution is not perfect, and there are many shortcomings, as follows:
[0004] 1) When updating a container, the storage volume cannot be updated synchronously. Users need to update the storage volume separately and restart the container operation independently;
[0005] 2) The storage hot update process requires more operation commands to execute and is complex to use;
[0006] 3) The existing technical architecture design has defects and does not support hot update and upgrade operations of other storage types;
[0007] 4) There are many manual operations by users and the degree of automation is low. Summary of the invention
[0008] In order to solve the above technical problems, the present invention provides a system, device and storage medium for implementing hot update of elastic container instance storage. Based on the heartbeat-based storage hot update architecture, the storage volume can be updated synchronously when the container is updated. The user does not need to update the storage volume separately or restart the container autonomously. The whole process of storage hot update is automated. The user only needs to call the container group update interface of eci to pass in relevant file information. The architecture design is easy to expand, which is convenient for subsequent support of hot update operations of other storage types.
[0009] In a first aspect, the present application provides a system for implementing hot update of elastic container instance storage, and the specific solution includes:
[0010] The architecture of the eci-apiserver control plane component;
[0011] When the user calls the container group update interface of eci, the eci-apiserver control plane component changes the eci state to updating and stores the file information to be updated in the cr information;
[0012] The eci-apiserver control plane component is responsible for processing the heartbeat interface, resource synchronization interface and status reporting interface of the eci-agent component;
[0013] As an example, the calling refers to the calling by the user through ctapi or the front-end console.
[0014] As an example, the ctapi refers to: Tianyi Cloud OpenAPI.
[0015] As an example, the file information to be updated includes: configfile and other information.
[0016] As an example, the configfile: configuration file described in the present invention can be understood here to be consistent with the configmap.
[0017] As an example, the eci-apiserver refers to: eci management service, which is used to manage eci instances and is deployed in each resource pool preset area.
[0018] As an example, the eci refers to: a container instance product that supports users to use container services without building a k8s cluster.
[0019] As an example, the cr refers to customResource, which is actually stored in the etcd database, and the etcd database is a kv type database.
[0020] As an example, the eci-agent component is used to manage containers and storage volumes, and communicate with the eci-apiserver through vpce to create and update containers and storage volumes. Each eci instance will create a lightweight virtual machine, and each lightweight virtual machine has an eci-agent.
[0021] As an example, the container group refers to: a group of containers, also called pod in k8s.
[0022] The architecture setting of the eci-agent component;
[0023] Storage hot update mainly depends on the settings of volumeManager, syncLoop and heartBeat modules;
[0024] The heartBeat module:
[0025] Responsible for interacting with the eci-apiserver control plane component. When the eci-agent heartbeat finds that it needs to be updated, it calls syncContainerGroup to synchronize the files to be updated from the eci-apiserver control plane component and stores the configmap file content in the cache.
[0026] The syncLoop module:
[0027] Responsible for consuming pods and writing the pod information into the cached podByUID interface, so that the volumeManager module can subsequently read the pod's volume information and store it in the desired volume information structure desiredVolume;
[0028] The volumeManager module is responsible for comparing the expected volume information structure desiredVolume with the actual information actualVolume on the machine, and when the expected volume information structure desiredVolume is inconsistent with the actual information actualVolume on the machine, updating the file on the lightweight virtual machine;
[0029] When the file on the lightweight virtual machine is updated, it is finally mounted into the container when the container is updated.
[0030] As an example, the desiredVolume refers to expected file directory information, that is, a file directory information that will be rendered according to the user's declaration.
[0031] As an example, the actualVolume refers to: the actual file directory information on the machine, which can be understood as the desiredVolume information of the last update operation.
[0032] As an example, the heartBeat described in the present invention is the eci-agent heartbeat; the volumeManager is the volume manager; and the syncLoop is the queue loop consumption pod.
[0033] In a second aspect, the present invention shows a device for implementing hot update of elastic container instance storage, the device comprising: a processor; a memory for storing processor executable instructions; wherein the processor is configured to execute the system as described in any of the above aspects.
[0034] As an example, the implementation device is: an electronic device.
[0035] In a third aspect, the present application shows a storage medium for implementing hot update of elastic container instance storage. When the instructions in the storage medium are executed by a processor of an electronic device, the electronic device can execute the method in the system described in any of the above aspects.
[0036] As an example, the storage medium is a readable storage medium.
[0037] In a fourth aspect, the present application illustrates a computer program product. When instructions in the computer program product are executed by a processor of an electronic device, the electronic device is enabled to execute a method in a system as described in any of the above aspects.
[0038] Beneficial effects of the present invention:
[0039] 1) The present invention implements the storage hot update technology based on heartbeat in detail, and the scheme design is more detailed and scientific than the prior art.
[0040] 2) When the container is updated, the storage volume can be updated synchronously. Users do not need to update the storage volume separately or restart the container operation independently.
[0041] 3) The elastic container instance product pioneered the heartbeat-based storage hot update capability architecture design, which is more convenient and efficient in solving related technical problems.
[0042] 4) The entire process of hot storage update is automated. Users only need to call the eci container group update interface to pass in relevant file information without having to learn complex program command operations.
[0043] 5) The architecture design is easy to expand, convenient for subsequent support of hot updates of other storage types, and can be upgraded.
[0044] 6) Reduce user manual operations. Only one hot update interface needs to be called, and the subsequent whole process is automated, which reduces the intensity of manual labor. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] FIG. 1( a ) is a schematic diagram of a storage hot update process of a system for implementing storage hot update of an elastic container instance according to the present invention.
[0046] Figure 1(b)-Figure 1(d) It is an enlarged view of each part of Figure 1(a).
[0047] Figure 2 It is a schematic diagram of the architecture of an eci product of an elastic container instance storage hot update implementation system of the present invention.
[0048] Figure 3It is a structural schematic diagram of a device for implementing hot update of elastic container instance storage according to the present invention.
[0049] Figure 4 The present invention is a schematic diagram of a storage medium structure of a device for implementing hot update of elastic container instance storage. DETAILED DESCRIPTION
[0050] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0051] Glossary:
[0052] ctapi: Tianyi Cloud OpenAPI
[0053] eci: container instance product, supports users to use container services without building a k8s cluster
[0054] k8s: kubernetes, or K8s for short, is an abbreviation that uses 8 to replace the eight characters in the middle of the name "ubernete". It is an open source containerized application for managing multiple hosts in a cloud platform. The goal of Kubernetes is to make the deployment of containerized applications simple and powerful. Kubernetes provides a mechanism for application deployment, planning, updating, and maintenance.
[0055] eci-apiserver: eci management service, used to manage eci instances, deployed in each resource pool pre-set area
[0056] eci-agent: used to manage containers and storage volumes, communicate with eci-apiserver through vpce, create and update containers and storage volumes. Each eci instance will create a lightweight virtual machine, and each lightweight virtual machine has an eci-agent
[0057] cr:customResource, actually stored in etcd database (etcd: a kv type database)
[0058] configfile: configuration file, which can be understood as consistent with configmap
[0059] volumeManager: Volume Manager
[0060] syncLoop: queue loop consumption pod
[0061] heartBeat:eci-agent heartbeat
[0062] desiredVolume: expected file directory information (a file directory information that will be rendered according to the user's declaration)
[0063] actualVolume: The actual file directory information on the machine, usually the desiredVolume information of the last update operation
[0064] Configmap: An API object used to store unencrypted configuration data that can be used in Pods or used to build images. ConfigMap can be used to save single properties, such as database passwords, or entire configuration files. The main purpose of ConfigMap is to separate configuration data from application code, making it easier to manage and update configuration data.
[0065] Container group: A group of containers, also called a pod in k8s.
[0066] podByUID: A data structure that stores metadata information about a container group (pod).
[0067] This application proposes a system for implementing hot updates of elastic container instance storage, especially for a system for updating mounted storage files for container instance products. After the user calls the container group update interface through ctapi or the front-end console and brings the configfile information to be updated in the parameters, the management plane service eci-apiserver of each resource pool preset area updates the file information and updates the eci status to updating (updating data), and waits until the next heartbeat of the eci-agent to find that it needs to be updated to perform the update operation
[0068] This application solves the problems of how users update file content, how the control plane stores file content, how to determine whether a file needs to be updated, how to update file content on a lightweight virtual machine, and how to automate the entire storage and update process, while reducing manual operations.
[0069] Next, referring to FIG. 1( a ) and Figure 1(b)-Figure 1(d) and Figure 2-Figure 4 As shown: The present invention provides a system, device and storage medium for implementing hot update of elastic container instance storage, wherein:
[0070] In a first aspect, the present application provides a system for implementing hot update of elastic container instance storage, and the specific solution includes:
[0071] The architecture of the eci-apiserver control plane component is as follows:
[0072] When the user calls the container group update interface of eci, the eci-apiserver control plane component changes the eci state to updating and stores the file information to be updated in the cr information;
[0073] The eci-apiserver control plane component is responsible for processing the heartbeat interface, resource synchronization interface and status reporting interface of the eci-agent component;
[0074] The calling refers to the calling by the user through ctapi or front-end console.
[0075] The ctapi refers to: Tianyi Cloud OpenAPI.
[0076] The file information to be updated includes: configfile and other information.
[0077] The configfile described in the present invention: configuration file, which can be understood here to be consistent with the configmap.
[0078] The eci-apiserver refers to: eci management service, which is used to manage eci instances and is deployed in each resource pool pre-set area.
[0079] The eci refers to: container instance product, which supports users to use container services without building a k8s cluster.
[0080] The cr refers to customResource, which is actually stored in the etcd database, and the etcd database is a kv type database.
[0081] The eci-agent component is used to manage containers and storage volumes, and communicate with the eci-apiserver through vpce to create and update containers and storage volumes. Each eci instance will create a lightweight virtual machine, and each lightweight virtual machine has an eci-agent.
[0082] The container group refers to: a group of containers, also called pod in k8s.
[0083] The architecture setting of the eci-agent component;
[0084] Storage hot update mainly depends on the settings of volumeManager, syncLoop and heartBeat modules;
[0085] volumeManager: In the computer field, especially in Kubernetes, it refers to the component responsible for managing volumes. The main responsibility of VolumeManager is to manage the storage requirements of containers and ensure that containers can correctly mount and use storage resources. In Kubernetes, VolumeManager is responsible for processing storage requests from containers, including operations such as creating, deleting, mounting, and unmounting volumes. It manages the storage configuration of containers by interacting with kubelet to ensure that containers can access and use the required storage resources. VolumeManager is also responsible for handling the lifecycle management of volumes, including operations such as creating, deleting, and updating volumes.
[0086] The heartBeat module:
[0087] Responsible for interacting with the eci-apiserver control plane component. When the eci-agent heartbeat finds that it needs to be updated, it calls syncContainerGroup (synchronization control group) to synchronize the files to be updated from the eci-apiserver control plane component and stores the configmap file content in the cache.
[0088] The syncLoop module:
[0089] Responsible for consuming pods and writing the pod (storage container group) information into the cache podByUID interface, so that the volumeManager module can read the pod's volume information later and store it in the desired volume information structure desiredVolume;
[0090] The volumeManager module is responsible for comparing the expected volume information structure desiredVolume with the actual information actualVolume on the machine, and when the expected volume information structure desiredVolume is inconsistent with the actual information actualVolume on the machine, updating the file on the lightweight virtual machine;
[0091] When the file on the lightweight virtual machine is updated, it is finally mounted into the container when the container is updated.
[0092] The desiredVolume refers to: the expected file directory information, that is, the file directory information that will be rendered according to the user's declaration.
[0093] The actualVolume refers to the actual file directory information on the machine, which can be understood as the desiredVolume information of the last update operation.
[0094] The heartBeat described in the present invention is the heartbeat of the eci-agent; the volumeManager is the volume manager; and the syncLoop is the queue loop consumption pod.
[0095] In summary, this application has the following beneficial effects:
[0096] 1) This application is based on the heartbeat storage hot update technology, and provides a detailed implementation method
[0097] 2) When the container is updated, the storage volume can be updated synchronously. Users do not need to update the storage volume separately or restart the container operation independently.
[0098] 3) The elastic container instance product pioneered the design of a storage hot update capability architecture based on heartbeats
[0099] 4) The entire process of hot storage update is automated. Users only need to call the eci container group update interface to pass in relevant file information.
[0100] 5) The architecture design is easy to expand, which facilitates the subsequent support of hot updates of other storage types
[0101] 6) Reduce user manual operations. Only one hot update interface needs to be called, and the entire process is automated afterwards.
[0102] Embodiment 1:
[0103] The present application provides a system for implementing hot update of elastic container instance storage. After a user calls the container group update interface through ctapi or the front-end console and carries the configfile information to be updated in the parameters, the management plane service eci-apiserver of each resource pool preset area updates and stores the file information, and updates the eci state to updating. When the eci-agent finds that it needs to be updated at the next heartbeat, it performs the update operation. In order to better illustrate the system process design principle of the present invention, now refer to Figure 1 (a) and Figure 1(b)-Figure 1(d) As shown, specific examples are given below;
[0104] eci-apiserver control plane components:
[0105] 1. When the user calls the eci container group update interface, the eci-apiserver control plane component changes the eci state to updating and stores the file information to be updated in the cr information;
[0106] 2. The eci-apiserver control plane component is responsible for processing the heartbeat interface, resource synchronization interface, and status reporting interface of the eci-agent;
[0107] eci-agent components:
[0108] 1. Storage hot update mainly depends on three modules: volumeManager, syncLoop, and heartBeat;
[0109] 2. heartBeat is responsible for interacting with the control plane service eci-apiserver. When the eci-agent heartbeat finds that it needs to be updated, it calls syncContainerGroup to synchronize the files to be updated from the control plane and stores the configmap file content in the cache; (part shown in 101).
[0110] 3. SyncLoop is responsible for consuming pods and writing pod information into the cache podByUID interface so that volumeManager can subsequently read the pod's volume information and store it in the expected volume information structure desiredVolume; (shown in 102)
[0111] 4. VolumeManager is responsible for comparing the expected file information desiredVolume and the real information actualVolume on the machine; (as shown in 103), if the two are inconsistent, the file on the virtual machine is updated, and after the virtual machine file is updated, it is finally mounted into the container when the container is updated.
[0112] In summary, this application provides an elastic container instance storage hot update implementation system, based on ctyunos tailored lightweight virtual machines for eci container instance computing storage capacity; the heartbeat-based storage hot update capability is strong, and an update architecture flow chart of the elastic container instance ECI product is given; user manual operations are reduced, only one hot update interface needs to be called, and the subsequent entire process is automated.
[0113] In a second aspect, the present invention shows a device for implementing hot update of elastic container instance storage, the device comprising: a processor; a memory for storing processor executable instructions; wherein the processor is configured to execute the method in the system as described in any of the above aspects.
[0114] The implementation device is: an electronic device.
[0115] In a third aspect, the present application shows a non-temporary computer storage medium, when the instructions in the storage medium are executed by a processor of an electronic device, the electronic device can execute the method in the system as described in any of the above aspects.
[0116] The storage medium is: a readable storage medium.
[0117] In a fourth aspect, the present application illustrates a computer program product. When instructions in the computer program product are executed by a processor of an electronic device, the electronic device is enabled to execute a method in a system as described in any of the above aspects.
[0118] It should be noted that, for the method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the order of the actions described, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all optional embodiments, and the actions involved are not necessarily required by the present application.
[0119] In order to better illustrate the hardware concept of the electronic device of the present invention, two specific structural embodiments of the electronic devices are now described as follows:
[0120] Optionally, an embodiment of the present application also provides an electronic device, including: a processor, a memory, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, the various processes of the method embodiment in the above-mentioned system are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be described here.
[0121] The embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, each process of the method embodiment in the above system is implemented, and the same technical effect can be achieved. To avoid repetition, it is not repeated here. The computer-readable storage medium is, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0122] FIG3 is a block diagram of an electronic device 800 shown in the present application. For example, the electronic device 800 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.
[0123] Reference Figure 3 , the electronic device 800 may include one or more of the following components: a processing component 802 , a memory 804 , a power component 806 , a multimedia component 808 , an audio component 810 , an input / output (I / O) interface 812 , a sensor component 814 , and a communication component 816 .
[0124] The processing component 802 generally controls the overall operation of the electronic device 800, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The processing component 802 may include one or more processors 820 to execute instructions to complete all or part of the steps of the above method. In addition, the processing component 802 may include one or more modules to facilitate the interaction between the processing component 802 and other components. For example, the processing component 802 may include a multimedia module to facilitate the interaction between the multimedia component 808 and the processing component 802.
[0125] The memory 804 is configured to store various types of data to support operations on the device 800. Examples of such data include instructions for any application or method operating on the electronic device 800, contact data, phone book data, messages, images, videos, etc. The memory 804 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
[0126] The power supply component 806 provides power to the various components of the electronic device 800. The power supply component 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the electronic device 800.
[0127] The multimedia component 808 includes a screen that provides an output interface between the electronic device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front camera and / or a rear camera. When the device 800 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and the rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
[0128] The audio component 810 is configured to output and / or input audio signals. For example, the audio component 810 includes a microphone (MIC), and when the electronic device 800 is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 804 or sent via the communication component 816. In some embodiments, the audio component 810 also includes a speaker for outputting audio signals.
[0129] I / O interface 812 provides an interface between processing component 802 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include but are not limited to: a home button, a volume button, a start button, and a lock button.
[0130] The sensor assembly 814 includes one or more sensors for providing various aspects of status assessment for the electronic device 800. For example, the sensor assembly 814 can detect the open / closed state of the device 800, the relative positioning of components, such as the display and keypad of the electronic device 800, and the sensor assembly 814 can also detect the position change of the electronic device 800 or a component of the electronic device 800, the presence or absence of contact between the user and the electronic device 800, the orientation or acceleration / deceleration of the electronic device 800, and the temperature change of the electronic device 800. The sensor assembly 814 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor assembly 814 may also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an accelerometer, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
[0131] The communication component 816 is configured to facilitate wired or wireless communication between the electronic device 800 and other devices. The electronic device 800 can access a wireless network based on a communication standard, such as WiFi, a carrier network (such as 2G, 3G, 4G or 5G), or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast operation information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
[0132] In an exemplary embodiment, the electronic device 800 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the above methods.
[0133] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 804 including instructions, and the instructions can be executed by a processor 820 of an electronic device 800 to perform the above method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.
[0134] Figure 4 19 is a block diagram of a computer-readable storage medium 1900 shown in the present application. For example, the storage medium 1900 may be provided as a server.
[0135] Reference Figure 4 , the storage medium 1900 includes a processing component 1922, which further includes one or more processors, and a memory resource represented by a memory 1932 for storing instructions, such as an application, that can be executed by the processing component 1922. The application stored in the memory 1932 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 1922 is configured to execute instructions to perform the above method.
[0136] The storage medium 1900 may also include a power supply component 1926 configured to perform power management of the storage medium 1900, a wired or wireless network interface 1950 configured to connect the storage medium 1900 to a network, and an input / output (I / O) interface 1958. The storage medium 1900 may operate based on an operating system stored in the memory 1932, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, or the like.
[0137] The eBPF program is loaded in the TC of the present invention to realize the packaging and unpacking of the data packet of VXLAN, bypass the protocol stack of the kernel, and directly redirect it to the corresponding network port, thereby improving the bandwidth performance, reducing the traffic link, and reducing the CPU resource consumption; at the same time, it is compatible with the VXLAN solution implemented in the existing Linux, and the overall framework design is scientific and reasonable, which is suitable for promotion and application.
[0138] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.
[0139] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present application.
[0140] The present invention implements the storage hot update technology based on heartbeat in detail, and the scheme design is more detailed and scientific than the existing technology; the storage volume can be updated synchronously when the container is updated, and the user does not need to update the storage volume separately and restart the container operation independently; the elastic container instance product pioneered the storage hot update capability architecture design based on heartbeat, which is more convenient and efficient in solving related technical problems; the storage hot update process is fully automated, and the user only needs to call the eci container group update interface to pass in the relevant file information, without having to learn complex program command operations; the architecture design is easy to expand, which is convenient for subsequent support of hot updates of other storage types and can be upgraded; it reduces user manual operations, and only needs to call the hot update interface once, and the subsequent full process is automated, which reduces the intensity of manual labor.
[0141] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.
[0142] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed in the present application 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 to be beyond the scope of this application.
[0143] Those skilled in the art can 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.
[0144] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, 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.
[0145] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0146] 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.
[0147] 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 technical solution of the present application, or the part that contributes to the prior art 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 several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard drives, ROM, RAM, magnetic disks, or optical disks.
[0148] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A system for implementing hot update of elastic container instance storage, characterized in that: include: The architecture of the eci-apiserver control plane component is as follows: When the user calls the container group update interface of eci, the eci-apiserver control plane component changes the eci state to updating and stores the file information to be updated in the cr information; The eci-apiserver control plane component is responsible for processing the heartbeat interface, resource synchronization interface and status reporting interface of the eci-agent component; The architecture of the eci-agent component is as follows: Storage hot update mainly depends on the settings of volumeManager, syncLoop and heartBeat modules; The heartBeat module is responsible for interacting with the eci-apiserver control plane component. When the eci-agent heartbeats, it finds that it needs to be updated, calls syncContainerGroup to synchronize the files to be updated from the eci-apiserver control plane component, and stores the configmap file content in the cache; The syncLoop module is responsible for consuming the pod and writing the pod information into the cache podByUID interface, so that the volumeManager module can subsequently read the volume information of the pod and store it in the desired volume information structure desiredVolume; The volumeManager module is responsible for comparing the expected volume information structure desiredVolume with the actual information actualVolume on the machine, and when the expected volume information structure desiredVolume is inconsistent with the actual information actualVolume on the machine, updating the file on the lightweight virtual machine; When the file on the lightweight virtual machine is updated, it is finally mounted into the container when the container is updated.
2. According to claim 1, a system for implementing hot update of elastic container instance storage is characterized in that: The call is made by the user through ctapi or the front-end console.
3. The elastic container instance storage hot update implementation system according to claim 1, characterized in that: The file information to be updated includes: configfile information.
4. The elastic container instance storage hot update implementation system according to claim 3, characterized in that: The configfile is consistent with the configmap.
5. The elastic container instance storage hot update implementation system according to claim 1, characterized in that: The eci-apiserver is used to manage eci instances and is deployed in each resource pool preset area.
6. The elastic container instance storage hot update implementation system according to claim 1, characterized in that: The eci is a container instance product that supports users to use container services without building a k8s cluster.
7. The system for implementing hot update of elastic container instance storage according to claim 1, characterized in that: The cr is actually stored in the etcd database.
8. The system for implementing hot update of elastic container instance storage according to claim 1, characterized in that: The eci-agent component is used to manage containers and storage volumes, and communicate with the eci-apiserver through vpce to create and update containers and storage volumes.
9. A device for implementing hot update of elastic container instance storage, characterized in that: include: A processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the computer program implements the method in the system according to any one of claims 1 to 8 when executed by the processor.
10. A storage medium for implementing hot update of elastic container instance storage, characterized in that: The computer storage medium stores a computer program, and when the computer program is executed by a processor, the method in the system according to any one of claims 1 to 8 is implemented.
Citation Information
Patent Citations
Container group instance processing method, device and system
CN113296871A
Storage volume mounting method and device, storage medium and electronic equipment
CN115357198A
Container coil heat expansion system and method and medium
CN117311627A
Service updating method and related product
CN118227160A
In-memory database-managed container volume replication
US20200257704A1