A container virtual machine management method and system
By deploying the Kubevirt project and configuring the EKS cloud platform in a Kubernetes cluster, unified management of virtual machine resources and container resources is achieved, solving the problem of inflexible virtual machine deployment and management methods in existing technologies, and improving the utilization rate of cloud platform resources and the efficiency of business migration to the cloud.
Patent Information
- Application Number
- CN202210427331.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-21
- Publication Date
- 2026-01-27
- Estimated Expiration
- 2042-04-21
AI Technical Summary
The lack of uniformity in containerization and virtualization management in existing technologies results in inflexible virtual machine deployment and management methods, making it difficult to meet the needs of cloud platforms for efficient resource utilization and business migration to the cloud.
By deploying the Kubevirt project in a Kubernetes cluster, the EKS cloud platform enables virtual machines to run in a containerized manner, configuring a cloud management interface, customizing images, performing real-time migration and CPU performance optimization, and using the Prometheus monitoring system to monitor internal performance metrics of virtual machines, thereby achieving unified management and scheduling of virtual machine resources and container resources.
It enables flexible management and scheduling of virtual machine resources on Kubernetes, improves the utilization and scalability of cloud platform resources, supports internal interaction and access between virtual machine applications and containerized applications, simplifies operation and maintenance, and reduces the cost of migrating businesses to the cloud.
Smart Images

