WO2024113819A1 - Configuration method and apparatus for pod, device, and nonvolatile readable storage medium - Google Patents
Configuration method and apparatus for pod, device, and nonvolatile readable storage medium Download PDFInfo
- Publication number
- WO2024113819A1 WO2024113819A1 PCT/CN2023/103412 CN2023103412W WO2024113819A1 WO 2024113819 A1 WO2024113819 A1 WO 2024113819A1 CN 2023103412 W CN2023103412 W CN 2023103412W WO 2024113819 A1 WO2024113819 A1 WO 2024113819A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- configuration
- container
- initialization
- application
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Definitions
- the present application relates to the field of container technology, and in particular to a configuration method, device, equipment and non-volatile readable storage medium for a container group.
- Kubernetes also known as k8s is an open source container cluster management system. Based on Docker (an open source container engine) technology, it provides a series of complete functions such as deployment and operation, resource scheduling, service discovery and dynamic scaling for containerized applications, improving the convenience of large-scale container cluster management.
- Docker an open source container engine
- some programs in container groups need to have configuration information that matches their own operating environment. For example, when some programs run on nodes with multiple network cards, it is necessary to configure the network card address (ip, Internet Protocol) used; when some container groups run on nodes with graphics processing units (GPUs), additional GPU driver information needs to be configured, but not on ordinary nodes; when some container groups run on nodes with different hardware specifications, they need to adjust their own performance parameters such as the number of threads and super-resolution ratio according to the hardware configuration.
- the network card address ip, Internet Protocol
- GPUs graphics processing units
- the purpose of this application is to provide a container group configuration method, device, equipment and non-volatile readable storage medium, which are used to realize differentiated adaptive configuration of container group parameters in a single stateless controller in a k8s cluster, so that the container group in the same stateless controller in the k8s cluster can dynamically generate and load different configuration parameters according to its own location, thereby reducing the complexity of application deployment in k8s and improving the flexibility of containers in k8s.
- the present application provides a method for configuring a container group, which is applied to a node where a stateless controller is located, including:
- initialization container template to create an initialization container for the container group, so that the initialization container runs the adaptive parameter acquisition script in the initialization container template to obtain configuration parameters and generate a configuration file for the container group;
- a business application container is created for a container group using a business application container template, so that the business application container obtains a configuration file based on a path of the configuration file mounted in the business application container template, and completes application configuration according to configuration parameters.
- the configuration files are stored in the container group's temporary storage volume.
- the temporary storage volume is stored in the backend storage of the node where the container group is located.
- the temporary storage volume is stored in a temporary file system of the container group, and the temporary storage volume medium field of the temporary storage volume is defined as memory.
- the configuration file is stored in a shared storage space pre-allocated for the container group.
- initialize the container to obtain configuration parameters and generate a configuration file for the container group including:
- the initialization container obtains environment information of the node where the container group is located to determine the first configuration parameter
- the initialization container generates a configuration file according to the first configuration parameter.
- the initialization container obtains environment information of the node where the container group is located to determine the first configuration parameter, including:
- the initialization container obtains environment information of the node where the container group is located based on the system directory of the node where the container group mounted in the initialization container template is located, so as to determine the first configuration parameter.
- the first configuration parameters include: system small computer system interface parameters, system control group parameters, and standard programming library module parameters.
- initialize the container to obtain configuration parameters and generate a configuration file for the container group including:
- the initialization container obtains environment information of the node where the container group is located to determine the first configuration parameter
- the initialization container obtains the address of the application configuration center recorded in the script based on the adaptive parameters, and uploads a configuration request including the first configuration parameter to the application configuration center;
- the initialization container receives the second configuration parameter assigned by the application configuration center
- the initialization container generates a configuration file according to the first configuration parameter and the second configuration parameter.
- the second configuration parameter is one of a high performance configuration parameter, a high availability configuration parameter, a balanced configuration parameter, and a low power consumption configuration parameter.
- the second configuration parameter is an operation policy configuration parameter configured by an administrator and corresponding to the node where the container group is located.
- the second configuration parameter is an operation policy configuration parameter generated after calling a monitoring script to analyze the operation status of the node where the container group is located.
- the second configuration parameter is an operation policy configuration parameter periodically sent by the application configuration center after receiving the first configuration parameter.
- the second configuration parameter is an operation policy configuration parameter issued by the application configuration center after receiving the first configuration parameter when an operation state parameter of the node where the container group is located is monitored to change the operation state.
- the initialization container uploads a configuration request including the first configuration parameter to the application configuration center, including:
- the initialization container periodically uploads configuration requests to the application configuration center.
- the initialization container uploads a configuration request including the first configuration parameter to the application configuration center, including:
- the initialization container After the first configuration parameter is changed, the initialization container uploads a configuration request including the changed first configuration parameter to the application configuration center.
- the business application container obtains the configuration file based on the path of the configuration file mounted in the business application container template, including:
- the business application container obtains the configuration file based on the path of the configuration file written in the business configuration parameters of the business application container.
- the present application also provides a container group configuration device, including:
- the calling unit is configured to call a preset initialization container template and a preset Business application container template
- a first creation unit is configured to create an initialization container for the container group by using the initialization container template, so that the initialization container runs an adaptive parameter acquisition script in the initialization container template to acquire configuration parameters and generate a configuration file for the container group;
- the second creation unit is configured to create a business application container for the container group using the business application container template, so that the business application container obtains the configuration file based on the path of the configuration file mounted in the business application container template, and completes the application configuration according to the configuration parameters.
- the present application also provides a configuration device for a container group, including:
- the processor is configured to execute a computer program, and when the computer program is executed by the processor, the steps of any of the above-mentioned methods for configuring a container group are implemented.
- the present application also provides a non-volatile readable storage medium, on which a computer program is stored.
- a computer program is stored on which a computer program is stored.
- the configuration method of the container group provided in the present application changes the original business container template in the stateless controller to the initialization container template plus the business container template.
- the initialization container template is provided with an adaptive parameter acquisition script.
- the configuration parameters will be automatically acquired and the configuration file of the container group will be generated; the path of the configuration file is mounted in the business application container template.
- the configuration file is acquired according to the path, and the application configuration is completed according to the configuration parameters.
- Differentiated adaptive configuration parameters are implemented when a single stateless controller creates a container group, so that the container group in the same stateless controller in the k8s cluster can dynamically generate and load different configuration parameters according to its own location, reducing the complexity of application deployment in k8s and improving the flexibility of containers in k8s.
- the present application also provides a container group configuration device, equipment and non-volatile readable storage medium, which have the above-mentioned beneficial effects and are not described in detail here.
- FIG1 is a flow chart of a method for configuring a container group provided in an embodiment of the present application
- FIG2 is a schematic diagram of a component deployment architecture provided in an embodiment of the present application.
- FIG3 is a schematic diagram of the structure of a container group configuration device provided in an embodiment of the present application.
- FIG. 4 is a schematic diagram of the structure of a container group configuration device provided in an embodiment of the present application.
- the core of this application is to provide a container group configuration method, device, equipment and non-volatile readable storage medium, which are used to realize differentiated adaptive configuration of container group parameters in a single stateless controller in a k8s cluster, so that the container group in the same stateless controller in the k8s cluster can dynamically generate and load different configuration parameters according to its own location, thereby reducing the complexity of application deployment in k8s and improving the flexibility of containers in k8s.
- FIG1 is a flow chart of a method for configuring a container group provided in an embodiment of the present application
- FIG2 is a schematic diagram of a component deployment architecture provided in an embodiment of the present application.
- the configuration method of the container group provided in the embodiment of the present application is applied to the node where the stateless controller is located, including:
- S101 After receiving a container group creation command, calling a preset initialization container template and a preset business application container template.
- S102 Create an initialization container for the container group using the initialization container template, so that the initialization container runs an adaptive parameter acquisition script in the initialization container template to acquire configuration parameters and generate a configuration file for the container group.
- S103 Create a business application container for the container group using the business application container template, so that the business application container obtains the configuration file based on the path of the configuration file mounted in the business application container template, and completes the application configuration according to the configuration parameters.
- the stateless controller is a controller component provided by k8s, running on a physical node in the container cluster.
- the container groups (Pods) created by the stateless controller may also run on different physical nodes in the container cluster.
- the business application container mounts the system directory required for the normal operation of the business application.
- multiple business application containers created by the stateless controller can only use the same configuration file.
- the stateless controller that originally only had a business application container template is changed to an initialization container template and a business application container template.
- the first initialization container created in the container cluster obtains differentiated configuration parameters and generates configuration files for subsequently created business application containers to mount, thereby realizing differentiated configuration of different container groups. There is no need to mount ConfigMap, and it will not affect the business application logic.
- the k8s initialization container (Init- The container) mechanism is used to add an initialization container template to the container group template of the business application.
- the initialization template is mounted with a directory for writing configuration files, and is provided with an adaptive parameter acquisition script for acquiring configuration parameters to generate configuration files.
- the business application container template is modified to mount the directory where the configuration files are written to the business application container template, so that the created business application container can obtain differentiated configuration files.
- the initialization container is the first container created in the container group mechanism of k8s, so it can be guaranteed that the initialization container runs before the business application container.
- the adaptive parameter acquisition script is run to adaptively obtain the required configuration parameters according to the pre-written logic.
- the initialization container obtains the configuration parameters and generates the configuration file of the container group, which may include: the initialization container obtains the environmental information of the node where the container group is located to determine the first configuration parameter; the initialization container generates the configuration file according to the first configuration parameter.
- the initialization container obtains the environment information of the node where the container group is located to determine the first configuration parameter.
- the initialization container may obtain the environment information of the node where the container group is located based on the system directory of the node where the container group is located mounted in the initialization container template to determine the first configuration parameter.
- the initialization container template not only the directory pre-allocated for the configuration file is mounted, but also the system directory is mounted, and the running logic of the adaptive parameter acquisition script is set to determine the environment information of the node according to the system directory of the node where the container group where the initialization container is located is located, and then generate the configuration file.
- the initialization container template is pre-mounted with directories for obtaining system information necessary for generating configuration files, which may include /etc/iscsi (system small computer system interface directory), /sys/fs/cgroup (system control group directory), /lib/modules (standard programming library module directory), etc.
- the first configuration parameters thus obtained may include: system small computer system interface parameters, system control group parameters, standard programming library module parameters, etc.
- an initialization container template and a business application container template are added to the stateless load template that needs to dynamically generate a differentiated configuration, and its internal main logic includes at least:
- directories required for dynamic configuration generation such as /etc/iscsi (system small computer system interface directory), /sys/fs/cgroup (system control group directory), /lib/modules (standard programming library module directory), etc.
- the directory pre-allocated for the configuration file may be stored in a shared storage space pre-allocated for the container group.
- the shared storage space may come from any backend storage of the node where the container group is located, or other remote storage resources.
- the adaptive parameter acquisition script can also be designed to update the configuration parameters and the configuration file during the operation of the container group if the information source for obtaining the configuration parameters changes.
- the first configuration parameter of the attribute of the node is obtained by mounting the system directory of the node. As the parameters in the system directory are updated, the first configuration parameter is adapted to the change and the configuration file is updated.
- the system directory of the migrated node is obtained according to the system directory path, and the first configuration parameter is updated and the configuration file is updated.
- the business application container is created after the initialization container, and according to the preset business application container template that mounts a directory pre-allocated for the configuration file, the created business application container is mounted to the directory pre-allocated for the configuration file.
- the configuration file created after the initialization container is started can be read through the shared volume directory to configure the business application according to the configuration file.
- the business application container obtains the configuration file based on the path of the configuration file mounted in the business application container template. This may be: the business application container obtains the configuration file based on the path of the configuration file written in the business configuration parameters of the business application container.
- the business application container does not need to mount the system directory mounted simply for generating configuration files, preventing potential unauthorized access risks.
- the business application itself does not need to be modified, and there is no intrusion into the business application code.
- the node 201 where the stateless controller is located is recorded as node 1
- the node 202 where the container group 1 created by the stateless controller is located is recorded as node 2
- the node 203 where the container group 2 created by the stateless controller is located is recorded as node 3.
- node 2 is a node with an 8-core 32G CPU (Central Processing Unit) and a GPU
- node 3 is a node with an 8-core 32G CPU and a large page memory.
- the stateless controller calls the preset initialization container template and the preset business application container template after running, and creates container group 1 and container group 2 in node 2 and node 3 respectively.
- the initialization container in container group 1 is first created. After the initialization container is created, the adaptive parameter acquisition script is run in node 2 to create configuration file 1 according to the properties of node 2, and then a business application container is created. The business application container and the initialization container mount the directory where the configuration file is located. After the business application container is created, the configuration file 1 is read.
- container group 2 of node 3 the initialization container in container group 2 is first created. After the initialization container is created, the adaptive parameter acquisition script is run on node 3 to create configuration file 2 according to the properties of node 3, and then the business application container is created. The business application container and the initialization container mount the directory where the configuration file is located. After the business application container is created, the configuration file 2 is read.
- the differentiated configuration of the business application of container group 1 and the business application of container group 2 is realized, and it can automatically adapt to the characteristics of the environment to which it belongs.
- the container group is re-created or migrated, it can still adaptively obtain configuration parameters to achieve differentiated configuration.
- the configuration method of the container group provided in the embodiment of the present application changes the original business container template in the stateless controller to the initialization container template plus the business container template.
- the initialization container template is provided with an adaptive parameter acquisition script.
- the configuration parameters will be automatically acquired and the configuration file of the container group will be generated; the path of the configuration file is mounted in the business application container template.
- the configuration file is acquired according to the path, and the application configuration is completed according to the configuration parameters.
- Differentiated adaptive configuration parameters are implemented when a single stateless controller creates a container group, so that the container group in the same stateless controller in the k8s cluster can dynamically generate and load different configuration parameters according to its own location, reducing the complexity of application deployment in k8s and improving the flexibility of containers in k8s.
- the temporary storage volume (emptyDir) of the container group is used as the directory for writing configuration files. Then, in S102, the configuration file is stored in the temporary storage volume of the container group.
- emptyDir is an empty directory, and its life cycle is exactly the same as the container group to which it belongs. emptyDir can share files generated in a work project between different containers in the same container group.
- a volume of type emptyDir is created when a container group is assigned to a node. k8s will automatically assign a directory on the node, so there is no need to specify the corresponding directory file on the host node. The initial content of this directory is empty.
- the data in emptyDir will be permanently deleted. And a container crash will not cause the data in emptyDir to be deleted.
- a temporary storage volume emptyDir is used to store the configuration file adaptively generated by the container group.
- the temporary storage volume emptyDir has the same life cycle as the container group to which it belongs, which facilitates management.
- emptyDir can use any type of backend storage provided by the node.
- the temporary storage volume can be stored in the backend storage of the node where the container group is located. In this way, the temporary storage volume occupies the memory resources of the node where the container group is located.
- the temporary file system (tmpfs) of the container group can also be used as the available storage resource of emptyDir.
- the temporary storage volume can also be stored in the temporary file system of the container group, and the temporary storage volume medium (emptyDir.medium) field of the temporary storage volume is defined as memory.
- the volume where the configuration file is located will consume the memory share of the container, but as a temporary file, it can be accessed externally to obtain the configuration information of the container group to implement the monitoring function.
- initializing a container to obtain configuration parameters and generating a configuration file for the container group may include:
- the initialization container obtains environment information of the node where the container group is located to determine the first configuration parameter
- the initialization container obtains the address of the application configuration center recorded in the script based on the adaptive parameters, and uploads a configuration request including the first configuration parameter to the application configuration center;
- the initialization container receives the second configuration parameter assigned by the application configuration center
- the initialization container generates a configuration file according to the first configuration parameter and the second configuration parameter.
- a service of an application configuration center can be designed.
- the initialization container can obtain the current information of the node where it is located, initiate a request to the application configuration center as needed, obtain the configuration parameters dynamically calculated by the application configuration center, generate the required configuration files, and write them into the directory pre-allocated for the configuration files.
- the application configuration center can run on another node other than the node where the stateless controller is located and the node where the container group is located, such as the monitoring node.
- the adaptive parameter acquisition script in the initialization container template is designed to obtain the attributes of the node as the first configuration parameter, and then upload the node information including the first configuration parameter to the application configuration center to obtain the second configuration parameter assigned by the application configuration center.
- the initialization container generates a configuration file based on the first configuration parameter and the second configuration parameter.
- the initialization container template of the stateless controller in addition to the internal main logic provided in the first embodiment of the present application, it also includes:
- a configuration file is generated according to the first configuration parameter and the second configuration parameter, and is written into a directory pre-allocated for the configuration file.
- the first configuration parameter is mainly system information of the node where the container group is located, which may include: system small computer system interface parameters, system control group parameters, standard programming library module parameters, etc.
- the second configuration parameter may be an operation strategy configuration parameter, that is, a configuration parameter corresponding to an operation strategy divided according to the operation status of the node where the container group is located.
- the second configuration parameter may be one of: a high performance configuration parameter, a high availability configuration parameter, a balanced configuration parameter, and a low power consumption configuration parameter.
- the second configuration parameter can be an operation policy configuration parameter corresponding to the node where the container group is located, configured by the administrator. Since the determination of the operation policy configuration parameter is relatively complex, the application configuration center can only serve as a platform for administrators to manage container groups, displaying the first configuration parameters of the nodes where different container groups are located on the platform for administrators to view, and the administrators can assign the second configuration parameters based on experience.
- an interface can be pre-developed in the application configuration center to allow system administrators to configure default configuration file templates for each application, such as high-performance templates, high-availability templates, balanced templates, low-power templates, etc.
- the administrator configures the policy and automatically analyzes the comprehensive level of the node where the container group is located through the request information from the container group, and selects the appropriate template for deployment. The line is issued.
- the application configuration center needs to obtain the first configuration parameters of the node where the container group is located before learning the information of the node where the container group is located, and then assigning the second configuration parameters.
- the node where the container group is located after the second configuration parameters are assigned for the first time, the node where the container group is located can upload the first configuration parameters on demand, and the node where the application configuration center is located can also issue the second configuration parameters according to the preset rules.
- the initialization container uploads the configuration request including the first configuration parameter to the application configuration center, which may be: the initialization container periodically uploads the configuration request to the application configuration center. That is, the initialization container may send the configuration request carrying the first configuration parameter to the application configuration center every first period, so that the application configuration center can confirm whether the second configuration parameter of the container group needs to be updated.
- the initialization container uploading the configuration request including the first configuration parameter to the application configuration center in S102 may be: after the first configuration parameter is changed, the initialization container uploads the configuration request including the changed first configuration parameter to the application configuration center. That is, after the initialization container obtains the first configuration parameter just after being created, it monitors the change of the first configuration parameter, and after finding that the first configuration parameter has changed, it sends the configuration request carrying the first configuration parameter to the application configuration center, so that the application configuration center reallocates the second configuration parameter corresponding to the updated first configuration parameter.
- the node 204 where the application configuration center is located is node 4.
- the first configuration parameter of container group 1 is uploaded to the application configuration center, and the application configuration center sends the second configuration parameter to the initialization container.
- the initialization container of container group 1 generates configuration file 1 according to the first configuration parameter and the second configuration parameter.
- the first configuration parameter of container group 2 is uploaded to the application configuration center, and the application configuration center sends the second configuration parameter to the initialization container.
- the initialization container of container group 2 generates configuration file 2 according to the first configuration parameter and the second configuration parameter.
- the configuration method of the container group designed an application configuration center, designs the initialization container to upload the acquired first configuration parameters to the application configuration center after startup, the application configuration center assigns the second configuration parameters to the container group, and the initialization container generates a configuration file according to the first configuration parameters and the second configuration parameters, so that dynamic configuration can be performed according to the running status of the node, further improving the flexibility of the adaptive parameter configuration of the container group in a single stateless controller.
- the automatic allocation of the second configuration parameter can be realized based on the application configuration center.
- the application configuration center can be designed to automatically determine the second configuration parameter for the container group after analyzing the running status of the node where the container group is located based on the monitoring system.
- the second configuration parameter can be the running policy configuration parameter generated after calling the monitoring script to analyze the running status of the node where the container group is located.
- the interface of the application configuration center is developed to connect to the monitoring system of the k8s cluster for dynamic perception.
- the current overall load level, business traffic, cluster size, etc. of the cluster provide a reference for dynamically generating configuration file content fields.
- the application configuration center By connecting to the monitoring system of the k8s cluster, the application configuration center combines the first configuration parameters of the node where the initialization container is uploaded and the operating status of the node where the container group is located obtained by the monitoring system. It makes an automated comprehensive decision through more abundant performance parameters, dynamically generates the second configuration parameters that are most suitable for the container group, and distributes them.
- the node where the container group is located can upload the first configuration parameter as needed, and the node where the application configuration center is located can also send the second configuration parameter according to the preset rules.
- the second configuration parameter can be the operation policy configuration parameter periodically sent by the application configuration center after receiving the first configuration parameter. That is, after receiving the first configuration parameter, the application configuration center can generate and send the second configuration parameter based on the operation status of the node where the container group is located and the first configuration parameter of the container group every second period.
- the second configuration parameter may be an operation policy configuration parameter issued by the application configuration center after receiving the first configuration parameter when the operation status parameter of the node where the container group is located is monitored to change the operation status. That is, after receiving the first configuration parameter, the application configuration center determines whether it is necessary to update the second configuration parameter assigned to the container group based on the operation status of the node where the container group is located provided by the monitoring system and the first configuration parameter on a regular or real-time basis, and then issues the second configuration parameter to the node where the container group is located after updating the second configuration parameter.
- the configuration method of the container group provided in the embodiment of the present application is to connect the application configuration center that provides operation strategy configuration parameters to the monitoring system of the k8s cluster by designing, so as to realize the operation status of the node where the container group is located and the first configuration parameters to generate the operation strategy configuration parameters for the container group, thereby improving the intelligence level of the adaptive parameter configuration of the container group in a single stateless controller.
- the present application also discloses a container group configuration device, equipment and non-volatile readable storage medium corresponding to the above method.
- FIG3 is a schematic diagram of the structure of a container group configuration device provided in an embodiment of the present application.
- the configuration device of the container group provided in the embodiment of the present application includes:
- the calling unit 301 is configured to call a preset initialization container template and a preset business application container template after receiving a container group creation command;
- the first creation unit 302 is configured to create an initialization container for the container group by using the initialization container template, so that the initialization container runs an adaptive parameter acquisition script in the initialization container template to obtain configuration parameters and generate a configuration file for the container group;
- the second creation unit 303 is configured to create a business application container for the container group using the business application container template, so that the business application container obtains the configuration file based on the path of the configuration file mounted in the business application container template, and Complete the application configuration.
- FIG. 4 is a schematic diagram of the structure of a container group configuration device provided in an embodiment of the present application.
- the configuration device of the container group provided in the embodiment of the present application includes:
- a memory 410 configured to store a computer program 411
- the processor 420 is configured to execute the computer program 411.
- the steps of the method for configuring a container group in any one of the above embodiments are implemented.
- the processor 420 may include one or more processing cores, such as a 3-core processor, an 8-core processor, etc.
- the processor 420 may be implemented in at least one hardware form of a digital signal processing DSP (Digital Signal Processing), a field-programmable gate array FPGA (Field-Programmable Gate Array), and a programmable logic array PLA (Programmable Logic Array).
- the processor 420 may also include a main processor and a coprocessor.
- the main processor is a processor for processing data in the awake state, also known as a central processing unit CPU (Central Processing Unit);
- the coprocessor is a low-power processor for processing data in the standby state.
- the processor 420 may be integrated with a graphics processor GPU (Graphics Processing Unit), and the GPU is responsible for rendering and drawing the content that needs to be displayed on the display screen.
- the processor 420 may also include an artificial intelligence AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.
- AI Artificial Intelligence
- the memory 410 may include one or more non-volatile readable storage media, which may be non-transitory.
- the memory 410 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices.
- the memory 410 is at least configured to store the following computer program 411, wherein the computer program 411, after being loaded and executed by the processor 420, can implement the relevant steps in the configuration method of the container group disclosed in any of the aforementioned embodiments.
- the resources stored in the memory 410 may also include an operating system 412 and data 413, etc., and the storage method may be temporary storage or permanent storage.
- the operating system 412 may be Windows.
- Data 413 may include, but is not limited to, the data involved in the above method.
- the configuration device of the container group may further include a display screen 430 , a power supply 440 , a communication interface 450 , an input and output interface 460 , a sensor 470 , and a communication bus 480 .
- FIG. 4 does not constitute a limitation on the configuration device of the container group, and may include more or fewer components than those shown in the figure.
- the container group configuration device provided in the embodiment of the present application includes a memory and a processor.
- the processor executes the program stored in the memory, it can implement the above container group configuration method, and the effect is the same as above.
- the above-described device and equipment embodiments are merely schematic.
- the division of modules is merely a logical function division. There may be other division methods in actual implementation, such as multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed.
- Another point is that the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection of devices or modules, which may be electrical, mechanical or other forms.
- the modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed on multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment.
- each functional module in each embodiment of the present application can be integrated into a processing module, or each module can exist physically separately, or two or more modules can be integrated into one module.
- the above integrated modules can be implemented in the form of hardware or software functional modules.
- the integrated module is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a non-volatile readable storage medium.
- the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a non-volatile readable storage medium to execute all or part of the steps of the various embodiments of the present application.
- an embodiment of the present application further provides a non-volatile readable storage medium, on which a computer program is stored.
- a computer program is stored on which a computer program is stored.
- the non-volatile readable storage medium may include: a U disk, a mobile hard disk, a read-only memory ROM (Read-Only Memory), a random access memory RAM (Random Access Memory), a magnetic disk or an optical disk, and other media that can store program codes.
- the computer program included in the non-volatile readable storage medium provided in this embodiment can implement the steps of the above container group configuration method when executed by the processor, and the effect is the same as above.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
Description
相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS
本申请要求于2022年11月30日提交中国专利局,申请号为202211518323.0,申请名称为“一种容器组的配置方法、装置、设备及可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims priority to a Chinese patent application filed with the China Patent Office on November 30, 2022, with application number 202211518323.0 and application name “A method, device, equipment and readable storage medium for configuring a container group”, the entire contents of which are incorporated by reference in this application.
本申请涉及容器技术领域,特别是涉及一种容器组的配置方法、装置、设备及非易失性可读存储介质。The present application relates to the field of container technology, and in particular to a configuration method, device, equipment and non-volatile readable storage medium for a container group.
Kubernetes(又称k8s)是一个开源的容器集群管理系统,在Docker(是一个开源的容器引擎)技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。Kubernetes (also known as k8s) is an open source container cluster management system. Based on Docker (an open source container engine) technology, it provides a series of complete functions such as deployment and operation, resource scheduling, service discovery and dynamic scaling for containerized applications, improving the convenience of large-scale container cluster management.
伴随着云原生技术和云市场的不断成熟,k8s管理的应用的复杂度也会随之增加。在实际的生产过程中,对于k8s这种使用无状态控制器通过统一模板创建容器组的模式,有一个实际的场景问题需要解决,那就是容器组的差异化自适应参数配置问题。As cloud native technology and the cloud market continue to mature, the complexity of applications managed by k8s will also increase. In the actual production process, for the k8s model that uses a stateless controller to create container groups through a unified template, there is a practical scenario problem that needs to be solved, that is, the differentiated adaptive parameter configuration problem of the container group.
具体来说,有些容器组中的程序,需要配置信息与自身所在的运行环境相符。例如,有些程序运行在多网卡节点上时,需要配置所使用的网卡地址(ip,Internet Protocol);有些容器组运行在带有图形处理器(Graphics Processing Unit,GPU)的节点上时,需要配置额外的GPU驱动信息,而在普通节点上不需要;有些容器组运行在不同硬件规格的节点上时,需要根据硬件配置调整自身的线程数、超分比等性能参数。Specifically, some programs in container groups need to have configuration information that matches their own operating environment. For example, when some programs run on nodes with multiple network cards, it is necessary to configure the network card address (ip, Internet Protocol) used; when some container groups run on nodes with graphics processing units (GPUs), additional GPU driver information needs to be configured, but not on ordinary nodes; when some container groups run on nodes with different hardware specifications, they need to adjust their own performance parameters such as the number of threads and super-resolution ratio according to the hardware configuration.
在这种情况下,无状态控制器提供的单一容器组模板,或采用k8s默认的ConfigMap(配置地图)方式为容器组挂载配置文件,那么该无状态控制器创建的所有容器组将被挂载同一份配置文件,无法实现容器组的差异化自适应参数配置。如果需要创建配置不同的容器组,只能使用不同的无状态控制器进行控制,例如使用Deployment A控制普通容器组,使用Deployment B控制GPU节点上的容器组,那么一方面会增加管理的整体复杂度,另一方面如果出现另一个维度的差异化配置,不同的无状态控制器之间也很难实现正交的划分。最终随着差异化配置的需求的增多,对于同一个应用的多副本部署的情况,有多少的差异化配置,就需要多少个无状态控制器进行控制,这就类似于传统的指定节点进行差异化分发的方案,失去了k8s动态调度、统一管理的优点。 In this case, if the single container group template provided by the stateless controller or the default ConfigMap (configuration map) method of k8s is used to mount the configuration file for the container group, then all container groups created by the stateless controller will be mounted with the same configuration file, and the differentiated adaptive parameter configuration of the container group cannot be achieved. If you need to create container groups with different configurations, you can only use different stateless controllers to control them. For example, use Deployment A to control ordinary container groups and use Deployment B to control container groups on GPU nodes. On the one hand, this will increase the overall complexity of management. On the other hand, if there is another dimension of differentiated configuration, it is difficult to achieve orthogonal division between different stateless controllers. Finally, with the increase in the demand for differentiated configuration, for the deployment of multiple copies of the same application, as many differentiated configurations as there are stateless controllers are required to control them. This is similar to the traditional solution of specifying nodes for differentiated distribution, which loses the advantages of k8s dynamic scheduling and unified management.
而若采用为无状态控制器绑定不同的ConfigMap的方式来为同一个无状态控制器下的容器组实现差异化配置,即有多少差异化配置,就为无状态控制器绑定多少ConfigMap,则会造成大量的重复性配置代码出现,且需要用户端在创建好的容器组的业务应用容器中更改业务代码以绑定到不同的ConfigMap上,对业务逻辑产生影响,实现与管理逻辑都非常麻烦。且绑定后的ConfigMap也是不可更改的,同样丧失了k8s动态调度的优势。If you use the method of binding different ConfigMaps to the stateless controller to achieve differentiated configuration for the container group under the same stateless controller, that is, as many ConfigMaps are bound to the stateless controller as there are differentiated configurations, a large amount of repetitive configuration code will appear, and the user side needs to change the business code in the business application container of the created container group to bind to different ConfigMaps, which will affect the business logic and make the implementation and management logic very troublesome. Moreover, the bound ConfigMap cannot be changed, which also loses the advantage of k8s dynamic scheduling.
因此,如何实现k8s集群中单个无状态控制器内容器组参数差异化自适应配置,使得k8s集群中同一个无状态控制器内的容器组能够根据自身所处的位置动态生成、加载不同的配置参数,降低k8s中应用部署的复杂度,提高k8s中容器的灵活性,是本领域技术人员需要解决的技术问题。Therefore, how to achieve differentiated adaptive configuration of container group parameters in a single stateless controller in a k8s cluster, so that the container group in the same stateless controller in the k8s cluster can dynamically generate and load different configuration parameters according to its own location, reduce the complexity of application deployment in k8s, and improve the flexibility of containers in k8s, is a technical problem that technical personnel in this field need to solve.
发明内容Summary of the invention
本申请的目的是提供一种容器组的配置方法、装置、设备及非易失性可读存储介质,用于实现k8s集群中单个无状态控制器内容器组参数差异化自适应配置,使得k8s集群中同一个无状态控制器内的容器组能够根据自身所处的位置动态生成、加载不同的配置参数,降低k8s中应用部署的复杂度,提高k8s中容器的灵活性。The purpose of this application is to provide a container group configuration method, device, equipment and non-volatile readable storage medium, which are used to realize differentiated adaptive configuration of container group parameters in a single stateless controller in a k8s cluster, so that the container group in the same stateless controller in the k8s cluster can dynamically generate and load different configuration parameters according to its own location, thereby reducing the complexity of application deployment in k8s and improving the flexibility of containers in k8s.
为解决上述技术问题,本申请提供一种容器组的配置方法,应用于无状态控制器所在节点,包括:In order to solve the above technical problems, the present application provides a method for configuring a container group, which is applied to a node where a stateless controller is located, including:
在接收到容器组创建命令后,调用预设的初始化容器模板和预设的业务应用容器模板;After receiving the container group creation command, calling the preset initialization container template and the preset business application container template;
利用初始化容器模板为容器组创建初始化容器,以使初始化容器运行初始化容器模板中的自适应参数获取脚本获取配置参数并生成容器组的配置文件;Using the initialization container template to create an initialization container for the container group, so that the initialization container runs the adaptive parameter acquisition script in the initialization container template to obtain configuration parameters and generate a configuration file for the container group;
利用业务应用容器模板为容器组创建业务应用容器,以使业务应用容器基于业务应用容器模板中挂载的配置文件的路径获取配置文件,并根据配置参数完成应用配置。A business application container is created for a container group using a business application container template, so that the business application container obtains a configuration file based on a path of the configuration file mounted in the business application container template, and completes application configuration according to configuration parameters.
可选的,配置文件存储于容器组的临时存储卷。Optionally, the configuration files are stored in the container group's temporary storage volume.
可选的,临时存储卷存储于容器组所在节点的后端存储。Optionally, the temporary storage volume is stored in the backend storage of the node where the container group is located.
可选的,临时存储卷存储于容器组的临时文件系统,且临时存储卷的临时存储卷媒介字段定义为内存。Optionally, the temporary storage volume is stored in a temporary file system of the container group, and the temporary storage volume medium field of the temporary storage volume is defined as memory.
可选的,配置文件存储于预先为容器组分配的共享存储空间。Optionally, the configuration file is stored in a shared storage space pre-allocated for the container group.
可选的,初始化容器获取配置参数并生成容器组的配置文件,包括:Optionally, initialize the container to obtain configuration parameters and generate a configuration file for the container group, including:
初始化容器获取容器组所在节点的环境信息,以确定第一配置参数;The initialization container obtains environment information of the node where the container group is located to determine the first configuration parameter;
初始化容器根据第一配置参数生成配置文件。The initialization container generates a configuration file according to the first configuration parameter.
可选的,初始化容器获取容器组所在节点的环境信息,以确定第一配置参数,包括: Optionally, the initialization container obtains environment information of the node where the container group is located to determine the first configuration parameter, including:
初始化容器基于初始化容器模板中挂载的容器组所在节点的系统目录,获取容器组所在节点的环境信息,以确定第一配置参数。The initialization container obtains environment information of the node where the container group is located based on the system directory of the node where the container group mounted in the initialization container template is located, so as to determine the first configuration parameter.
可选的,第一配置参数包括:系统小型计算机系统接口参数、系统控制群组参数、标准程序设计库模块参数。Optionally, the first configuration parameters include: system small computer system interface parameters, system control group parameters, and standard programming library module parameters.
可选的,初始化容器获取配置参数并生成容器组的配置文件,包括:Optionally, initialize the container to obtain configuration parameters and generate a configuration file for the container group, including:
初始化容器获取容器组所在节点的环境信息,以确定第一配置参数;The initialization container obtains environment information of the node where the container group is located to determine the first configuration parameter;
初始化容器基于自适应参数获取脚本记载的应用配置中心地址,向应用配置中心上传包括第一配置参数的配置请求;The initialization container obtains the address of the application configuration center recorded in the script based on the adaptive parameters, and uploads a configuration request including the first configuration parameter to the application configuration center;
初始化容器接收应用配置中心分配的第二配置参数;The initialization container receives the second configuration parameter assigned by the application configuration center;
初始化容器根据第一配置参数和第二配置参数生成配置文件。The initialization container generates a configuration file according to the first configuration parameter and the second configuration parameter.
可选的,第二配置参数为高性能配置参数、高可用配置参数、均衡配置参数、低功耗配置参数中的一种。Optionally, the second configuration parameter is one of a high performance configuration parameter, a high availability configuration parameter, a balanced configuration parameter, and a low power consumption configuration parameter.
可选的,第二配置参数为管理员配置的与容器组所在节点对应的运行策略配置参数。Optionally, the second configuration parameter is an operation policy configuration parameter configured by an administrator and corresponding to the node where the container group is located.
可选的,第二配置参数为调用监控脚本分析容器组所在节点的运行状态后生成的运行策略配置参数。Optionally, the second configuration parameter is an operation policy configuration parameter generated after calling a monitoring script to analyze the operation status of the node where the container group is located.
可选的,第二配置参数为应用配置中心在接收到第一配置参数后周期性下发的运行策略配置参数。Optionally, the second configuration parameter is an operation policy configuration parameter periodically sent by the application configuration center after receiving the first configuration parameter.
可选的,第二配置参数为应用配置中心在接收到第一配置参数后,在容器组所在节点的运行状态参数被监控到运行状态变化时下发的运行策略配置参数。Optionally, the second configuration parameter is an operation policy configuration parameter issued by the application configuration center after receiving the first configuration parameter when an operation state parameter of the node where the container group is located is monitored to change the operation state.
可选的,初始化容器向应用配置中心上传包括第一配置参数的配置请求,包括:Optionally, the initialization container uploads a configuration request including the first configuration parameter to the application configuration center, including:
初始化容器周期性向应用配置中心上传配置请求。The initialization container periodically uploads configuration requests to the application configuration center.
可选的,初始化容器向应用配置中心上传包括第一配置参数的配置请求,包括:Optionally, the initialization container uploads a configuration request including the first configuration parameter to the application configuration center, including:
初始化容器在第一配置参数发生变更后,向应用配置中心上传包括变更后的第一配置参数的配置请求。After the first configuration parameter is changed, the initialization container uploads a configuration request including the changed first configuration parameter to the application configuration center.
可选的,业务应用容器基于业务应用容器模板中挂载的配置文件的路径获取配置文件,包括:Optionally, the business application container obtains the configuration file based on the path of the configuration file mounted in the business application container template, including:
业务应用容器基于写在业务应用容器的业务配置参数中的配置文件的路径获取配置文件。The business application container obtains the configuration file based on the path of the configuration file written in the business configuration parameters of the business application container.
为解决上述技术问题,本申请还提供一种容器组的配置装置,包括:In order to solve the above technical problems, the present application also provides a container group configuration device, including:
调用单元,被设置为在接收到容器组创建命令后,调用预设的初始化容器模板和预设的 业务应用容器模板;The calling unit is configured to call a preset initialization container template and a preset Business application container template;
第一创建单元,被设置为利用初始化容器模板为容器组创建初始化容器,以使初始化容器运行初始化容器模板中的自适应参数获取脚本获取配置参数并生成容器组的配置文件;A first creation unit is configured to create an initialization container for the container group by using the initialization container template, so that the initialization container runs an adaptive parameter acquisition script in the initialization container template to acquire configuration parameters and generate a configuration file for the container group;
第二创建单元,被设置为利用业务应用容器模板为容器组创建业务应用容器,以使业务应用容器基于业务应用容器模板中挂载的配置文件的路径获取配置文件,并根据配置参数完成应用配置。The second creation unit is configured to create a business application container for the container group using the business application container template, so that the business application container obtains the configuration file based on the path of the configuration file mounted in the business application container template, and completes the application configuration according to the configuration parameters.
为解决上述技术问题,本申请还提供一种容器组的配置设备,包括:In order to solve the above technical problems, the present application also provides a configuration device for a container group, including:
存储器,被设置为存储计算机程序;a memory arranged to store a computer program;
处理器,被设置为执行计算机程序,计算机程序被处理器执行时实现如上述任意一项容器组的配置方法的步骤。The processor is configured to execute a computer program, and when the computer program is executed by the processor, the steps of any of the above-mentioned methods for configuring a container group are implemented.
为解决上述技术问题,本申请还提供一种非易失性可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任意一项容器组的配置方法的步骤。In order to solve the above technical problems, the present application also provides a non-volatile readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above container group configuration methods are implemented.
本申请所提供的容器组的配置方法,改无状态控制器中原有的业务容器模板为初始化容器模板加业务容器模板,初始化容器模板中设有自适应参数获取脚本,在要创建的容器组中,在初始化容器被首先创建后,会自动获取配置参数并生成所在容器组的配置文件;业务应用容器模板中挂载配置文件的路径,在业务应用容器生成后,根据该路径获取配置文件,并根据配置参数完成应用配置。实现了单个无状态控制器创建容器组时差异化自适应配置参数,使得k8s集群中同一个无状态控制器内的容器组能够根据自身所处的位置动态生成、加载不同的配置参数,降低了k8s中应用部署的复杂度,提高了k8s中容器的灵活性。The configuration method of the container group provided in the present application changes the original business container template in the stateless controller to the initialization container template plus the business container template. The initialization container template is provided with an adaptive parameter acquisition script. In the container group to be created, after the initialization container is first created, the configuration parameters will be automatically acquired and the configuration file of the container group will be generated; the path of the configuration file is mounted in the business application container template. After the business application container is generated, the configuration file is acquired according to the path, and the application configuration is completed according to the configuration parameters. Differentiated adaptive configuration parameters are implemented when a single stateless controller creates a container group, so that the container group in the same stateless controller in the k8s cluster can dynamically generate and load different configuration parameters according to its own location, reducing the complexity of application deployment in k8s and improving the flexibility of containers in k8s.
本申请还提供一种容器组的配置装置、设备及非易失性可读存储介质,具有上述有益效果,在此不再赘述。The present application also provides a container group configuration device, equipment and non-volatile readable storage medium, which have the above-mentioned beneficial effects and are not described in detail here.
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present application or the technical solutions of the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
图1为本申请实施例提供的一种容器组的配置方法的流程图;FIG1 is a flow chart of a method for configuring a container group provided in an embodiment of the present application;
图2为本申请实施例提供的一种组件部署架构示意图;FIG2 is a schematic diagram of a component deployment architecture provided in an embodiment of the present application;
图3为本申请实施例提供的一种容器组的配置装置的结构示意图;FIG3 is a schematic diagram of the structure of a container group configuration device provided in an embodiment of the present application;
图4为本申请实施例提供的一种容器组的配置设备的结构示意图。 FIG. 4 is a schematic diagram of the structure of a container group configuration device provided in an embodiment of the present application.
本申请的核心是提供一种容器组的配置方法、装置、设备及非易失性可读存储介质,用于实现k8s集群中单个无状态控制器内容器组参数差异化自适应配置,使得k8s集群中同一个无状态控制器内的容器组能够根据自身所处的位置动态生成、加载不同的配置参数,降低k8s中应用部署的复杂度,提高k8s中容器的灵活性。The core of this application is to provide a container group configuration method, device, equipment and non-volatile readable storage medium, which are used to realize differentiated adaptive configuration of container group parameters in a single stateless controller in a k8s cluster, so that the container group in the same stateless controller in the k8s cluster can dynamically generate and load different configuration parameters according to its own location, thereby reducing the complexity of application deployment in k8s and improving the flexibility of containers in k8s.
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。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 only 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.
图1为本申请实施例提供的一种容器组的配置方法的流程图;图2为本申请实施例提供的一种组件部署架构示意图。FIG1 is a flow chart of a method for configuring a container group provided in an embodiment of the present application; FIG2 is a schematic diagram of a component deployment architecture provided in an embodiment of the present application.
如图1所示,本申请实施例提供的容器组的配置方法应用于无状态控制器所在节点,包括:As shown in FIG1 , the configuration method of the container group provided in the embodiment of the present application is applied to the node where the stateless controller is located, including:
S101:在接收到容器组创建命令后,调用预设的初始化容器模板和预设的业务应用容器模板。S101: After receiving a container group creation command, calling a preset initialization container template and a preset business application container template.
S102:利用初始化容器模板为容器组创建初始化容器,以使初始化容器运行初始化容器模板中的自适应参数获取脚本获取配置参数并生成容器组的配置文件。S102: Create an initialization container for the container group using the initialization container template, so that the initialization container runs an adaptive parameter acquisition script in the initialization container template to acquire configuration parameters and generate a configuration file for the container group.
S103:利用业务应用容器模板为容器组创建业务应用容器,以使业务应用容器基于业务应用容器模板中挂载的配置文件的路径获取配置文件,并根据配置参数完成应用配置。S103: Create a business application container for the container group using the business application container template, so that the business application container obtains the configuration file based on the path of the configuration file mounted in the business application container template, and completes the application configuration according to the configuration parameters.
在可选的实施中,无状态控制器为k8s提供的控制器组件,运行于容器集群中的物理节点上。针对业务应用提供服务时,由无状态控制器创建的容器组(Pod)也可能运行于容器集群中的不同物理节点。In an optional implementation, the stateless controller is a controller component provided by k8s, running on a physical node in the container cluster. When providing services for business applications, the container groups (Pods) created by the stateless controller may also run on different physical nodes in the container cluster.
对于S101来说,现有的无状态控制器采用统一的容器组模板创建业务应用容器后,业务应用容器挂载业务应用正常运行所需的系统目录。但采用这种方式,由无状态控制器创建的多个业务应用容器只能采用同样的配置文件。而在本申请实施例提供的容器组的配置方法中,改无状态控制器原本仅有业务应用容器模板为设有初始化容器模板以及业务应用容器模板,由容器集群中首个创建的初始化容器来获取差异化的配置参数、生成配置文件,供后续创建的业务应用容器挂载,实现不同容器组的差异化配置,无需挂载ConfigMap,也不会对业务应用逻辑产生影响。For S101, after the existing stateless controller uses a unified container group template to create a business application container, the business application container mounts the system directory required for the normal operation of the business application. However, in this way, multiple business application containers created by the stateless controller can only use the same configuration file. In the configuration method of the container group provided in the embodiment of the present application, the stateless controller that originally only had a business application container template is changed to an initialization container template and a business application container template. The first initialization container created in the container cluster obtains differentiated configuration parameters and generates configuration files for subsequently created business application containers to mount, thereby realizing differentiated configuration of different container groups. There is no need to mount ConfigMap, and it will not affect the business application logic.
可选地,在创建需要进行差异化配置的无状态负载时,使用k8s的初始化容器(Init- container)机制,为业务应用的容器组模板增加初始化容器模板,该初始化模板挂载有写入配置文件的目录,同时设有用于获取配置参数生成配置文件的自适应参数获取脚本。Optionally, when creating a stateless load that requires differential configuration, use the k8s initialization container (Init- The container) mechanism is used to add an initialization container template to the container group template of the business application. The initialization template is mounted with a directory for writing configuration files, and is provided with an adaptive parameter acquisition script for acquiring configuration parameters to generate configuration files.
同时对业务应用容器模板进行改动,为业务应用容器模板挂载写入配置文件的目录,以使创建的业务应用容器能够获取差异化的配置文件。At the same time, the business application container template is modified to mount the directory where the configuration files are written to the business application container template, so that the created business application container can obtain differentiated configuration files.
对于S102来说,初始化容器是k8s的容器组机制中首个创建的容器,故可以保证该初始化容器先于业务应用容器运行。初始化容器被创建后,运行自适应参数获取脚本,即可根据预先编写的逻辑自适应获取所需的配置参数。例如,初始化容器获取配置参数并生成容器组的配置文件,可以包括:初始化容器获取容器组所在节点的环境信息,以确定第一配置参数;初始化容器根据第一配置参数生成配置文件。For S102, the initialization container is the first container created in the container group mechanism of k8s, so it can be guaranteed that the initialization container runs before the business application container. After the initialization container is created, the adaptive parameter acquisition script is run to adaptively obtain the required configuration parameters according to the pre-written logic. For example, the initialization container obtains the configuration parameters and generates the configuration file of the container group, which may include: the initialization container obtains the environmental information of the node where the container group is located to determine the first configuration parameter; the initialization container generates the configuration file according to the first configuration parameter.
其中,初始化容器获取容器组所在节点的环境信息,以确定第一配置参数,可以为:初始化容器基于初始化容器模板中挂载的容器组所在节点的系统目录,获取容器组所在节点的环境信息,以确定第一配置参数。The initialization container obtains the environment information of the node where the container group is located to determine the first configuration parameter. The initialization container may obtain the environment information of the node where the container group is located based on the system directory of the node where the container group is located mounted in the initialization container template to determine the first configuration parameter.
即在初始化容器模板中,不仅挂载有预先为配置文件分配的目录,还挂载有系统目录,并设置自适应参数获取脚本的运行逻辑为根据初始化容器所在容器组所在节点的系统目录确定该节点的环境信息,进而生成配置文件。That is, in the initialization container template, not only the directory pre-allocated for the configuration file is mounted, but also the system directory is mounted, and the running logic of the adaptive parameter acquisition script is set to determine the environment information of the node according to the system directory of the node where the container group where the initialization container is located is located, and then generate the configuration file.
则初始化容器模板中预先挂载有生成配置文件所必需的获取系统信息的目录,可以包括/etc/iscsi(系统小型计算机系统接口目录)、/sys/fs/cgroup(系统控制群组目录)、/lib/modules(标准程序设计库模块目录)等。由此获取的第一配置参数可以包括:系统小型计算机系统接口参数、系统控制群组参数、标准程序设计库模块参数等。The initialization container template is pre-mounted with directories for obtaining system information necessary for generating configuration files, which may include /etc/iscsi (system small computer system interface directory), /sys/fs/cgroup (system control group directory), /lib/modules (standard programming library module directory), etc. The first configuration parameters thus obtained may include: system small computer system interface parameters, system control group parameters, standard programming library module parameters, etc.
则为了实现S102的创建初始化容器与运行自适应参数获取脚本生成配置文件的过程,在无状态控制器中,为需要动态生成差异化配置的无状态负载模板增加初始化容器模板和业务应用容器模板,其内部主要逻辑至少包括:In order to implement the process of creating an initialization container and running an adaptive parameter acquisition script to generate a configuration file in S102, in the stateless controller, an initialization container template and a business application container template are added to the stateless load template that needs to dynamically generate a differentiated configuration, and its internal main logic includes at least:
挂载动态生成配置所必须的目录,如/etc/iscsi(系统小型计算机系统接口目录)、/sys/fs/cgroup(系统控制群组目录)、/lib/modules(标准程序设计库模块目录)等;Mount the directories required for dynamic configuration generation, such as /etc/iscsi (system small computer system interface directory), /sys/fs/cgroup (system control group directory), /lib/modules (standard programming library module directory), etc.
挂载预先为配置文件分配的目录,用于写入生成的配置文件,并作为共享卷同时挂载给业务应用容器使用;Mount the directory pre-allocated for the configuration file to write the generated configuration file and mount it as a shared volume for use in the business application container;
开发业务逻辑,根据所在容器组的所在节点的信息,自动生成所需的配置文件;Develop business logic and automatically generate the required configuration files based on the information of the node where the container group is located;
将配置文件写入预先为配置文件分配的目录。Write the configuration file to a directory pre-allocated for configuration files.
其中,预先为配置文件分配的目录可以存储于预先为容器组分配的共享存储空间。该共享存储空间可以来源于容器组所在节点的任意后端存储,或远程的其他存储资源。 The directory pre-allocated for the configuration file may be stored in a shared storage space pre-allocated for the container group. The shared storage space may come from any backend storage of the node where the container group is located, or other remote storage resources.
除了初始化容器刚被创建后运行自适应参数获取脚本生成配置文件,也可以设计自适应参数获取脚本在容器组运行过程中,如获取配置参数的信息源发生变化,则更新配置参数并更新配置文件。例如采用挂载所在节点的系统目录的方式来获取所在节点的属性的第一配置参数,则随着系统目录中参数的更新,第一配置参数进行适应改变,同时更新配置文件。而当容器组迁移后,根据系统目录路径获取迁移后的节点的系统目录,更新第一配置参数并更新配置文件。In addition to running the adaptive parameter acquisition script to generate the configuration file after the initialization container is created, the adaptive parameter acquisition script can also be designed to update the configuration parameters and the configuration file during the operation of the container group if the information source for obtaining the configuration parameters changes. For example, the first configuration parameter of the attribute of the node is obtained by mounting the system directory of the node. As the parameters in the system directory are updated, the first configuration parameter is adapted to the change and the configuration file is updated. After the container group is migrated, the system directory of the migrated node is obtained according to the system directory path, and the first configuration parameter is updated and the configuration file is updated.
对于S103来说,按照k8s机制,在无状态控制器创建的容器组中,业务应用容器后于初始化容器创建,且根据预设的挂载有预先为配置文件分配的目录的业务应用容器模板,创建的业务应用容器挂载到预先为配置文件分配的目录,这样就可以通过共享的卷目录,读取初始化容器启动完成后创建的配置文件,以根据该配置文件进行对业务应用的配置。For S103, according to the k8s mechanism, in the container group created by the stateless controller, the business application container is created after the initialization container, and according to the preset business application container template that mounts a directory pre-allocated for the configuration file, the created business application container is mounted to the directory pre-allocated for the configuration file. In this way, the configuration file created after the initialization container is started can be read through the shared volume directory to configure the business application according to the configuration file.
则S103中业务应用容器基于业务应用容器模板中挂载的配置文件的路径获取配置文件,可以为:业务应用容器基于写在业务应用容器的业务配置参数中的配置文件的路径获取配置文件。In S103, the business application container obtains the configuration file based on the path of the configuration file mounted in the business application container template. This may be: the business application container obtains the configuration file based on the path of the configuration file written in the business configuration parameters of the business application container.
由于业务应用和初始化配置文件的过程使用不同的容器,因此可以分别挂载各自所需的系统目录,业务应用容器中无需挂在单纯为了生成配置文件而挂载的系统目录,防止潜在的越权访问风险,且业务应用本身无需做任何修改,对业务应用代码无侵入。Since the business application and the initialization configuration file process use different containers, the system directories required by each can be mounted separately. The business application container does not need to mount the system directory mounted simply for generating configuration files, preventing potential unauthorized access risks. The business application itself does not need to be modified, and there is no intrusion into the business application code.
如图2所示,记无状态控制器所在节点201为节点1,记无状态控制器创建的容器组1所在节点202为节点2,记无状态控制器创建的容器组2所在节点203为节点3。假设节点2为有8核32G CPU(Central Processing Unit,中央处理器)、有GPU的节点,节点3为有8核32G CPU、有大页内存的节点。应用本申请实施例提供的容器组的配置方法,则无状态控制器运行后调用预设的初始化容器模板和预设的业务应用容器模板,分别在节点2和节点3创建容器组1和容器组2。在节点2的容器组1中,首先创建容器组1中的初始化容器,初始化容器被创建后在节点2运行自适应参数获取脚本根据节点2的属性,创建配置文件1,而后创建业务应用容器,业务应用容器与初始化容器挂载配置文件所在目录,业务应用容器被创建后读取配置文件1。在节点3的容器组2中,首先创建容器组2中的初始化容器,初始化容器被创建后在节点3运行自适应参数获取脚本根据节点3的属性,创建配置文件2,而后创建业务应用容器,业务应用容器与初始化容器挂载配置文件所在目录,业务应用容器被创建后读取配置文件2。通过配置文件1和配置文件2的差异化,实现了容器组1的业务应用和容器组2的业务应用的差异化配置,且能够自动适应其所属环境的特性,当容器组重新被创建或迁移时,依然能够自适应获取配置参数实现差异化配置。 As shown in Figure 2, the node 201 where the stateless controller is located is recorded as node 1, the node 202 where the container group 1 created by the stateless controller is located is recorded as node 2, and the node 203 where the container group 2 created by the stateless controller is located is recorded as node 3. Assume that node 2 is a node with an 8-core 32G CPU (Central Processing Unit) and a GPU, and node 3 is a node with an 8-core 32G CPU and a large page memory. Applying the configuration method of the container group provided in the embodiment of the present application, the stateless controller calls the preset initialization container template and the preset business application container template after running, and creates container group 1 and container group 2 in node 2 and node 3 respectively. In the container group 1 of node 2, the initialization container in container group 1 is first created. After the initialization container is created, the adaptive parameter acquisition script is run in node 2 to create configuration file 1 according to the properties of node 2, and then a business application container is created. The business application container and the initialization container mount the directory where the configuration file is located. After the business application container is created, the configuration file 1 is read. In container group 2 of node 3, the initialization container in container group 2 is first created. After the initialization container is created, the adaptive parameter acquisition script is run on node 3 to create configuration file 2 according to the properties of node 3, and then the business application container is created. The business application container and the initialization container mount the directory where the configuration file is located. After the business application container is created, the configuration file 2 is read. Through the differentiation of configuration file 1 and configuration file 2, the differentiated configuration of the business application of container group 1 and the business application of container group 2 is realized, and it can automatically adapt to the characteristics of the environment to which it belongs. When the container group is re-created or migrated, it can still adaptively obtain configuration parameters to achieve differentiated configuration.
本申请实施例提供的容器组的配置方法,改无状态控制器中原有的业务容器模板为初始化容器模板加业务容器模板,初始化容器模板中设有自适应参数获取脚本,在要创建的容器组中,在初始化容器被首先创建后,会自动获取配置参数并生成所在容器组的配置文件;业务应用容器模板中挂载配置文件的路径,在业务应用容器生成后,根据该路径获取配置文件,并根据配置参数完成应用配置。实现了单个无状态控制器创建容器组时差异化自适应配置参数,使得k8s集群中同一个无状态控制器内的容器组能够根据自身所处的位置动态生成、加载不同的配置参数,降低了k8s中应用部署的复杂度,提高了k8s中容器的灵活性。The configuration method of the container group provided in the embodiment of the present application changes the original business container template in the stateless controller to the initialization container template plus the business container template. The initialization container template is provided with an adaptive parameter acquisition script. In the container group to be created, after the initialization container is first created, the configuration parameters will be automatically acquired and the configuration file of the container group will be generated; the path of the configuration file is mounted in the business application container template. After the business application container is generated, the configuration file is acquired according to the path, and the application configuration is completed according to the configuration parameters. Differentiated adaptive configuration parameters are implemented when a single stateless controller creates a container group, so that the container group in the same stateless controller in the k8s cluster can dynamically generate and load different configuration parameters according to its own location, reducing the complexity of application deployment in k8s and improving the flexibility of containers in k8s.
在上述实施例的基础上,为方便对配置文件与容器组进行容器管理,在本申请实施例提供的容器组的配置方法中,采用容器组的临时存储卷(emptyDir)作为写入配置文件的目录。则在S102中,将配置文件存储于容器组的临时存储卷。On the basis of the above embodiment, in order to facilitate container management of configuration files and container groups, in the configuration method of the container group provided in the embodiment of the present application, the temporary storage volume (emptyDir) of the container group is used as the directory for writing configuration files. Then, in S102, the configuration file is stored in the temporary storage volume of the container group.
emptyDir顾名思义,是一个空目录,其生命周期和所属的容器组是完全一致的。emptyDir可以在同一容器组的不同容器之间共享工作工程中产生的文件。emptyDir类型的卷(Volume)在容器组分配到节点上时被创建,k8s会在节点上自动分配一个目录,因此无需指定宿主机节点上对应的目录文件。这个目录的初始内容为空。当容器组从节点上移除时,emptyDir中的数据会被永久删除。且容器的崩溃(crashing)事件不会导致emptyDir中的数据被删除。As the name implies, emptyDir is an empty directory, and its life cycle is exactly the same as the container group to which it belongs. emptyDir can share files generated in a work project between different containers in the same container group. A volume of type emptyDir is created when a container group is assigned to a node. k8s will automatically assign a directory on the node, so there is no need to specify the corresponding directory file on the host node. The initial content of this directory is empty. When the container group is removed from the node, the data in emptyDir will be permanently deleted. And a container crash will not cause the data in emptyDir to be deleted.
在本申请实施例中,采用临时存储卷emptyDir存储容器组自适应生成的配置文件,临时存储卷emptyDir与所属容器组同生命周期,便于管理。In the embodiment of the present application, a temporary storage volume emptyDir is used to store the configuration file adaptively generated by the container group. The temporary storage volume emptyDir has the same life cycle as the container group to which it belongs, which facilitates management.
默认情况下,emptyDir可以使用任何类型的由节点提供的后端存储。则在本申请实施例提供的容器组的配置方法中,可以将临时存储卷存储于容器组所在节点的后端存储。此种方式下,临时存储卷占用容器组所在节点的内存资源。By default, emptyDir can use any type of backend storage provided by the node. In the configuration method of the container group provided in the embodiment of the present application, the temporary storage volume can be stored in the backend storage of the node where the container group is located. In this way, the temporary storage volume occupies the memory resources of the node where the container group is located.
在特殊场景下,也可以采用容器组的临时文件系统(tmpfs)作为emptyDir的可用存储资源。则也可以将临时存储卷存储于容器组的临时文件系统,且临时存储卷的临时存储卷媒介(emptyDir.medium)字段定义为内存(Memory)。这种设置,配置文件所在的卷的占用会消耗容器的内存份额,但作为临时文件可以供外部访问,以便获取容器组的配置信息实现监控功能。In special scenarios, the temporary file system (tmpfs) of the container group can also be used as the available storage resource of emptyDir. The temporary storage volume can also be stored in the temporary file system of the container group, and the temporary storage volume medium (emptyDir.medium) field of the temporary storage volume is defined as memory. In this setting, the volume where the configuration file is located will consume the memory share of the container, but as a temporary file, it can be accessed externally to obtain the configuration information of the container group to implement the monitoring function.
在上述实施例的基础上,为实现单个无状态控制器下为容器组配置更为复杂的配置参数,如运行策略参数,在本申请实施例提供的容器组的配置方法中,初始化容器获取配置参数并生成容器组的配置文件,可以包括:On the basis of the above embodiment, in order to configure more complex configuration parameters for a container group under a single stateless controller, such as operation policy parameters, in the configuration method of a container group provided in an embodiment of the present application, initializing a container to obtain configuration parameters and generating a configuration file for the container group may include:
初始化容器获取容器组所在节点的环境信息,以确定第一配置参数; The initialization container obtains environment information of the node where the container group is located to determine the first configuration parameter;
初始化容器基于自适应参数获取脚本记载的应用配置中心地址,向应用配置中心上传包括第一配置参数的配置请求;The initialization container obtains the address of the application configuration center recorded in the script based on the adaptive parameters, and uploads a configuration request including the first configuration parameter to the application configuration center;
初始化容器接收应用配置中心分配的第二配置参数;The initialization container receives the second configuration parameter assigned by the application configuration center;
初始化容器根据第一配置参数和第二配置参数生成配置文件。The initialization container generates a configuration file according to the first configuration parameter and the second configuration parameter.
在可选的实施中,对于更加负载的应用配置文件,无法由应用自身根据系统信息生成的,或者需要较为复杂的逻辑判断的,可以设计一个应用配置中心的服务,在初始化容器启动时,可以获取到自身所在的节点当前信息,按需向应用配置中心发起请求,获取经应用配置中心动态计算的配置参数,生成所需的配置文件,写入预先为配置文件分配的目录。In an optional implementation, for application configuration files with higher loads that cannot be generated by the application itself based on system information, or that require more complex logical judgments, a service of an application configuration center can be designed. When the initialization container starts, it can obtain the current information of the node where it is located, initiate a request to the application configuration center as needed, obtain the configuration parameters dynamically calculated by the application configuration center, generate the required configuration files, and write them into the directory pre-allocated for the configuration files.
将应用配置中心部署于需要动态形成差异化配置的业务应用所在的容器集群中。应用配置中心可以运行于无状态控制器所在节点、容器组所在节点之外的另一节点,如监控节点。Deploy the application configuration center in the container cluster where the business applications that need to dynamically form differentiated configurations are located. The application configuration center can run on another node other than the node where the stateless controller is located and the node where the container group is located, such as the monitoring node.
设计初始化容器模板中的自适应参数获取脚本在获取所在节点的属性作为第一配置参数后,再将包括第一配置参数的节点信息上传应用配置中心以获取应用配置中心分配的第二配置参数,初始化容器根据第一配置参数和第二配置参数生成配置文件。The adaptive parameter acquisition script in the initialization container template is designed to obtain the attributes of the node as the first configuration parameter, and then upload the node information including the first configuration parameter to the application configuration center to obtain the second configuration parameter assigned by the application configuration center. The initialization container generates a configuration file based on the first configuration parameter and the second configuration parameter.
则在无状态控制器的初始化容器模板中,除了本申请实施例一提供的内部主要逻辑之外,还包括:Then, in the initialization container template of the stateless controller, in addition to the internal main logic provided in the first embodiment of the present application, it also includes:
开发业务逻辑,携带节点信息,访问容器集群的应用配置中心,由应用配置中心获取第二配置参数并返回给初始化容器;Develop business logic, carry node information, access the application configuration center of the container cluster, and the application configuration center obtains the second configuration parameter and returns it to the initialization container;
根据第一配置参数和第二配置参数生成配置文件,写入预先为配置文件分配的目录。A configuration file is generated according to the first configuration parameter and the second configuration parameter, and is written into a directory pre-allocated for the configuration file.
其中,第一配置参数主要为容器组所在节点的系统信息,可以包括:系统小型计算机系统接口参数、系统控制群组参数、标准程序设计库模块参数等。The first configuration parameter is mainly system information of the node where the container group is located, which may include: system small computer system interface parameters, system control group parameters, standard programming library module parameters, etc.
第二配置参数则可以为运行策略配置参数,即根据容器组所在节点的运行状态划分的运行策略对应的配置参数。则第二配置参数可以为:高性能配置参数、高可用配置参数、均衡配置参数、低功耗配置参数中的一种。The second configuration parameter may be an operation strategy configuration parameter, that is, a configuration parameter corresponding to an operation strategy divided according to the operation status of the node where the container group is located. The second configuration parameter may be one of: a high performance configuration parameter, a high availability configuration parameter, a balanced configuration parameter, and a low power consumption configuration parameter.
第二配置参数可以为管理员配置的与容器组所在节点对应的运行策略配置参数。由于运行策略配置参数的确定较为复杂,应用配置中心可以仅作为一个管理员管理容器组的平台,在平台上显示不同容器组所在节点的第一配置参数以供管理员查看,并由管理员根据经验分配第二配置参数。The second configuration parameter can be an operation policy configuration parameter corresponding to the node where the container group is located, configured by the administrator. Since the determination of the operation policy configuration parameter is relatively complex, the application configuration center can only serve as a platform for administrators to manage container groups, displaying the first configuration parameters of the nodes where different container groups are located on the platform for administrators to view, and the administrators can assign the second configuration parameters based on experience.
可选的,可以在应用配置中心预先开发接口,允许系统管理员配置各个应用的默认配置文件模板,如高性能模板、高可用模板、均衡模板、低功耗模板等,由管理员进行策略配置,通过来自容器组的请求信息,自动分析容器组所在节点的综合水平,选择合适的模板进 行下发。Optionally, an interface can be pre-developed in the application configuration center to allow system administrators to configure default configuration file templates for each application, such as high-performance templates, high-availability templates, balanced templates, low-power templates, etc. The administrator configures the policy and automatically analyzes the comprehensive level of the node where the container group is located through the request information from the container group, and selects the appropriate template for deployment. The line is issued.
需要说明的是,应用配置中心需要在获取容器组所在节点的第一配置参数后才获悉容器组所在节点的信息,进而分配第二配置参数。但根据容器组所在节点的需求,在首次分配第二配置参数之后,容器组所在节点可以按需上传第一配置参数,应用配置中心所在节点也可以按预设规则下发第二配置参数。It should be noted that the application configuration center needs to obtain the first configuration parameters of the node where the container group is located before learning the information of the node where the container group is located, and then assigning the second configuration parameters. However, according to the needs of the node where the container group is located, after the second configuration parameters are assigned for the first time, the node where the container group is located can upload the first configuration parameters on demand, and the node where the application configuration center is located can also issue the second configuration parameters according to the preset rules.
则S102中初始化容器向应用配置中心上传包括第一配置参数的配置请求,可以为:初始化容器周期性向应用配置中心上传配置请求。即初始化容器可以每第一周期向应用配置中心发送携带第一配置参数的配置请求,以供应用配置中心确认是否需要更新对该容器组的第二配置参数。Then, in S102, the initialization container uploads the configuration request including the first configuration parameter to the application configuration center, which may be: the initialization container periodically uploads the configuration request to the application configuration center. That is, the initialization container may send the configuration request carrying the first configuration parameter to the application configuration center every first period, so that the application configuration center can confirm whether the second configuration parameter of the container group needs to be updated.
或者,S102中初始化容器向应用配置中心上传包括第一配置参数的配置请求,可以为:初始化容器在第一配置参数发生变更后,向应用配置中心上传包括变更后的第一配置参数的配置请求。即初始化容器在刚被创建后获取第一配置参数后,监控第一配置参数的变更情况,在发现第一配置参数发生变动后,再向应用配置中心发送携带第一配置参数的配置请求,以供应用配置中心重新分配与更新后的第一配置参数对应的第二配置参数。Alternatively, the initialization container uploading the configuration request including the first configuration parameter to the application configuration center in S102 may be: after the first configuration parameter is changed, the initialization container uploads the configuration request including the changed first configuration parameter to the application configuration center. That is, after the initialization container obtains the first configuration parameter just after being created, it monitors the change of the first configuration parameter, and after finding that the first configuration parameter has changed, it sends the configuration request carrying the first configuration parameter to the application configuration center, so that the application configuration center reallocates the second configuration parameter corresponding to the updated first configuration parameter.
如图2所示,即应用配置中心所在节点204为节点4,在运行于节点2的容器组1的初始化容器被创建后,向应用配置中心上传容器组1的第一配置参数,应用配置中心向该初始化容器下发第二配置参数,容器组1的初始化容器根据第一配置参数和第二配置参数生成配置文件1。运行于节点3的容器组2的初始化容器被创建后,向应用配置中心上传容器组2的第一配置参数,应用配置中心向该初始化容器下发第二配置参数,容器组2的初始化容器根据第一配置参数和第二配置参数生成配置文件2。通过应用配置中心,实现容器组1和容器组2的复杂差异化。As shown in Figure 2, the node 204 where the application configuration center is located is node 4. After the initialization container of container group 1 running on node 2 is created, the first configuration parameter of container group 1 is uploaded to the application configuration center, and the application configuration center sends the second configuration parameter to the initialization container. The initialization container of container group 1 generates configuration file 1 according to the first configuration parameter and the second configuration parameter. After the initialization container of container group 2 running on node 3 is created, the first configuration parameter of container group 2 is uploaded to the application configuration center, and the application configuration center sends the second configuration parameter to the initialization container. The initialization container of container group 2 generates configuration file 2 according to the first configuration parameter and the second configuration parameter. Through the application configuration center, complex differentiation between container group 1 and container group 2 is achieved.
本申请实施例提供的容器组的配置方法,通过设计应用配置中心,设计初始化容器在启动后将获取的第一配置参数上传应用配置中心,应用配置中心为容器组分配第二配置参数,初始化容器根据第一配置参数和第二配置参数生成配置文件,从而能够根据节点运行状态进行动态配置,进一步提高单个无状态控制器内容器组的自适应参数配置的灵活性。The configuration method of the container group provided in the embodiment of the present application designs an application configuration center, designs the initialization container to upload the acquired first configuration parameters to the application configuration center after startup, the application configuration center assigns the second configuration parameters to the container group, and the initialization container generates a configuration file according to the first configuration parameters and the second configuration parameters, so that dynamic configuration can be performed according to the running status of the node, further improving the flexibility of the adaptive parameter configuration of the container group in a single stateless controller.
在上述实施例的基础上,在本申请实施例提供的容器组的配置方法中,基于应用配置中心,可以实现对第二配置参数的自动分配。可以设计应用配置中心基于监控系统获得的容器组所在节点的运行状态,进行分析后,自动确定对容器组的第二配置参数。则第二配置参数可以为调用监控脚本分析容器组所在节点的运行状态后生成的运行策略配置参数。On the basis of the above embodiments, in the configuration method of the container group provided in the embodiment of the present application, the automatic allocation of the second configuration parameter can be realized based on the application configuration center. The application configuration center can be designed to automatically determine the second configuration parameter for the container group after analyzing the running status of the node where the container group is located based on the monitoring system. The second configuration parameter can be the running policy configuration parameter generated after calling the monitoring script to analyze the running status of the node where the container group is located.
在可选的实施中,通过开发应用配置中心的接口,对接k8s集群的监控系统,动态感知 集群当前的整体负载水平、业务流量、集群规模等,为动态生成配置文件内容字段提供参考。In an optional implementation, the interface of the application configuration center is developed to connect to the monitoring system of the k8s cluster for dynamic perception. The current overall load level, business traffic, cluster size, etc. of the cluster provide a reference for dynamically generating configuration file content fields.
通过对接k8s集群的监控系统,应用配置中心结合初始化容器上传的所在节点的第一配置参数,以及监控系统监控得到的容器组所在节点的运行状态,通过更加丰富的性能参数进行自动化的综合决策,动态生成最适合容器组的第二配置参数,进行下发。By connecting to the monitoring system of the k8s cluster, the application configuration center combines the first configuration parameters of the node where the initialization container is uploaded and the operating status of the node where the container group is located obtained by the monitoring system. It makes an automated comprehensive decision through more abundant performance parameters, dynamically generates the second configuration parameters that are most suitable for the container group, and distributes them.
在上述实施例中提到,在首次分配第二配置参数之后,容器组所在节点可以按需上传第一配置参数,应用配置中心所在节点也可以按预设规则下发第二配置参数。则在本申请实施例提供的容器组的配置方法中,第二配置参数可以为应用配置中心在接收到第一配置参数后周期性下发的运行策略配置参数。即应用配置中心可以在接收到第一配置参数后,每第二周期综合容器组所在节点的运行状态和容器组的第一配置参数生成第二配置参数并下发。In the above embodiment, it is mentioned that after the second configuration parameter is allocated for the first time, the node where the container group is located can upload the first configuration parameter as needed, and the node where the application configuration center is located can also send the second configuration parameter according to the preset rules. In the configuration method of the container group provided in the embodiment of the present application, the second configuration parameter can be the operation policy configuration parameter periodically sent by the application configuration center after receiving the first configuration parameter. That is, after receiving the first configuration parameter, the application configuration center can generate and send the second configuration parameter based on the operation status of the node where the container group is located and the first configuration parameter of the container group every second period.
或者,第二配置参数可以为应用配置中心在接收到第一配置参数后,在容器组所在节点的运行状态参数被监控到运行状态变化时下发的运行策略配置参数。即应用配置中心在接收到第一配置参数后,定时或实时地根据监控系统提供的容器组所在节点的运行状态以及第一配置参数确定是否需要更新分配给容器组的第二配置参数,在更新第二配置参数后再将第二配置参数下发到容器组所在节点。Alternatively, the second configuration parameter may be an operation policy configuration parameter issued by the application configuration center after receiving the first configuration parameter when the operation status parameter of the node where the container group is located is monitored to change the operation status. That is, after receiving the first configuration parameter, the application configuration center determines whether it is necessary to update the second configuration parameter assigned to the container group based on the operation status of the node where the container group is located provided by the monitoring system and the first configuration parameter on a regular or real-time basis, and then issues the second configuration parameter to the node where the container group is located after updating the second configuration parameter.
本申请实施例提供的容器组的配置方法,通过设计提供运行策略配置参数的应用配置中心对接k8s集群的监控系统,实现综合容器组所在节点的运行状态以及第一配置参数生成对容器组的运行策略配置参数,提高对单个无状态控制器内容器组自适应参数配置的智能水平。The configuration method of the container group provided in the embodiment of the present application is to connect the application configuration center that provides operation strategy configuration parameters to the monitoring system of the k8s cluster by designing, so as to realize the operation status of the node where the container group is located and the first configuration parameters to generate the operation strategy configuration parameters for the container group, thereby improving the intelligence level of the adaptive parameter configuration of the container group in a single stateless controller.
上文详述了容器组的配置方法对应的各个实施例,在此基础上,本申请还公开了与上述方法对应的容器组的配置装置、设备及非易失性可读存储介质。The above describes in detail various embodiments corresponding to the method for configuring a container group. On this basis, the present application also discloses a container group configuration device, equipment and non-volatile readable storage medium corresponding to the above method.
图3为本申请实施例提供的一种容器组的配置装置的结构示意图。FIG3 is a schematic diagram of the structure of a container group configuration device provided in an embodiment of the present application.
如图3所示,本申请实施例提供的容器组的配置装置包括:As shown in FIG3 , the configuration device of the container group provided in the embodiment of the present application includes:
调用单元301,被设置为在接收到容器组创建命令后,调用预设的初始化容器模板和预设的业务应用容器模板;The calling unit 301 is configured to call a preset initialization container template and a preset business application container template after receiving a container group creation command;
第一创建单元302,被设置为利用初始化容器模板为容器组创建初始化容器,以使初始化容器运行初始化容器模板中的自适应参数获取脚本获取配置参数并生成容器组的配置文件;The first creation unit 302 is configured to create an initialization container for the container group by using the initialization container template, so that the initialization container runs an adaptive parameter acquisition script in the initialization container template to obtain configuration parameters and generate a configuration file for the container group;
第二创建单元303,被设置为利用业务应用容器模板为容器组创建业务应用容器,以使业务应用容器基于业务应用容器模板中挂载的配置文件的路径获取配置文件,并根据配置参 数完成应用配置。The second creation unit 303 is configured to create a business application container for the container group using the business application container template, so that the business application container obtains the configuration file based on the path of the configuration file mounted in the business application container template, and Complete the application configuration.
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。Since the embodiments of the apparatus part correspond to the embodiments of the method part, please refer to the description of the embodiments of the method part for the embodiments of the apparatus part, which will not be repeated here.
图4为本申请实施例提供的一种容器组的配置设备的结构示意图。FIG. 4 is a schematic diagram of the structure of a container group configuration device provided in an embodiment of the present application.
如图4所示,本申请实施例提供的容器组的配置设备包括:As shown in FIG4 , the configuration device of the container group provided in the embodiment of the present application includes:
存储器410,被设置为存储计算机程序411;A memory 410 configured to store a computer program 411;
处理器420,被设置为执行计算机程序411,该计算机程序411被处理器420执行时实现如上述任意一项实施例容器组的配置方法的步骤。The processor 420 is configured to execute the computer program 411. When the computer program 411 is executed by the processor 420, the steps of the method for configuring a container group in any one of the above embodiments are implemented.
其中,处理器420可以包括一个或多个处理核心,比如3核心处理器、8核心处理器等。处理器420可以采用数字信号处理DSP(Digital Signal Processing)、现场可编程门阵列FPGA(Field-Programmable Gate Array)、可编程逻辑阵列PLA(Programmable Logic Array)中的至少一种硬件形式来实现。处理器420也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器CPU(Central Processing Unit);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器420可以集成有图像处理器GPU(Graphics Processing Unit),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器420还可以包括人工智能AI(Artificial Intelligence)处理器,该AI处理器用于处理有关机器学习的计算操作。Among them, the processor 420 may include one or more processing cores, such as a 3-core processor, an 8-core processor, etc. The processor 420 may be implemented in at least one hardware form of a digital signal processing DSP (Digital Signal Processing), a field-programmable gate array FPGA (Field-Programmable Gate Array), and a programmable logic array PLA (Programmable Logic Array). The processor 420 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a central processing unit CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 420 may be integrated with a graphics processor GPU (Graphics Processing Unit), and the GPU is responsible for rendering and drawing the content that needs to be displayed on the display screen. In some embodiments, the processor 420 may also include an artificial intelligence AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.
存储器410可以包括一个或多个非易失性可读存储介质,该非易失性可读存储介质可以是非暂态的。存储器410还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器410至少被设置为存储以下计算机程序411,其中,该计算机程序411被处理器420加载并执行之后,能够实现前述任一实施例公开的容器组的配置方法中的相关步骤。另外,存储器410所存储的资源还可以包括操作系统412和数据413等,存储方式可以是短暂存储或者永久存储。其中,操作系统412可以为Windows。数据413可以包括但不限于上述方法所涉及到的数据。The memory 410 may include one or more non-volatile readable storage media, which may be non-transitory. The memory 410 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In this embodiment, the memory 410 is at least configured to store the following computer program 411, wherein the computer program 411, after being loaded and executed by the processor 420, can implement the relevant steps in the configuration method of the container group disclosed in any of the aforementioned embodiments. In addition, the resources stored in the memory 410 may also include an operating system 412 and data 413, etc., and the storage method may be temporary storage or permanent storage. Among them, the operating system 412 may be Windows. Data 413 may include, but is not limited to, the data involved in the above method.
在一些实施例中,容器组的配置设备还可包括有显示屏430、电源440、通信接口450、输入输出接口460、传感器470以及通信总线480。In some embodiments, the configuration device of the container group may further include a display screen 430 , a power supply 440 , a communication interface 450 , an input and output interface 460 , a sensor 470 , and a communication bus 480 .
本领域技术人员可以理解,图4中示出的结构并不构成对容器组的配置设备的限定,可以包括比图示更多或更少的组件。Those skilled in the art will appreciate that the structure shown in FIG. 4 does not constitute a limitation on the configuration device of the container group, and may include more or fewer components than those shown in the figure.
本申请实施例提供的容器组的配置设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如上的容器组的配置方法,效果同上。 The container group configuration device provided in the embodiment of the present application includes a memory and a processor. When the processor executes the program stored in the memory, it can implement the above container group configuration method, and the effect is the same as above.
需要说明的是,以上所描述的装置、设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。It should be noted that the above-described device and equipment embodiments are merely schematic. For example, the division of modules is merely a logical function division. There may be other division methods in actual implementation, such as multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection of devices or modules, which may be electrical, mechanical or other forms. The modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed on multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment.
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。In addition, each functional module in each embodiment of the present application can be integrated into a processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The above integrated modules can be implemented in the form of hardware or software functional modules.
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个非易失性可读存储介质中,执行本申请各个实施例方法的全部或部分步骤。If the integrated module is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a non-volatile readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a non-volatile readable storage medium to execute all or part of the steps of the various embodiments of the present application.
为此,本申请实施例还提供一种非易失性可读存储介质,该非易失性可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如容器组的配置方法的步骤。To this end, an embodiment of the present application further provides a non-volatile readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the container group configuration method are implemented.
该非易失性可读存储介质可以包括:U盘、移动硬盘、只读存储器ROM(Read-Only Memory)、随机存取存储器RAM(Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。The non-volatile readable storage medium may include: a U disk, a mobile hard disk, a read-only memory ROM (Read-Only Memory), a random access memory RAM (Random Access Memory), a magnetic disk or an optical disk, and other media that can store program codes.
本实施例中提供的非易失性可读存储介质所包含的计算机程序能够在被处理器执行时实现如上的容器组的配置方法的步骤,效果同上。The computer program included in the non-volatile readable storage medium provided in this embodiment can implement the steps of the above container group configuration method when executed by the processor, and the effect is the same as above.
以上对本申请所提供的一种容器组的配置方法、装置、设备及非易失性可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及非易失性可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。 The above is a detailed introduction to a configuration method, device, equipment and non-volatile readable storage medium of a container group provided by the present application. The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same and similar parts between the embodiments can be referred to each other. For the devices, equipment and non-volatile readable storage medium disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple, and the relevant parts can be referred to the method part description. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。 It should also be noted that, in this specification, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprise", "include" or any other variants 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, the elements defined by the statement "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
Claims (20)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211518323.0 | 2022-11-30 | ||
| CN202211518323.0A CN115543548B (en) | 2022-11-30 | 2022-11-30 | Configuration method, device and equipment of container group and readable storage medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024113819A1 true WO2024113819A1 (en) | 2024-06-06 |
Family
ID=84722240
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/103412 Ceased WO2024113819A1 (en) | 2022-11-30 | 2023-06-28 | Configuration method and apparatus for pod, device, and nonvolatile readable storage medium |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN115543548B (en) |
| WO (1) | WO2024113819A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119621243A (en) * | 2024-11-29 | 2025-03-14 | 中国人寿保险股份有限公司 | Container deployment method, device, computer equipment, readable storage medium and program product |
| CN119645753A (en) * | 2024-10-17 | 2025-03-18 | 济南浪潮数据技术有限公司 | Historical performance monitoring data management method, device, equipment and storage medium |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115543548B (en) * | 2022-11-30 | 2023-03-17 | 苏州浪潮智能科技有限公司 | Configuration method, device and equipment of container group and readable storage medium |
| CN116225625B (en) * | 2023-05-11 | 2023-08-08 | 天津金城银行股份有限公司 | Application container management method, system, computer and readable storage medium |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150317407A1 (en) * | 2014-05-02 | 2015-11-05 | Netapp, Inc. | System and method for adaptive data placement within a distributed file system |
| CN110113185A (en) * | 2019-04-18 | 2019-08-09 | 卓尔购电子商务(武汉)有限公司 | Method, system, storage medium and the device of a kind of rapid deployment alliance chain |
| CN112230946A (en) * | 2020-11-18 | 2021-01-15 | 浪潮云信息技术股份公司 | Container-based application system deployment method and related device |
| CN114567584A (en) * | 2022-02-28 | 2022-05-31 | 苏州浪潮智能科技有限公司 | Routing information processing method and device, computer equipment and storage medium |
| CN115543548A (en) * | 2022-11-30 | 2022-12-30 | 苏州浪潮智能科技有限公司 | Container group configuration method, device, equipment and readable storage medium |
| CN116467043A (en) * | 2023-03-31 | 2023-07-21 | 济南浪潮数据技术有限公司 | K8s containerization differentiation-based automatic deployment method, device and medium |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10540191B2 (en) * | 2017-03-21 | 2020-01-21 | Veritas Technologies Llc | Systems and methods for using dynamic templates to create application containers |
| CN107885547A (en) * | 2017-11-08 | 2018-04-06 | 江苏国泰新点软件有限公司 | A kind of collocation method of application program, device, configuration equipment and storage medium |
| CN112783642B (en) * | 2019-11-11 | 2024-09-13 | 阿里巴巴集团控股有限公司 | In-container logic configuration method, device and computer readable medium |
-
2022
- 2022-11-30 CN CN202211518323.0A patent/CN115543548B/en active Active
-
2023
- 2023-06-28 WO PCT/CN2023/103412 patent/WO2024113819A1/en not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150317407A1 (en) * | 2014-05-02 | 2015-11-05 | Netapp, Inc. | System and method for adaptive data placement within a distributed file system |
| CN110113185A (en) * | 2019-04-18 | 2019-08-09 | 卓尔购电子商务(武汉)有限公司 | Method, system, storage medium and the device of a kind of rapid deployment alliance chain |
| CN112230946A (en) * | 2020-11-18 | 2021-01-15 | 浪潮云信息技术股份公司 | Container-based application system deployment method and related device |
| CN114567584A (en) * | 2022-02-28 | 2022-05-31 | 苏州浪潮智能科技有限公司 | Routing information processing method and device, computer equipment and storage medium |
| CN115543548A (en) * | 2022-11-30 | 2022-12-30 | 苏州浪潮智能科技有限公司 | Container group configuration method, device, equipment and readable storage medium |
| CN116467043A (en) * | 2023-03-31 | 2023-07-21 | 济南浪潮数据技术有限公司 | K8s containerization differentiation-based automatic deployment method, device and medium |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119645753A (en) * | 2024-10-17 | 2025-03-18 | 济南浪潮数据技术有限公司 | Historical performance monitoring data management method, device, equipment and storage medium |
| CN119645753B (en) * | 2024-10-17 | 2025-10-31 | 济南浪潮数据技术有限公司 | Historical performance monitoring data management method, device, equipment and storage medium |
| CN119621243A (en) * | 2024-11-29 | 2025-03-14 | 中国人寿保险股份有限公司 | Container deployment method, device, computer equipment, readable storage medium and program product |
Also Published As
| Publication number | Publication date |
|---|---|
| CN115543548B (en) | 2023-03-17 |
| CN115543548A (en) | 2022-12-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2024113819A1 (en) | Configuration method and apparatus for pod, device, and nonvolatile readable storage medium | |
| US10432464B2 (en) | Creating new cloud resource instruction set architecture | |
| CN103237046B (en) | Support distributed file system and the implementation method of mixed cloud storage application | |
| KR102706145B1 (en) | Methods for configuring virtual network interface card resources, devices, computer equipment and media | |
| CN103064742A (en) | Automatic deployment system and method of hadoop cluster | |
| CN112000463B (en) | GPU resource allocation method, system, terminal and storage medium based on CUDA | |
| CN106775946B (en) | A method of quickly creating a virtual machine | |
| CN107102824A (en) | A kind of Hadoop isomery method and systems based on storage and acceleration optimization | |
| CN110532058B (en) | Management method, device and equipment of container cluster service and readable storage medium | |
| CN108491195A (en) | Equipment controls page generation method and system | |
| CN114840223A (en) | Resource processing method and device | |
| CN111274191A (en) | Method for managing ceph cluster and cloud local storage coordinator | |
| CN108037977B (en) | Virtual computer resource management method, device, computer medium, and system | |
| CN116708583A (en) | Service execution method, storage medium, device and distributed system | |
| WO2021169618A1 (en) | Virtual machine migration method, apparatus and device, and medium | |
| CN111427822A (en) | Edge computing system | |
| CN114579250B (en) | Method, device and storage medium for constructing virtual cluster | |
| CN115801569B (en) | Access rule deployment method, device, equipment, medium and cloud platform | |
| CN110287004B (en) | Basic environment mirror image preheating method and device based on docker container technology | |
| CN115409926A (en) | Distributed rendering method | |
| CN107493200A (en) | A kind of creation method of compact disc image files, virtual machine deployment method and device | |
| CN114706690A (en) | Method and system for sharing GPU (graphics processing Unit) by Kubernetes container | |
| CN111767345B (en) | Modeling data synchronization method, modeling data synchronization device, computer equipment and readable storage medium | |
| CN114416690A (en) | Data migration device, method and storage medium for file storage to object storage | |
| CN116719647B (en) | Super-computing cluster management method and device, arrangement management equipment and super-computing cluster |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23895983 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 23895983 Country of ref document: EP Kind code of ref document: A1 |