Figure CN115033336B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of virtualization technology, and in particular to a container virtual machine management method and system. Background Technology
[0002] Currently, with the rapid development of cloud computing, Kubernetes has become the preferred platform and de facto standard for container management and orchestration, used to manage containerized applications and services. In recent years, Kubernetes has also achieved excellent results in large-scale production environments in industries such as the internet.
[0003] Virtualization technology provides users with a complete virtual machine runtime environment that does not depend on the host machine kernel. Container technology provides applications with isolated runtime spaces; each container is an independent space, and changes within it do not affect the runtime environment of other containers. As enterprises increasingly migrate their data to the cloud, the requirements for cloud data platforms and corresponding virtualization technologies are also increasing, making it necessary to change existing virtual machine deployment and management methods. Summary of the Invention
[0004] This invention provides a container virtual machine management method and system to address the shortcomings of existing technologies where containerization and virtualization operate independently.
[0005] In a first aspect, the present invention provides a container virtual machine management method, comprising:
[0006] Deploy the Kubevirt project in a Kubernetes cluster, enabling the EKS cloud platform to run virtual machines in a containerized manner;
[0007] The configuration of the graphical interface for cloud management of the EKS cloud platform, custom images, real-time migration, CPU performance optimization, and monitoring of internal performance indicators of virtual machines are determined.
[0008] According to a container virtual machine management method provided by the present invention, the deployment of the Kubevirt project in a Kubernetes cluster includes:
[0009] Modify the Kubevirt source code, package the image file, add a container virtualization switch, and iteratively test the deployed version.
[0010] According to a container virtual machine management method provided by the present invention, determining the graphical interface configuration of the cloud management interface of the EKS cloud platform includes:
[0011] In the management interface of the EKS cloud platform, the configuration of the virtual machine replica controller ReplicaSet, the number of virtual machine instances, and the virtual machine resource Manifest development file are determined through the front-end development interface.
[0012] Based on the virtual machine ReplicaSet configuration, the number of virtual machine instances, and the virtual machine resource Manifest development file, a container virtual machine console interface is built.
[0013] According to a container virtual machine management method provided by the present invention, determining the customized image of the EKS cloud platform includes:
[0014] The Kubernetes cluster uses the Containerized Data Importer (CDI) to determine that the persistent volume (PVC) is the backend storage for the virtual machine, and uploads the local image to the PVC. Each PVC corresponds to one image and one virtual machine.
[0015] Construct a customized gold image, and clone the PVC across namespaces using the CDI based on the customized gold image.
[0016] According to a container virtual machine management method provided by the present invention, determining the real-time migration of the EKS cloud platform includes:
[0017] Set the value of the feature-gates command-line argument field of the currently running virtual machine instance to LiveMigration, causing the virtual machine instance to migrate to another node.
[0018] According to a container virtual machine management method provided by the present invention, determining CPU performance optimization of the EKS cloud platform includes:
[0019] Determine the virtual machine template and virtual machine configuration, and build multiple virtual machines based on a single virtual machine template;
[0020] Identify a dedicated container virtual CPU and enable the container virtual machine's I / O threads to run in that dedicated container virtual CPU;
[0021] Determine the large page memory and non-uniform memory access NUMA topology, fix CPU and memory resources to a single NUMA node, and adjust the BIOS settings of the single NUMA node to obtain the best real-time performance.
[0022] According to a container virtual machine management method provided by the present invention, the monitoring of internal performance indicators of virtual machines in the EKS cloud platform includes:
[0023] Based on the Prometheus monitoring system, node-exporter is run in a container virtual machine to export the internal performance metrics of the virtual machine via HTTP.
[0024] Secondly, the present invention also provides a container virtual machine management system, comprising:
[0025] The deployment module is used to deploy the Kubevirt project in a Kubernetes cluster, enabling the EKS cloud platform to run virtual machines in a containerized manner.
[0026] The determination module is used to determine the configuration of the graphical interface for cloud management of the EKS cloud platform, customized images, real-time migration, CPU performance optimization, and monitoring of internal performance indicators of virtual machines.
[0027] Thirdly, the present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the container virtual machine management method as described above.
[0028] Fourthly, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the container virtual machine management method as described above.
[0029] Fifthly, the present invention also provides a computer program product, including a computer program that, when executed by a processor, implements any of the container virtual machine management methods described above.
[0030] The container virtual machine management method and system provided by this invention manages and schedules both virtual machine resources and container resources through Kubernetes, providing developers with a unified development platform, enabling the expansion of cloud platform resources, placing virtualized workloads directly in the development workflow, supporting internal interaction and access between virtual machine applications and containerized applications, and allowing the remaining virtualization components to be used on demand while decomposing applications. Attached Figure Description
[0031] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0032] Figure 1 This is a flowchart illustrating the container virtual machine management method provided by the present invention;
[0033] Figure 2 This is a schematic diagram of the architecture of the container virtual machine management method provided by the present invention;
[0034] Figure 3 This is a schematic diagram illustrating the working principle of the container virtual machine management method provided by the present invention;
[0035] Figure 4 This is a network schematic diagram of the container virtual machine management method provided by the present invention;
[0036] Figure 5 This is a schematic diagram of the structure of the container virtual machine management system provided by the present invention;
[0037] Figure 6 This is a schematic diagram of the structure of the electronic device provided by the present invention. Detailed Implementation
[0038] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.
[0039] To address the problems existing in the prior art, this invention proposes a novel container virtual machine management method, such as... Figure 1 As shown, it includes:
[0040] Step S1: Deploy the Kubevirt project in the Kubernetes cluster to enable the EKS cloud platform to run virtual machines in a containerized manner;
[0041] Step S2: Determine the configuration of the graphical interface for cloud management of the EKS cloud platform, custom images, real-time migration, CPU performance optimization, and monitoring of internal performance indicators of virtual machines.
[0042] It should be noted that, in order to make better use of the idle resources of the cloud platform, this invention connects and unifies the existing virtualization and containerization infrastructure, enabling the load migration of old and difficult-to-modify projects. Based on Kubernetes, it can easily manage and schedule container virtual machines without increasing operation and maintenance costs, thereby accelerating the progress of business cloud migration.
[0043] Correspondingly, by combining Kubernetes and Kubevirt, it is possible to quickly create and delete container virtual machines on the cloud platform, elastically allocate available resources, migrate workloads, and monitor VM metrics. From a management and operations perspective, the created container virtual machines conform to traditional operations and maintenance methods, requiring minimal learning and usage costs, making them simpler and more efficient. Their architecture is as follows: Figure 2 As shown.
[0044] Specifically, this invention provides key functions such as custom VM templates, custom images, real-time migration, CPU performance optimization, and monitoring of internal VM performance metrics by running virtual machines in a Kubernetes cluster in a containerized manner based on Kubernetes technology, Kubevirt technology, and Prometheus monitoring capabilities.
[0045] In cloud platforms, you can create and manage container virtual machines based on Kubernetes and Kubevirt, customize virtual machine images, monitor virtual machine performance metrics and alerts, and migrate container virtual machines in real time.
[0046] Running virtual machines (VMs) on Kubernetes as containers increases the diversity of cloud platform resources and improves resource utilization and scalability. Furthermore, Kubernetes' powerful cluster management capabilities allow container VMs to be managed and scheduled like containers. By combining Kubernetes and Kubernetes, fully functional VMs can be run as containers, establishing a one-to-one relationship between Pods and Virtual Machine Instances (VMIs). This enables customized images, live migration, and running VMs in service meshes. Prometheus Node-exporter is used to monitor container VM metrics internally, ultimately enabling rapid creation and deletion of container VMs on the cloud platform, elastic allocation of available resources, workload migration, and VMI metric monitoring.
[0047] This project involves developing an Elastic Kubernetes Service (EKS) cloud platform, integrating container virtual machine functionality, enabling offline deployment, developing a graphical user interface for cloud management, deploying a Kubernetes cluster, deploying Kubevirt and the Containerized Data Importer (CDI) project on Kubernetes, customizing images and uploading them to PVCs, writing VM templates, configuring dedicated CPU and large page memory for virtual machines, adjusting node BIOS settings, enabling live migration of container virtual machines, running node-exporter inside virtual machines, and configuring a Prometheus metrics monitoring system.
[0048] This invention provides developers with a unified development platform by entrusting both virtual machine and container resources to Kubernetes for management and scheduling, thereby enabling the expansion of cloud platform resources. Virtualized workloads are directly placed in the development workflow, supporting internal interaction and access between virtual machine applications and containerized applications. This allows for the decomposition of applications while still enabling the use of remaining virtualization components on demand.
[0049] Based on the above embodiments, deploying the Kubevirt project in a Kubernetes cluster includes:
[0050] Modify the Kubevirt source code, package the image file, add a container virtualization switch, and iteratively test the deployed version.
[0051] Specifically, to achieve seamless integration between Kubernetes and Kubevirt, this invention integrates Kubevirt into its PaaS functional components based on the EKS cloud platform.
[0052] Customize and modify the Kubeevirt source code, package the required images for the component, add a container virtual machine function switch, iterate the version after testing and development, and realize the cluster service and the offline one-click deployment and standalone deployment of the component.
[0053] It should be noted that kubevirt is an open-source project by Red Hat that runs virtual machines in a containerized manner. It runs on Kubernetes and uses Kubernetes CRDs to add resource types to VMI. The use of CRDs is because kubevirt's management of virtual machines is not limited to the pod management interface. Through the CRD mechanism, kubevirt can customize additional operations to adjust behaviors that are not available in regular containers. kubevirt can use the container image registry to create virtual machines and provide VM lifecycle management.
[0054] This invention enables the load migration of legacy projects that are difficult to modify by integrating and managing existing virtualization and containerization infrastructure. It also allows for easy management and scheduling of container virtual machines based on Kubernetes without increasing operational costs, thereby accelerating the migration of business to the cloud.
[0055] Based on the above embodiments, the configuration of the graphical interface for cloud management of the EKS cloud platform is determined, including:
[0056] In the management interface of the EKS cloud platform, the configuration of the virtual machine replica controller ReplicaSet, the number of virtual machine instances, and the virtual machine resource Manifest development file are determined through the front-end development interface.
[0057] Based on the virtual machine ReplicaSet configuration, the number of virtual machine instances, and the virtual machine resource Manifest development file, a container virtual machine console interface is built.
[0058] Specifically, this invention develops a front-end interface within the management interface of the EKS cloud platform, namely EKSM, enabling users to directly manipulate container virtual machine resources through a graphical interface managed by the cloud platform. Here, a VirtualMachineInstanceReplicaSet configuration is used, defining the number of virtual machine instances externally, customizing the VM resource Manifest file, and creating a console interface for the container virtual machine. This allows for direct operation on the page without needing to connect via remote software SSH.
[0059] It should be noted that ReplicaSet is a type of replica controller in Kubernetes. Its main function is to control the pods it manages, ensuring that the number of pod replicas is always maintained at a preset number.
[0060] A manifest is a piece of software, belonging to the AndroidManifest.xml file. It contains essential information for applications within the Android system and can be used to run the code of any application. Every Android application must have an AndroidManifest.xml file, located in the app / manifests directory.
[0061] This invention utilizes general-purpose components to develop customized user interfaces, achieving unified operation and configuration of container virtual machines, and greatly improving the convenience of operation.
[0062] Based on the above embodiments, determining the customized image of the EKS cloud platform includes:
[0063] The Kubernetes cluster uses the Containerized Data Importer (CDI) to determine that the persistent volume (PVC) is the backend storage for the virtual machine, and uploads the local image to the PVC. Each PVC corresponds to one image and one virtual machine.
[0064] Construct a customized gold image, and clone the PVC across namespaces using the CDI based on the customized gold image.
[0065] Specifically, this invention deploys a CDI project simultaneously with Kubevirt, providing the functionality to use PVCs as VM disks. This means using PVCs as backend disks to upload local images. Only one image can exist on a single PVC, and it can only be used by one VMI. This allows the cloud platform's container virtual machine functionality to provide various images, including Windows and Linux operating systems. Images can be customized locally and then uploaded according to user needs.
[0066] Multiple standardized VM golden images are customized, built using the Builder Tool, and then further modified and trimmed using virt-customize through installation packages and configuration file editing. After containerization, they are uploaded to PVCs in a specific namespace that serves as a VM image repository. The CDI (Cross-Namespace Cloning) feature allows PVCs in the repository to be cloned across multiple namespaces throughout the cluster, enabling the creation of any number of container virtual machines based on the customized VM images. Figure 3 The diagram shown illustrates the working principle.
[0067] The Kubernetes cluster in this invention uses CDI to enable PVCs to function as VM disks, and allows PVCs to be cloned across namespaces to serve as backend storage for VMIs, and builds customized golden images, achieving unified management under a specific namespace.
[0068] Based on the above embodiments, determining the real-time migration of the EKS cloud platform includes:
[0069] Set the value of the feature-gates command-line argument field of the currently running virtual machine instance to LiveMigration, causing the virtual machine instance to migrate to another node.
[0070] Optionally, in scenarios such as hardware maintenance, firmware upgrades, and power management, it is often necessary to move running virtual machine instances to another compute node. To ensure that customer workloads continue to run and remain accessible, live migration needs to be enabled. Here, the value of the feature-gates field is set to LiveMigration, and the corresponding network structure is as follows: Figure 4 As shown.
[0071] Understandably, feature-gates is a command-line tool that allows administrators to enable or disable corresponding features on each component using feature-gates command-line parameters.
[0072] This invention enables high-performance deployment and automatic scaling by migrating virtual machines in any state in real time, allowing the use of fully functional container virtual machines on cloud platforms.
[0073] Based on the above embodiments, the CPU performance optimization of the EKS cloud platform is determined, including:
[0074] Determine the virtual machine template and virtual machine configuration, and build multiple virtual machines based on a single virtual machine template;
[0075] Identify a dedicated container virtual CPU and enable the container virtual machine's I / O threads to run in that dedicated container virtual CPU;
[0076] Determine the large page memory and non-uniform memory access NUMA topology, fix CPU and memory resources to a single NUMA node, and adjust the BIOS settings of the single NUMA node to obtain the best real-time performance.
[0077] Optionally, in the process of configuring VM templates in this invention, in addition to the basic configurations such as the selected backend storage and resource quotas, some additional configurations are required. Pods need to provide guaranteed QoS for their memory and CPU resources to ensure that the CPU manager dedicates the requested CPU to the Pod and ensures that the IO threads of the container virtual machine run in a dedicated VCPU.
[0078] Furthermore, by setting up large page memory and ensuring Non-Uniform Memory Access (NUMA) topology, CPU and memory resources are fixed to a single NUMA node in the host, VM large page memory in RAM is locked to prevent changes, and the node's BIOS settings are adjusted to achieve optimal real-time performance, resulting in lower CPU latency.
[0079] This invention improves the performance of container virtual machines by configuring VCPU, large page memory, NUMA, and BIOS, opening up new possibilities for running real-time workloads with lower CPU latency in KubeVirt.
[0080] Based on the above embodiments, the monitoring of internal performance indicators of virtual machines in the EKS cloud platform includes:
[0081] Based on the Prometheus monitoring system, node-exporter is run in a container virtual machine to export the internal performance metrics of the virtual machine via HTTP.
[0082] Optionally, this invention also implements real-time performance monitoring of the container virtual machine's runtime status. It monitors the container virtual machine internally, using Prometheus node-exporter to monitor KubeVirt-based VirtualMachines. The node-exporter runs within the container virtual machine and retrieves monitoring metrics via HTTP. A new Service and a ServiceMonitor are then created, enabling Prometheus to monitor the VM and automatically collect performance metrics exported by the exporter.
[0083] Prometheus, referred to here as next-generation monitoring, is an open-source system monitoring and alerting framework that provides multi-dimensional data models and flexible query methods. It supports local storage on server nodes without relying on external storage, defines open metric data standards, supports the discovery of monitoring objects through static file configuration and dynamic discovery mechanisms, automatically completes data collection, and supports partitioned sampling and federated deployment of data as well as large-scale cluster monitoring.
[0084] This invention obtains monitoring indicators from inside the container virtual machine through a dedicated monitoring component, which can determine the workload status in real time and dynamically adjust the load resources accordingly.
[0085] The container virtual machine management system provided by the present invention is described below. The container virtual machine management system described below can be referred to in correspondence with the container virtual machine management method described above.
[0086] Figure 5 This is a schematic diagram of the structure of the container virtual machine management system provided by the present invention, as shown below. Figure 5 As shown, it includes: a deployment module 51 and a determination module 52, wherein:
[0087] The deployment module 51 is used to deploy the Kubevirt project in the Kubernetes cluster, enabling the EKS cloud platform to run virtual machines in a containerized manner; the determination module 52 is used to determine the configuration of the cloud management interface graphical interface, customized images, real-time migration, CPU performance optimization, and virtual machine internal performance indicator monitoring of the EKS cloud platform.
[0088] This invention provides developers with a unified development platform by entrusting both virtual machine and container resources to Kubernetes for management and scheduling, thereby enabling the expansion of cloud platform resources. Virtualized workloads are directly placed in the development workflow, supporting internal interaction and access between virtual machine applications and containerized applications. This allows for the decomposition of applications while still enabling the use of remaining virtualization components on demand.
[0089] Based on the above embodiments, the deployment module 51, which deploys the Kubevirt project in the Kubernetes cluster, includes:
[0090] Modify the Kubevirt source code, package the image file, add a container virtualization switch, and iteratively test the deployed version.
[0091] This invention enables the load migration of legacy projects that are difficult to modify by integrating and managing existing virtualization and containerization infrastructure. It also allows for easy management and scheduling of container virtual machines based on Kubernetes without increasing operational costs, thereby accelerating the migration of business to the cloud.
[0092] Based on the above embodiments, the determining module 52 includes a first determining submodule 521, which is used for:
[0093] In the management interface of the EKS cloud platform, the configuration of the virtual machine replica controller ReplicaSet, the number of virtual machine instances, and the virtual machine resource Manifest development file are determined through the front-end development interface; based on the virtual machine ReplicaSet configuration, the number of virtual machine instances, and the virtual machine resource Manifest development file, the container virtual machine console interface is constructed.
[0094] This invention utilizes general-purpose components to develop customized user interfaces, achieving unified operation and configuration of container virtual machines, and greatly improving the convenience of operation.
[0095] Based on the above embodiments, the determining module 52 includes a second determining submodule 522, which is used for:
[0096] The Kubernetes cluster uses the Containerized Data Importer (CDI) to determine that the persistent volume (PVC) is the backend storage for the virtual machine, uploads the local image to the PVC, where a single PVC corresponds to one image and one virtual machine; builds a customized golden image, and clones the PVC across namespaces using the CDI based on the customized golden image.
[0097] The Kubernetes cluster in this invention uses CDI to enable PVCs to function as VM disks, and allows PVCs to be cloned across namespaces to serve as backend storage for VMIs, and builds customized golden images, achieving unified management under a specific namespace.
[0098] Based on the above embodiments, the determining module 52 includes a third determining submodule 523, which is used for:
[0099] Set the value of the feature-gates command-line argument field of the currently running virtual machine instance to LiveMigration, causing the virtual machine instance to migrate to another node.
[0100] This invention enables high-performance deployment and automatic scaling by migrating virtual machines in any state in real time, allowing the use of fully functional container virtual machines on cloud platforms.
[0101] Based on the above embodiments, the determining module 52 includes a fourth determining submodule 524, which is used for:
[0102] Determine the virtual machine template and configuration, and build multiple virtual machines based on a single virtual machine template; determine a dedicated container virtual CPU, and enable the IO threads of the container virtual machines to run in the dedicated container virtual CPU; determine the large page memory and non-uniform memory access NUMA topology, fix the CPU and memory resources to a single NUMA node, and adjust the BIOS settings of the single NUMA node to obtain the best real-time performance.
[0103] This invention improves the performance of container virtual machines by configuring VCPU, large page memory, NUMA, and BIOS, opening up new possibilities for running real-time workloads with lower CPU latency in KubeVirt.
[0104] Based on the above embodiments, the determining module 52 includes a fifth determining submodule 525, which is used for:
[0105] Based on the Prometheus monitoring system, node-exporter is run in a container virtual machine to export the internal performance metrics of the virtual machine via HTTP.
[0106] This invention obtains monitoring indicators from inside the container virtual machine through a dedicated monitoring component, which can determine the workload status in real time and dynamically adjust the load resources accordingly.
[0107] Figure 6 An example is a schematic diagram of the physical structure of an electronic device, such as... Figure 6 As shown, the electronic device may include a processor 610, a communications interface 620, a memory 630, and a communication bus 640, wherein the processor 610, communications interface 620, and memory 630 communicate with each other via the communication bus 640. The processor 610 can call logical instructions in the memory 630 to execute a container virtual machine management method. This method includes: deploying the Kubevirt project in a Kubernetes cluster, enabling the EKS cloud platform to run virtual machines in a containerized manner; and determining the configuration of the EKS cloud platform's graphical management interface, custom images, real-time migration, CPU performance optimization, and monitoring of internal virtual machine performance metrics.
[0108] Furthermore, the logical instructions in the aforementioned memory 630 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, essentially, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0109] On the other hand, the present invention also provides a computer program product, which includes a computer program that can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the container virtual machine management method provided by the above methods. The method includes: deploying the Kubevirt project in a Kubernetes cluster to enable the EKS cloud platform to run virtual machines in a containerized manner; determining the configuration of the cloud management interface graphical interface of the EKS cloud platform, customizing images, real-time migration, CPU performance optimization, and monitoring of internal performance indicators of the virtual machines.
[0110] In another aspect, the present invention also provides a non-transitory computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the container virtual machine management method provided by the above methods. The method includes: deploying a Kubevirt project in a Kubernetes cluster to enable the EKS cloud platform to run virtual machines in a containerized manner; and determining the configuration of the cloud management interface graphical interface, customized images, real-time migration, CPU performance optimization, and monitoring of internal performance indicators of the virtual machine on the EKS cloud platform.
[0111] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0112] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0113] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A container virtual machine management method, characterized in that, include: Deploy the Kubevirt project in a Kubernetes cluster, enabling the EKS cloud platform to run virtual machines in a containerized manner; The configuration of the graphical interface for cloud management of the EKS cloud platform, customized images, real-time migration, CPU performance optimization, and monitoring of internal performance indicators of virtual machines are determined. Determining the customized image for the EKS cloud platform includes: The Kubernetes cluster uses the Containerized Data Importer (CDI) to determine that the persistent volume (PVC) is the backend storage for the virtual machine; it then builds a customized golden image and clones the PVC across namespaces using the CDI based on the customized golden image. Determining CPU performance optimization for the EKS cloud platform includes: Determine a dedicated container virtual CPU and run the container virtual machine's I / O threads in the dedicated container virtual CPU; determine the large page memory and non-uniform memory access NUMA topology, fix the CPU and memory resources to a single NUMA node, and adjust the BIOS settings of the single NUMA node to obtain the best real-time performance.
2. The container virtual machine management method according to claim 1, characterized in that, Deploying the Kubevirt project in a Kubernetes cluster includes: Modify the Kubevirt source code, package the image file, add a container virtualization switch, and iteratively test the deployed version.
3. The container virtual machine management method according to claim 1, characterized in that, Determine the graphical interface configuration of the cloud management interface of the EKS cloud platform, including: In the management interface of the EKS cloud platform, the configuration of the virtual machine replica controller ReplicaSet, the number of virtual machine instances, and the virtual machine resource Manifest development file are determined through the front-end development interface. Based on the virtual machine ReplicaSet configuration, the number of virtual machine instances, and the virtual machine resource Manifest development file, a container virtual machine console interface is built.
4. The container virtual machine management method according to claim 1, characterized in that, Determining the real-time migration of the EKS cloud platform includes: Set the value of the feature-gates command-line argument field of the currently running virtual machine instance to LiveMigration, causing the virtual machine instance to migrate to another node.
5. The container virtual machine management method according to claim 1, characterized in that, The monitoring of internal performance metrics of virtual machines on the EKS cloud platform includes: Based on the Prometheus monitoring system, node-exporter is run in a container virtual machine to export the internal performance metrics of the virtual machine via HTTP.
6. A container virtual machine management system, characterized in that, include: The deployment module is used to deploy the Kubevirt project in a Kubernetes cluster, enabling the EKS cloud platform to run virtual machines in a containerized manner. The determination module is used to determine the configuration of the graphical interface of the cloud management interface of the EKS cloud platform, customized images, real-time migration, CPU performance optimization and monitoring of virtual machine internal performance indicators. Determining the customized image for the EKS cloud platform includes: The Kubernetes cluster uses the Containerized Data Importer (CDI) to determine that the persistent volume (PVC) is the backend storage for the virtual machine; it then builds a customized golden image and clones the PVC across namespaces using the CDI based on the customized golden image. Determining CPU performance optimization for the EKS cloud platform includes: Determine a dedicated container virtual CPU and run the container virtual machine's I / O threads in the dedicated container virtual CPU; determine the large page memory and non-uniform memory access NUMA topology, fix the CPU and memory resources to a single NUMA node, and adjust the BIOS settings of the single NUMA node to obtain the best real-time performance.
7. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the container virtual machine management method as described in any one of claims 1 to 5.
8. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the container virtual machine management method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Container binding method and system based on NUMA architecture
CN112130961A
Virtual machine creation method and device, host and storage medium
CN112559127A
Container-based application management method and device
CN113296880A