Virtual computing resource deployment device, program, and virtual computing resource deployment method
The virtual computing resource deployment device optimizes resource utilization by managing container deployment on virtual machines, reducing overhead and ensuring secure, efficient use of computing resources in public cloud environments.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- NIPPON TELEGRAPH & TELEPHONE CORP
- Filing Date
- 2022-06-07
- Publication Date
- 2026-04-21
AI Technical Summary
In public cloud computing, the use of virtual machines and containers leads to significant resource overhead due to the data storage and processing requirements for container infrastructure, resulting in inefficient utilization of host computer resources.
A virtual computing resource deployment device that manages the deployment of containers on virtual machines by adjusting resource allocation and starting new virtual machines as needed to optimize resource utilization, ensuring containers of the same user run on separate machines, thereby enhancing security and efficiency.
This approach improves resource utilization efficiency by minimizing the number of virtual machines per user and optimizing resource allocation, ensuring high security and efficient use of computing resources.
Smart Images

Figure 0007848867000001 
Figure 0007848867000002 
Figure 0007848867000003
Abstract
Description
Technical Field
[0005] ,
[0004] , , , , ,
[0003]
[0001] The present invention relates to a virtual computing resource deployment device, a program, and a virtual computing resource deployment method for deploying a container to virtualized computer resources.
Background Art
[0002] In recent years, the mainstream virtualization technologies include virtual machines (VMs) and containers. A virtual machine operates on a hypervisor running on a host computer, and an operating system (hereinafter referred to as a guest OS) and applications operate on the virtual machine. On the other hand, a container operates on a container infrastructure running on an OS, and an application operates on the container. A plurality of containers share one OS.
[0003] Since the computer environment (computing resources) is isolated in units of virtual machines and containers, even when there are multiple users, their information will not be infringed upon each other. However, there are differences between virtual machines and containers in the degree of isolation and the degree of hardware abstraction. Since a guest OS is running on a virtual machine, the hardware can be handled more abstractly, and a virtual machine can be placed on one host computer. On the other hand, containers share an OS, and security risks such as information leakage are higher than those of virtual machines.
[0004] Virtual machines and containers can be saved and reproduced (started up) in a data unit called an image, and free / paid images are circulating in the market. Note that the image of a virtual machine is only used as a virtual machine, and the image of a container is only used as a container, and there is no compatibility between them.
[0005] Containers can be used on a guest OS running on a virtual machine. While virtual machines and containers offer the same functionality from a virtualization perspective, and using them simultaneously might seem redundant, there are actually several advantages. Some software that runs in a virtualized environment does not have a publicly available virtual machine image, only a container image. When using such software, configuring the container to run on a virtual machine allows you to use a container image while still achieving the robust isolation performance provided by the virtual machine. Furthermore, isolation for each user (tenant) is a particularly important requirement when providing public cloud computing.
[0006] The most widely used container platform is Kubernetes, as described in Non-Patent Document 1. Kubernetes manages container execution environments in units called nodes, and when a user specifies the required resources for a container, it has the functionality to select a node with more than the required resources and place the container there. When a user requests a container, a virtual machine with the resources to meet the request is launched, and the container is placed on that virtual machine using Kubernetes, thereby realizing public cloud computing that provides containers running on virtual machines. [Prior art documents] [Non-patent literature]
[0007] [Non-Patent Document 1] Resource Management for Pods and Containers, [online], The Kubernetes Authors, [Retrieved May 19, 2022], Internet<URL: https: / / kubernetes.io / docs / concepts / configuration / manage-resources-containers / > [Overview of the Initiative] [Problems that the invention aims to solve]
[0008] In public cloud computing as described above, a large number of virtual machines run on the host computer, resulting in significant overhead. Overhead includes, for example, the data storage space required for the container infrastructure and the processing required for the container infrastructure to operate. In the above public cloud computing, overhead is generated for each virtual machine, which is undesirable from the standpoint of efficient utilization of the host computer's resources. This invention was made in view of the above background, and aims to improve resource utilization efficiency in a service that provides containers using virtual machines. [Means for solving the problem]
[0009] To solve the aforementioned problems, the virtual computing resource deployment device according to the present invention is a virtual computing resource deployment device that deploys containers running on a virtual machine, comprising: a container operation reception unit that receives requests to add new containers from terminals used by users; and a container management unit that deploys the new containers to a user-used virtual machine that indicates a virtual machine on which the containers requested by the terminal used by the same user are running. The container management unit comprises a virtual machine management unit that manages the startup, deletion, and increase / decrease of resources of the virtual machine, and when there is a deployment destination virtual machine on the host computer on which the user-use virtual machine is running that has surplus resources necessary for the operation of the new container, the container management unit instructs the virtual machine management unit to increase the surplus resources to the deployment destination virtual machine and deploy the new container to the deployment destination virtual machine, and when there is no deployment destination virtual machine, the container management unit instructs the virtual machine management unit to start a new virtual machine having the surplus resources on the host computer on which the user-use virtual machine is not running, and deploy the new container to the virtual machine. [Effects of the Invention]
[0010] According to the present invention, resource utilization efficiency can be improved in a service that provides containers using virtual machines. [Brief explanation of the drawing]
[0011] [Figure 1] This diagram shows the overall configuration of the virtual computer environment according to the first embodiment. [Figure 2] This is a functional block diagram of the host computer according to the first embodiment. [Figure 3]This is a functional block diagram of a virtual computing resource deployment device according to the first embodiment. [Figure 4] This is a data configuration diagram of the host resource database according to the first embodiment. [Figure 5] This is a data configuration diagram of the container management database according to the first embodiment. [Figure 6] This is a sequence diagram of the container addition process according to the first embodiment. [Figure 7] This is a sequence diagram of the container deletion process according to the first embodiment. [Figure 8] This is a sequence diagram of the container deployment optimization process according to the first embodiment. [Figure 9] This is a sequence diagram of the container addition process according to the second embodiment. [Figure 10] This is a sequence diagram of the container deletion process according to the second embodiment. [Figure 11] This is a hardware configuration diagram showing an example of a computer that implements the functions of the virtual computing resource deployment device according to the first and second embodiments. [Modes for carrying out the invention]
[0012] The following describes a virtual computing environment including a virtual computing resource deployment device in an embodiment for carrying out the present invention. When the virtual computing resource deployment device receives a container request from a user, it deploys (places, operates, and starts) the requested container to the virtual machine on which the user's container (the container requested by the user) is running.
[0013] Specifically, the virtual computing resource deployment device searches for (retrieves) the virtual machine on which the user's container is running (also referred to as the user's virtual machine, the user-utilized virtual machine, etc.). The virtual computing resource deployment device increases the resources of the user-utilized virtual machine so that the container can run, and deploys the container. If there is no user-utilized virtual machine, or if there are no resources on the host computer and the resources cannot be increased, a new virtual machine is started on the host computer where the user-utilized virtual machine is not running, and the container is deployed on the started virtual machine. When deleting a container, the virtual computing resource deployment device deletes the container and reduces the resources used by the container from the virtual machine on which the deleted container was running.
[0014] By using such a virtual computing resource deployment device, the users of the containers running on one virtual machine become the same. Containers of different users run on different virtual machines, and security equivalent to the conventional level can be ensured. In addition, the resources of the virtual machine are adjusted according to the deployment and deletion of the container, and the virtual machine runs with the minimum resources required for the container to operate. The number of virtual machines of the same user running on one host computer is one or less. Therefore, high resource utilization can be achieved.
[0015] ≪Configuration of Virtual Computer Environment≫ FIG. 1 is a diagram showing the overall configuration of a virtual computer environment 810 according to the first embodiment. The virtual computer environment 810 includes one or more host computers 200 and a virtual computing resource deployment device 100.
[0016] ≪Configuration of Host Computer≫ FIG. 2 is a functional block diagram of the host computer 200 according to the first embodiment. The host OS 212 operates on the hardware 213 of the host computer 200, and the hypervisor 211 operates on the host OS 212. One or more virtual machines 250 operate on the hypervisor 211. The hypervisor 211 receives an instruction from the virtual computing resource allocation device 100, and starts, stops (deletes) the virtual machine 250, and increases or decreases the number of CPU cores and the memory capacity used by (assigned to) the virtual machine 250.
[0017] In the virtual machine 250, the guest OS 254 operates, the container base 253 operates on the guest OS 254, and one or more containers 252 and applications 251 (denoted as AP (Application) in FIG. 2) operate on the container base 253. In the first embodiment, the above-described form is assumed as the container technology, but other forms of container technology may be used. The container base 253 receives an instruction from the virtual computing resource allocation device 100, and starts (adds), stops (deletes) the container 252 and the application 251, and moves them between the virtual machines 250.
[0018] The users of the containers 252 operating on one virtual machine 250 (the users who requested the addition / start / configuration of the containers 252) are the same. Also, the users of the containers 252 operating on the plurality of virtual machines 250 operating on one host computer 200 are different from each other. In other words, on one host computer 200, there is one virtual machine 250 on which the containers 252 of one user operate.
[0019] ≪Configuration of Virtual Computing Resource Allocation Device≫ FIG. 3 is a functional block diagram of the virtual computing resource allocation device 100 according to the first embodiment. The virtual computing resource allocation device 100 is a computer, and includes a control unit 110, a storage unit 12, and a communication unit 180. The communication unit 180 includes a communication device and can perform data communication with the user terminal 870 (see FIG. 1) and the host computer 200.
[0020] The storage unit 120 is comprised of storage devices such as ROM (Read Only Memory), RAM (Random Access Memory), and SSD (Solid State Drive). The storage unit 120 stores the host resource database 130, the container management database 140, and the program 128. The program 128 includes descriptions for the container addition process (see Figure 6), the container deletion process (see Figure 7), and the container deployment optimization process (see Figure 8), which will be described later.
[0021] ≪Virtual Computing Resource Deployment Device: Host Resource Database≫ Figure 4 is a data structure diagram of the host resource database 130 according to the first embodiment. The host resource database 130 is, for example, tabular data, where one row (record) shows the resource status of the host computer 200. The record includes columns (attributes) for host computer 200 identification information, number of CPU (Central Processing Unit) cores, CPU core usage, memory size, and memory usage. The number of free CPU cores is the number of CPU cores minus the CPU core usage, and the free memory size is the memory size minus the memory usage.
[0022] ≪Virtual Computing Resource Deployment Device: Host Resource Database≫ Figure 5 is a data structure diagram of the container management database 140 according to the first embodiment. The container management database 140 is, for example, tabular data, where one record shows information related to a running container. The record includes attributes of the user, container, CPU core, memory, host computer, and virtual machine.
[0023] The user is the identification information of the user who requested the addition (startup, deployment) of container 252. The container is the identification information of container 252 for each user. The CPU cores is the number of CPU cores used by container 252 (allocated to container 252), including the number of CPU cores used by application 251 running on container 252. The memory is the memory size used by container 252 (allocated to container 252), including the memory used by application 251 running on container 252.
[0024] A virtual machine is the identification information for each host computer 200 of virtual machine 250 on which container 252 is running. A host computer is the identification information for host computer 200 on which virtual machine 250 is running, and corresponds to the identification information in the host resource database 130 (see Figure 4).
[0025] ≪Virtual Computing Resource Deployment Device: Control Unit≫ Returning to Figure 3, the control unit 110 will be explained. The control unit 110 includes a CPU and comprises a container operation reception unit 111, a container allocation unit 112, a virtual machine management unit 113, and a container management unit 114. The container operation reception unit 111 receives requests from user terminals 870 to add (start, deploy) or delete (stop) containers.
[0026] The container allocation unit 112, upon receiving an instruction to add container 252, determines the virtual machine 250 (user-used virtual machine) on which container 252, belonging to the same user who issued the instruction, will run. At this time, the container allocation unit 112 adjusts the resource amount of the virtual machine 250. For example, the container allocation unit 112 identifies the number of CPU cores and memory size required for the operation of container 252 and application 251, and instructs the virtual machine management unit 113 (described later) to add / increase these resources to the virtual machine 250. Also, if container 252 is deleted, the container allocation unit 112 identifies the number of CPU cores and memory size used by container 252 and application 251, and instructs the virtual machine management unit 113 to reduce these resources from the virtual machine 250.
[0027] The virtual machine management unit 113 instructs the hypervisor 211 (see Figure 2) of the host computer 200 on which the virtual machine 250 is running to start, stop (delete), and adjust the resources of the virtual machine 250. The container management unit 114 instructs the container infrastructure 253 to start (add, deploy) or stop (delete) containers 252, including application 251, and to move containers 252 between virtual machines 250. The detailed processing of the container operation reception unit 111, the container allocation unit 112, the virtual machine management unit 113, and the container management unit 114 will be explained below with reference to the sequence diagram. In the diagrams described below, virtual machines will also be referred to as VMs (Virtual Machines).
[0028] ≪Container Addition Process≫ Figure 6 is a sequence diagram of the container addition process according to the first embodiment. Referring to Figure 6, the processing of the virtual computing resource deployment device 100 when a request to add a container 252 is received from the user terminal 870 will be explained.
[0029] In step S11, the container operation reception unit 111 receives a request to add container 252 (a new container) from the user terminal 870 used by the user. The request to add container 252 includes, for example, the identification information of the image, the number of CPU cores to be used, and the memory size. The number of CPU cores is not necessarily a natural number and may be a decimal such as 0.4 or 1.5. In step S12, the container operation reception unit 111 instructs the container allocation unit 112 to add the requested container 252. The instruction includes the identification information of the user who made the addition request.
[0030] In step S13, the container allocation unit 112 identifies a virtual machine 250 (also referred to as the deployment destination virtual machine) to which the requested container 252 will be deployed, or a host computer 200 on which a new virtual machine 250 to which the container 252 will be deployed will run. More specifically, the container allocation unit 112 refers to the container management database 140 (see Figure 5) and the host resource database 130 (see Figure 4) to search for a virtual machine 250 used by the user who made the additional request (user-used virtual machine) and on the host computer 200 on which the said virtual machine 250 is running that has available resources (surplus resources) to be used by the requested container 252. If no such virtual machine 250 exists, the container allocation unit 112 identifies a host computer 200 on which no user-used virtual machine is running and which will start a new virtual machine 250 capable of running the requested container 252.
[0031] The following is an example of the processing in step S13. Assume that the user making the additional request is "A", the requested number of CPU cores is 1, and the memory size is 1GB. For virtual machine 250 of "VM1" on host computer 200 of "H001", which is used by user "A", there are no available resources on host computer 200 of "H001" (see the record for "H001" in Figure 4). Therefore, it is not possible to deploy container 252 to this virtual machine 250.
[0032] For virtual machine 250 of "VM1" on host computer 200 of "H002" whose user is "A", there is available space on host computer 200 (see the record for "H002" in Figure 4). The container allocation unit 112 decides to deploy the requested container 252 to virtual machine 250 of "VM1" on host computer 200 of "H002".
[0033] If the host computer 200 of "H002" does not have resources with 1 CPU core and 1GB of memory, the container allocation unit 112 decides to start a new virtual machine 250 on the host computer 200 of "H003" and deploy the requested container 252 to that virtual machine 250. Note that the CPU core usage and memory usage of the host computer 200 of "H003" are 0, the virtual machine 250 is not running, and the user-utilized virtual machine is not running.
[0034] In step S14, the container allocation unit 112 instructs the virtual machine management unit 113 to increase the resources of the target virtual machine identified in step S13, or to start a new virtual machine 250. This instruction includes identification information of the host computer 200 on which the target virtual machine is running, identification information of the target virtual machine, and the amount of resources to be increased (surplus resources). If a new virtual machine 250 is to be started, the instruction also includes identification information of the host computer 200 on which it is running and the amount of resources used by the container 252 containing the application 251.
[0035] In step S15, the virtual machine management unit 113 instructs the hypervisor 211 running on the host computer 200, as instructed in step S14, to increase the resources of the deployed virtual machine or to start a new virtual machine 250. In step S16, the virtual machine management unit 113 receives a response from the hypervisor 211 regarding the increase of resources or the startup of a new virtual machine 250, and returns a response to the container allocation unit 112. This response may include identification information for the virtual machine 250 with increased resources or the newly started virtual machine 250.
[0036] In step S17, the container allocation unit 112 instructs the container management unit 114 to add the container 252 to the deployment virtual machine 250 with increased resources or to a new virtual machine 250. In step S18, the container management unit 114 instructs the container infrastructure 253 of the virtual machine 250, as instructed in step S17, to deploy the additionally requested container 252. In step S19, the container management unit 114 receives a response from the container infrastructure 253 regarding the deployment of container 252 and returns a response to the container allocation unit 112. This response may include identification information of the deployed container 252.
[0037] In step S20, the container allocation unit 112 updates the host resource database 130 and the container management database 140 (labeled DB in Figure 6). More specifically, the container allocation unit 112 adds information about the deployed container 252 to the container management database 140 (see Figure 5). The container allocation unit 112 also updates the usage in the host resource database 130 (see Figure 4) to reflect the increased resource usage of the target virtual machine or the resource usage of the newly started virtual machine 250.
[0038] In step S21, the container allocation unit 112 returns a response to the container operation reception unit 111 for the instruction to add container 252 (see step S12). This response may include identification information of the deployed container 252. In step S22, the container operation reception unit 111 returns a response to the request to add a container 252 (see step S11) to the user terminal 870. This response may include identification information of the deployed container 252.
[0039] Container Deletion Process Figure 7 is a sequence diagram of the container deletion process according to the first embodiment. Referring to Figure 7, the processing of the virtual computing resource deployment device 100 when a request to delete container 252 is received from the user terminal 870 will be explained.
[0040] In step S31, the container operation reception unit 111 receives a request to delete container 252 from the user terminal 870. The deletion request includes identification information of container 252 (the container to be deleted). In step S32, the container operation reception unit 111 instructs the container management unit 114 to delete the requested container 252.
[0041] In step S33, the container management unit 114 instructs the container infrastructure 253 of the virtual machine 250 on which the specified container 252 is running to stop and delete the container 252. In step S34, the container management unit 114 notifies the container allocation unit 112 that container 252 has been deleted.
[0042] In step S35, the container allocation unit 112 refers to the container management database 140 (see Figure 5) to calculate the surplus resources of virtual machine 250 (resources used by container 252, including application 251) due to the deletion of container 252. If there are no other containers 252 on virtual machine 250 besides the deleted container 252, virtual machine 250 will be deleted, and the resources used by virtual machine 250 will also be included in the surplus resources. Hereinafter, virtual machine 250 on which the deleted container 252 was running will be referred to as the target virtual machine.
[0043] In step S36, the container allocation unit 112 instructs the virtual machine management unit 113 to reduce the resources of the target virtual machine or delete the target virtual machine. This instruction includes the identification information of the target virtual machine, the identification information of the host computer 200 on which the target virtual machine is running, and, in the case of reducing surplus resources, the amount of surplus resources to be reduced from the target virtual machine.
[0044] In step S37, the virtual machine management unit 113 instructs the hypervisor 211 running on the host computer 200 to reduce the resources of the virtual machine 250 or delete the virtual machine 250. In step S38, the virtual machine management unit 113 receives a response from the hypervisor 211 to reduce resources or delete the virtual machine 250, and returns a response to the container allocation unit 112.
[0045] In step S39, the container allocation unit 112 updates the host resource database 130 and the container management database 140 (labeled DB in Figure 7). More specifically, the container allocation unit 112 removes the information of the deleted container 252 from the container management database 140 (see Figure 5). The container allocation unit 112 also updates the usage in the host resource database 130 (see Figure 4) to reduce the usage by the amount of surplus resources calculated in step S35.
[0046] In step S40, the container allocation unit 112 notifies the container management unit 114 that it has released the surplus resources resulting from the deletion of container 252. In step S41, the container management unit 114 returns a response to the container operation reception unit 111 for the instruction to delete container 252 (see step S32). In step S42, the container operation reception unit 111 returns a response to the instruction to delete container 252 (see step S31) to the user terminal 870.
[0047] ≪Container Deployment Optimization Process≫ When container 252 is deleted, the virtual machines 250 running container 252 belonging to the same user will be distributed across multiple host computers 200. To optimize resource utilization, it is desirable to run container 252 belonging to the same user on as few virtual machines 250 as possible. The following describes a container deployment optimization process that moves container 252 between virtual machines 250 to reduce the number of virtual machines 250 running it (consolidating virtual machines 250 used by the same user).
[0048] Figure 8 is a sequence diagram of the container deployment optimization process according to the first embodiment. The container deployment optimization process is executed for each host computer 200 at predetermined timings, for example, at periodically repeated timings. The following describes the container deployment optimization process for one host computer 200 (hereinafter referred to as the target host computer).
[0049] In step S51, the container allocation unit 112 identifies the virtual machine 250 running on the target host computer that uses the minimum amount of resources. The amount of resources to be used is determined by referring to the container management database 140 (see Figure 5) to find the sum of the number of CPU cores and memory size of the containers 252 running on the virtual machine 250 running on the target host computer, and identifying the virtual machine 250 whose sum is the smallest. The virtual machine 250 whose sum is the smallest may be the virtual machine 250 whose sum of CPU cores is the smallest, the virtual machine 250 whose sum of memory size is the smallest, or the virtual machine 250 whose sum of the number of CPU cores and memory size is the smallest with a predetermined weighting. Hereafter, this virtual machine 250 whose sum is the smallest will be referred to as the source virtual machine.
[0050] In step S52, the container allocation unit 112 identifies the virtual machine 250 to which the containers 252 running on the source virtual machine will be moved. More specifically, for each container 252 running on the source virtual machine, the container allocation unit 112 refers to the container management database 140 (see Figure 5) and the host resource database 130 (see Figure 4) and performs the following search. That is, the container allocation unit 112 searches for a virtual machine 250 that is used by the same user as the source virtual machine and that has available resources on the host computer 200 on which the virtual machine 250 is running that the container 252 will use. Note that if multiple containers 252 are moved to a single virtual machine 250, the host computer 200 must have available resources that the multiple containers 252 will use. If there are containers 252 that do not have a destination, the container allocation unit 112 finishes the container deployment optimization process. Hereinafter, the virtual machine 250 to which the containers 252 will be moved will be referred to as the destination virtual machine. There may be multiple destination virtual machines. In this case, container 252 running on the source virtual machine will be distributed and moved across multiple destination virtual machines.
[0051] In step S53, the container allocation unit 112 instructs the virtual machine management unit 113 to increase the resources of the destination virtual machine and move the container. This instruction includes identification information of the host computer 200 on which the target virtual machine 250 is running and the amount of resources to be increased (the amount of resources used by the moving container 252).
[0052] In step S54, the virtual machine management unit 113 instructs the hypervisor 211 running on the host computer 200, as instructed in step S53, to increase the resources of the virtual machine 250. In step S55, the virtual machine management unit 113 instructs the container management unit 114 to move the container 252 from the source virtual machine to the destination virtual machine.
[0053] In step S56, the container management unit 114 instructs each container infrastructure 253 to move the container 252 from the source virtual machine to the destination virtual machine. In step S57, the container management unit 114 receives a response from the container infrastructure 253 regarding the movement of container 252 and returns a response to the virtual machine management unit 113.
[0054] In step S58, upon receiving the response, the virtual machine management unit 113 instructs the hypervisor 211 (see Figure 2) of the host computer 200 on which the source virtual machine is running to stop and delete the source virtual machine. In step S59, the virtual machine management unit 113 notifies the container allocation unit 112 of the deletion of the source virtual machine due to the movement of container 252.
[0055] In step S60, the container allocation unit 112 updates the host resource database 130 and the container management database 140 (labeled DB in Figure 8). More specifically, the container allocation unit 112 updates the attributes of the moved container 252, including the virtual machine attributes and the host computer attributes, with the identification information of the destination virtual machine and the identification information of the host computer 200 on which the destination virtual machine is running, respectively. Next, the container allocation unit 112 updates the usage of the host computer 200 on which the source virtual machine was running in the host resource database 130 (see Figure 4) to reduce the resources used by the source virtual machine. The container allocation unit 112 also updates the usage of the host computer 200 on which the destination virtual machine is running in the host resource database 130 to increase the resources added to the destination virtual machine.
[0056] This concludes the explanation of the container deployment optimization process. The container deployment optimization process is executed sequentially on all 200 host computers. After one cycle, there may be cases where some host computers 200, which initially had no surplus resources, have surplus resources as a result of sequentially moving containers. To account for such cases, the container deployment optimization process may be repeated, running on each of the 200 host computers individually and then again.
[0057] Features of the Virtual Computing Resource Deployment Device When a user requests the addition of container 252, the virtual computing resource deployment device 100 increases the resources of the virtual machine 250 (the user's virtual machine, the user's virtual machine) on which the user's container 252 is running, and adds container 252. If the virtual machine 250 does not exist or if it is not possible to increase the resources, the virtual computing resource deployment device 100 starts a new virtual machine 250 and deploys container 252 to that virtual machine 250.
[0058] Upon receiving a request to delete container 252, the virtual computing resource deployment device 100 deletes container 252 and reduces the amount of resources used by container 252 from the resources of the virtual machine 250 on which container 252 was running. The virtual computing resource deployment device 100 also moves container 252 between virtual machines 250 used by the same user to reduce the number of running virtual machines 250.
[0059] By deploying container 252 in this way, the user of container 252 running on a single virtual machine 250 will be the same. Containers 252 used by different users will run on different virtual machines 250, ensuring the same level of security as before. Furthermore, the resources of virtual machine 250 are adjusted in response to the addition and removal of container 252, so virtual machine 250 runs with the minimum resources necessary for container 252 to operate. Also, each user uses only one virtual machine per host computer 200. Therefore, a high resource utilization rate can be achieved.
[0060] ≪Second Embodiment≫ In the first embodiment described above, the virtual computing resource deployment device 100 adjusts the resource amount of the virtual machine 250 in accordance with the addition and deletion of containers 252. Depending on the virtualization technology and hypervisor 211, it may not be possible to adjust the resource amount of a running virtual machine 250. In the second embodiment, the virtual computing resource deployment device 100 adjusts the resource amount by starting a virtual machine 250 to which the adjusted resource amount has been allocated, moving the container to that virtual machine 250, and deleting the original virtual machine 250. The container addition process and container deletion process in the second embodiment will be described below.
[0061] ≪Second Embodiment: Container Addition Process≫ Figure 9 is a sequence diagram of the container addition process according to the second embodiment. Steps S71 and S72 are the same as steps S11 and S12 of the container addition process in the first embodiment (see Figure 6).
[0062] In step S73, the container allocation unit 112 identifies the virtual machine 250 to which the requested container 252 will be deployed, and the host computer 200 on which the virtual machine 250 will run after deployment. More specifically, the container allocation unit 112 performs the following search by referring to the container management database 140 (see Figure 5) and the host resource database 130 (see Figure 4). That is, the container allocation unit 112 searches for a virtual machine 250 used by the user who made the additional request, and for which there is a host computer 200 that has available resources (hereinafter referred to as new resources) equal to the amount of resources used by the virtual machine 250 plus the amount of resources of the container 252 to be added.
[0063] The container allocation unit 112, if it finds the virtual machine 250 and the virtual machine 250 of the user who made the additional request to the host computer 200 with the new resource is not running, will designate the virtual machine 250 as the source virtual machine and the host computer 200 as the destination host computer. If it finds the virtual machine 250 and the host computer 200 with the new resource is the same host computer 200 on which the virtual machine 250 is running, will designate the virtual machine 250 as the source virtual machine and the host computer 200 as the destination host computer.
[0064] If neither of these two cases applies, or if there is no host computer 200 with the new resource, the following search is performed. That is, the container allocation unit 112 searches for a host computer 200 that does not have the virtual machine 250 of the user who made the additional request running, and that is capable of running a new virtual machine 250 capable of running the requested container 252, and sets it as the destination host computer. In this case, there is no source virtual machine.
[0065] In step S74, the container allocation unit 112 instructs the virtual machine management unit 113 to start the virtual machine on the destination host computer identified in step S73, move the container 252 running on the source virtual machine, and deploy the additional container 252 that was requested. In step S75, the virtual machine management unit 113 instructs the hypervisor 211 (see Figure 2) running on the destination host computer to start a new virtual machine 250. The resource amount of this virtual machine 250 is the resource amount of the new resources if there is a source virtual machine, and if there is no source virtual machine, it is the resource amount that the additionally requested container 252 can run on. The started virtual machine 250 is referred to as the destination virtual machine.
[0066] In step S76, the virtual machine management unit 113 instructs the container management unit 114 to move the container 252 running on the source virtual machine and to deploy the additional container 252 that was requested. In step S77, if a source virtual machine exists, the container management unit 114 instructs the container infrastructure 253 of both the source and destination virtual machines to move the containers 252 running on the source virtual machine to the destination virtual machine. The container management unit 114 also instructs the container infrastructure 253 of the destination virtual machine to deploy any additionally requested containers 252 to the destination virtual machine.
[0067] In step S78, the container management unit 114 returns a response to the instructions for moving and deploying the container (see step S76) to the virtual machine management unit 113. This response may include identification information of the added container 252. In step S79, the virtual machine management unit 113 instructs the hypervisor 211 of the host computer 200 on which the source virtual machine is running to delete the source virtual machine. If there is no source virtual machine, step S79 is skipped.
[0068] In step S80, the virtual machine management unit 113 returns a response to the container allocation unit 112 in response to the instructions for starting the virtual machine, moving the container, and deploying it (see step S74). This response may include identification information of the added container 252.
[0069] In step S81, the container allocation unit 112 receives the response and updates the host resource database 130 and the container management database 140 (labeled DB in Figure 9). More specifically, the container allocation unit 112 updates the host computer and virtual machine attributes for the moved container 252. The container allocation unit 112 also adds information about the added container 252.
[0070] The container allocation unit 112 updates the CPU core and memory usage of the destination host computer to increase by the amount of the launched destination virtual machine. If there is a source virtual machine, the container allocation unit 112 also updates the CPU core and memory usage of the host computer 200 on which the source virtual machine was running to decrease by the amount of the source virtual machine.
[0071] In step S82, the container allocation unit 112 returns a response to the instruction to add container 252 (step S72) to the container operation reception unit 111. This response may include identification information of the added container 252.
[0072] In step S83, the container operation reception unit 111 returns a response to the request to add a container 252 (step S71) to the user terminal 870 (see Figure 1). This response may include identification information of the added container 252.
[0073] ≪Second Embodiment: Container Deletion Process≫ Figure 10 is a sequence diagram of the container deletion process according to the second embodiment. Steps S91 to S94 are the same as steps S31 to S34 of the container deletion process in the first embodiment (see Figure 7). Hereafter, the virtual machine on which container 252 was running will be referred to as the source virtual machine. It will also be assumed that container 252 is running on the source virtual machine. The case where there is no running container 252 will be described later.
[0074] In step S95, the container allocation unit 112 identifies the destination host computer. More specifically, the container allocation unit 112 refers to the container management database 140 (see Figure 5) to calculate the resources required to run the virtual machine 250 on which container 252 was running after container 252 has been deleted (hereinafter referred to as required resources). Next, the container allocation unit 112 refers to the container management database 140 (see Figure 5) and the host resource database 130 (see Figure 4) to perform the following search. That is, the container allocation unit 112 searches for a host computer 200 that has available required resources and on which the virtual machine 250 of the user who requested the deletion is not running. The host computer 200 targeted in this search may also be the host computer 200 on which the virtual machine 250 from which container 252 was deleted is running. This host computer 200 will be referred to as the destination host computer. The following explanation will continue assuming that a destination host computer has been found. The case where a destination host computer is not found will be described later.
[0075] In step S96, the container allocation unit 112 instructs the host computer to start a new virtual machine 250 with the necessary resources, and to move the container 252 from the source virtual machine to the newly started virtual machine 250. Hereinafter, the newly started virtual machine 250 will be referred to as the destination virtual machine.
[0076] In step S97, the virtual machine management unit 113 instructs the hypervisor 211 running on the destination host computer to start the destination virtual machine that has the necessary resources. In step S98, the virtual machine management unit 113 receives a response from the hypervisor 211 to start the destination virtual machine and instructs the container management unit 114 to move the container 252.
[0077] In step S99, the container management unit 114 instructs the container infrastructure 253 of the source virtual machine and the destination virtual machine to move the container 252 running on the source virtual machine to the destination virtual machine. In step S100, the container management unit 114 returns a response regarding the container's movement to the virtual machine management unit 113.
[0078] In step S101, upon receiving the response, the virtual machine management unit 113 instructs the hypervisor 211 of the host computer 200 on which the source virtual machine is running to delete the source virtual machine. In step S102, the virtual machine management unit 113 returns a response to the instructions for starting a new virtual machine or moving a container (see step S96) to the container allocation unit 112.
[0079] In step S103, the container allocation unit 112 receives the response and updates the host resource database 130 and the container management database 140 (labeled DB in Figure 10). More specifically, the container allocation unit 112 removes the information of the deleted container 252 from the container management database 140 (see Figure 5). The container allocation unit 112 also updates the host computer and virtual machine attributes for the moved container 252.
[0080] Next, the container allocation unit 112 updates the CPU core and memory usage of the destination host computer to increase by the amount of the launched destination virtual machine (required resources). The container allocation unit 112 also updates the CPU core and memory usage of the host computer 200 where the source virtual machine was running to decrease by the amount of the source virtual machine.
[0081] In step S104, the container allocation unit 112 returns a response to the container operation reception unit 111 regarding the instruction to delete container 252 (see step S92). In step S105, the container operation reception unit 111 returns a response to the request to delete container 252 (see step S91) to the user terminal 870.
[0082] If no container 252 is running in steps S91 to S94, the container allocation unit 112 instructs the virtual machine management unit 113 to delete the virtual machine 250 (source virtual machine) on which the deleted container 252 was running. Next, the container allocation unit 112 proceeds to step S103 and updates the host resource database 130 and the container management database 140. More specifically, the container allocation unit 112 deletes the information of the deleted container 252 from the container management database 140 (see Figure 5). The container allocation unit 112 also updates the CPU core and memory usage of the host computer 200 on which the source virtual machine was running to reduce it by the amount of the source virtual machine.
[0083] If no destination host computer is found in step S95, the container allocation unit 112 proceeds to step S103 to update the container management database 140. More specifically, the container allocation unit 112 removes the information of the deleted container 252 from the container management database 140 (see Figure 5). In this case, the virtual machine 250 on which the deleted container 252 was running will have the resources used by the deleted container 252 as surplus resources.
[0084] ≪Second Embodiment: Features of the Virtual Computing Resource Deployment Device≫ In the second embodiment, the virtual computing resource deployment device 100, instead of directly adjusting the resource amount of the virtual machine 250 (while the virtual machine 250 is running) as in the first embodiment, adjusts the resource amount of the virtual machine 250 by starting a new virtual machine 250 with the adjusted resource amount and moving the container 252 to it. Consequently, the resource amount of the virtual machine 250 is adjusted in accordance with the addition and deletion of container 252, enabling a high resource utilization rate.
[0085] ≪Second Embodiment: Container Deployment Optimization Process≫ Although the container deployment optimization process in the second embodiment is not described here, it can be performed in much the same way as in the first embodiment. Specifically, instead of increasing the resources of virtual machine 250 in step S54 (see Figure 8), a new virtual machine 250 with the increased resources can be started, and the containers 252 running on the source virtual machine and the destination virtual machine (see step S52) can be moved to this newly started virtual machine 250.
[0086] In the first embodiment, container 252 is moved to the destination virtual machine. In the second embodiment, container 252 running on the second source virtual machine and (some) container 252 running on the source virtual machine are moved to the destination virtual machine, which is a newly started virtual machine having increased resources compared to the destination virtual machine (second source virtual machine) in the first embodiment. Furthermore, in the host computer 200 where the new virtual machine 250 is running, the virtual machine 250 belonging to the same user (second user's virtual machine) is assumed not to have excluded the source virtual machine and the second source virtual machine.
[0087] <<Example of variation: Unit of resource adjustment>> In the embodiment described above, when adding a container 252 to the virtual machine 250, the amount of resources for the virtual machine 250 is increased (see step S15 in Figure 6). Depending on the virtualization technology (hypervisor 211), the units of resource allocation to the virtual machine 250 may be coarse, resulting in the virtual machine 250 having surplus resources. For example, if the allocation unit for CPU cores is 2, there may be a surplus of 0.5. If the additional container 252 can operate within the surplus resources, the virtual computing resource deployment device 100 may deploy the container 252 without increasing the resources.
[0088] Furthermore, even if deleting container 252 creates surplus resources, the units for allocating resources to virtual machine 250 are coarse. Therefore, reducing resources in the smallest units may not provide enough resources for the remaining container 252 to function. In such cases, resource reduction for virtual machine 250 (see steps S36-S38 in Figure 7) is not performed.
[0089] <<Other variations>> Although several embodiments of the present invention have been described above, these embodiments are merely illustrative and do not limit the technical scope of the present invention. For example, in the container deletion process shown in Figure 7, the container operation reception unit 111 instructs the container management unit 114 to delete the container, but it may also instruct the container allocation unit 112. The container allocation unit 112, upon receiving the instruction, may instruct the container allocation unit 112 to delete container 252.
[0090] Furthermore, the container operation reception unit 111, container allocation unit 112, virtual machine management unit 113, and container management unit 114 provided in the control unit 110 may be combined or separated. For example, the container allocation unit 112 and the container management unit 114 may be combined to form a container management unit. In the embodiment described above, the resources were CPU and memory, but other resources may also be considered when searching for destinations to add or move containers. For example, network capacity (network bandwidth) may be included as a resource.
[0091] The present invention can take on various other embodiments, and furthermore, various modifications such as omissions and substitutions can be made without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention as described herein, and are also included in the scope of the invention and its equivalents as described in the claims.
[0092] Hardware Configuration The virtual computing resource deployment device 100 according to the first and second embodiments is implemented by a computer 900 having a configuration such as that shown in Figure 11. Figure 11 is a hardware configuration diagram showing an example of a computer 900 that implements the functions of the virtual computing resource deployment device 100 according to the first and second embodiments. The computer 900 includes a CPU 901, ROM 902, RAM 903, SSD 904 (labeled as SSD in Figure 11), input / output interface 905 (labeled as input / output I / F (Interface) in Figure 11), communication interface 906 (labeled as communication I / F in Figure 11), and media interface 907 (labeled as media I / F in Figure 11). The computer 900 may have an HDD (Hard Disk Drive) instead of the SSD 904, or it may have an HDD in addition to the SSD 904.
[0093] The CPU 901 operates based on programs stored in the ROM 902 or SSD 904 and is controlled by the control unit 110 in Figure 3. The ROM 902 stores boot programs executed by the CPU 901 when the computer 900 starts up, as well as programs related to the computer 900's hardware. The CPU 901 controls input devices 910, such as a mouse and keyboard, and output devices 911, such as a display and printer, via the input / output interface 905. The CPU 901 acquires data from the input devices 910 and outputs the generated data to the output devices 911 via the input / output interface 905.
[0094] SSD904 stores programs executed by CPU901 and data used by those programs. Communication interface906 receives data from other devices (not shown) via the communication network (e.g., host computer200 or user terminal870) and outputs it to CPU901, and also transmits data generated by CPU901 to other devices via the communication network. The media interface 907 reads a program or data stored in the recording medium 912 and outputs it to the CPU 901 via the RAM 903. The CPU 901 loads the program from the recording medium 912 onto the RAM 903 via the media interface 907 and executes the loaded program. The recording medium 912 can be an optical recording medium such as a DVD (Digital Versatile Disk), a magneto-optical recording medium such as an MO (Magneto Optical Disk), a magnetic recording medium, a conductive memory tape medium, or a semiconductor memory.
[0095] For example, when computer 900 functions as a virtual computing resource deployment device 100 according to this embodiment, the CPU 901 of computer 900 realizes the function of the virtual computing resource deployment device 100 by executing a program 128 (see Figure 3) loaded on RAM 903. The CPU 901 reads the program from the recording medium 912 and executes it. Alternatively, the CPU 901 may read the program from another device via a communication network, or it may install the program 128 from the recording medium 912 onto the SSD 904 and execute it.
[0096] ≪Effects≫ The effects of the device are explained below. The virtual computing resource deployment device 100 according to the above embodiment deploys a container 252 that runs on a virtual machine 250. The virtual computing resource deployment device 100 includes a container operation reception unit 111 that receives requests to add new containers from terminals used by users (user terminals 870). The virtual computing resource deployment device 100 includes a container management unit (container allocation unit 112, container management unit 114) that deploys the new container to the user-used virtual machine that indicates the virtual machine 250 on which the requested container runs, used by the same user who made the additional request.
[0097] With this virtual computing resource deployment device 100, the user of each container 252 running on a single virtual machine 250 is the same. Containers 252 used by different users run on different virtual machines 250, ensuring the same level of security (isolation between users) as before. Furthermore, each user uses only one virtual machine per host computer 200. As a result, a high resource utilization rate can be achieved.
[0098] The virtual computing resource deployment device 100 according to the first embodiment further includes a virtual machine management unit 113 that manages the startup, deletion, and increase / decrease of resources for virtual machines 250. If the host computer 200 on which the user-owned virtual machine is running has a deployment virtual machine that indicates the user-owned virtual machine and has surplus resources necessary for running a new container, The container management unit instructs the virtual machine management unit 113 to increase the surplus resources of the target virtual machine and deploy the new container to the target virtual machine. If there is no target virtual machine, The container management unit instructs the virtual machine management unit 113 to start a new virtual machine 250 with surplus resources on the host computer 200 where no user-use virtual machines are running, and deploys a new container to the said virtual machine 250.
[0099] With this virtual computing resource deployment device 100, the amount of resources in the virtual machine 250 is adjusted in response to the addition of containers 252, and the virtual machine 250 operates with the minimum resources required for the operation of containers 252. As a result, a high resource utilization rate can be achieved.
[0100] The virtual computing resource deployment device 100 according to the second embodiment further includes a virtual machine management unit 113 that manages the startup and deletion of virtual machines 250. The container management unit calculates the new resource amount, which is the sum of the resources available in the source virtual machine (a virtual machine used by the user) and the resources required to run the new container, and searches for a destination host computer 200 that has available resources equal to or greater than this new resource amount. If the destination host computer is host computer 200 on which the source virtual machine is running, or host computer 200 on which the user-used virtual machine is not running, The container management unit instructs the virtual machine management unit 113 to start a virtual machine 250 with new resources on the destination host computer and designate it as the destination virtual machine. It then moves the containers running on the source virtual machine to the destination virtual machine, deploys the new containers to the destination virtual machine, and instructs the virtual machine management unit to delete the source virtual machine. If there is no destination host computer, The container management unit instructs the virtual machine management unit to start a virtual machine 250 on host computer 200, which does not currently have any user-used virtual machines running, and which has the surplus resources necessary to run the new container. This virtual machine is then designated as the destination virtual machine, and the new container is deployed to the destination virtual machine.
[0101] With this type of virtual computing resource deployment device 100, the destination virtual machine has a resource amount adjusted in response to the addition of container 252, and both the source virtual machine's container 252 and the new container are running. Therefore, a high resource utilization rate can be achieved.
[0102] The virtual computing resource deployment device 100 according to the first embodiment further includes a virtual machine management unit 113 that manages the startup, deletion, and increase / decrease of resources for virtual machines 250. The container operation reception unit 111 receives a deletion request for the container to be deleted, which is the currently running container 252. The container management unit deletes the container to be deleted from the virtual machine 250 on which the container to be deleted is running, and instructs the virtual machine management unit 113 to reduce the amount of resources used by the container to be deleted from the resources of the virtual machine 250.
[0103] With this virtual computing resource deployment device 100, the amount of resources available to the virtual machine 250 is adjusted in response to the deletion of container 252, so that the virtual machine 250 operates with the minimum resources required for container 252 to run. As a result, a high resource utilization rate can be achieved.
[0104] The virtual computing resource deployment device 100 according to the second embodiment further includes a virtual machine management unit 113 that manages the startup and deletion of virtual machines 250. The container operation reception unit 111 receives a deletion request for the container to be deleted, which is the currently running container 252. The container management unit deletes the container to be deleted from the source virtual machine, which is virtual machine 250 on which the container to be deleted is running. It then determines the amount of resources required for the source virtual machine to run after the deletion of the container to be deleted, and searches for a destination host computer, which is host computer 200, that has available resources equal to or greater than the required amount. If the destination host computer is host computer 200 on which the source virtual machine is running, or if the terminal used by the same user as the user of the virtual machine on which the container to be deleted is running is host computer 200 on which the virtual machine on which the container requested to be deleted is not running, The container management unit instructs the virtual machine management unit 113 to start a virtual machine 250 with the necessary resources on the destination host computer and designate it as the destination virtual machine. The containers running on the source virtual machine are then moved to the destination virtual machine, and the unit instructs the virtual machine management unit to delete the source virtual machine.
[0105] With this type of virtual computing resource deployment device 100, the destination virtual machine has a resource amount adjusted in accordance with the deletion of container 252, and container 252, which was running on the source virtual machine after the deletion of the container to be deleted, is running on the destination virtual machine. Therefore, a high resource utilization rate can be achieved.
[0106] The virtual computing resource deployment device 100 according to the first embodiment further includes a virtual machine management unit 113 that manages the startup, deletion, and increase / decrease of resources for virtual machines 250. With respect to a source virtual machine, which is virtual machine 250, if there is one or more virtual machines running containers requested by the same user who made the request to add containers running on the source virtual machine, and the host computer on which these virtual machines are running has available resources, and by adding those available resources to the virtual machine, there is a destination virtual machine that can move all containers running on the source virtual machine, The container management unit instructs the virtual machine management unit 113 to increase the resources of the destination virtual machine, moves the container 252 running on the source virtual machine to the destination virtual machine, and instructs the virtual machine management unit 113 to delete the source virtual machine.
[0107] With such a virtual computing resource deployment device 100, containers 252 can be moved between virtual machines 250, reducing the number of running virtual machines 250 (consolidating virtual machines 250 used by the same user). As a result, a high resource utilization rate can be achieved.
[0108] The virtual computing resource deployment device 100 according to the second embodiment further includes a virtual machine management unit 113 that manages the startup and deletion of virtual machines 250. Regarding the source virtual machine, which is virtual machine 250, there is a second-user virtual machine that represents one or more virtual machines 250 on which the container 252 requested by the terminal used by the same user who made the request for additional container 252 running on the source virtual machine is running, and if the resources of said virtual machine 250 are increased, there is a second source virtual machine that represents a virtual machine 250 capable of running all the container 252 running on the source virtual machine, and further, In the case where there is a host computer 200 that has available resources on which a destination virtual machine can run, which represents a new virtual machine 250 having increased resources added to the second source virtual machine, and there is a destination host computer 200 on which a second user-use virtual machine different from the source virtual machine and the second source virtual machine does not run, The container management unit instructs the virtual machine management unit 113 to start the destination virtual machine on the destination host computer, move the containers running on the source virtual machine to the destination virtual machine, move the containers running on the second source virtual machine to the destination virtual machine, and instructs the virtual machine management unit 113 to delete the source virtual machine and the second source virtual machine.
[0109] With such a virtual computing resource deployment device 100, containers 252 can be moved between virtual machines 250, reducing the number of running virtual machines 250 (consolidating virtual machines 250 used by the same user). As a result, a high resource utilization rate can be achieved. [Explanation of symbols]
[0110] 100 Virtual Computing Resource Deployment Devices 111 Container Operation Reception Section 112 Container Allocation Department (Container Management Department) 113 Virtual Machine Management Department 114 Container Management Department 200 host computers 250 virtual machines 252 containers 870 User terminal (terminal)
Claims
1. A virtual computing resource deployment device that deploys containers running on virtual machines, A container operation reception unit that receives requests to add new containers from terminals used by users, A container management unit deploys the new container to a user-used virtual machine that indicates a virtual machine running a container requested by a terminal used by the same user as the aforementioned user, The system includes a virtual machine management unit that manages the startup, deletion, and increase / decrease of resources for the aforementioned virtual machines, The aforementioned container management unit, If the host computer on which the aforementioned user-operated virtual machine is running has a deployment virtual machine that indicates the user-operated virtual machine and has the surplus resources necessary for the operation of the new container, The virtual machine management unit is instructed to increase the surplus resources to the target virtual machine, and the new container is deployed to the target virtual machine. If the aforementioned deployment target virtual machine does not exist, The system instructs the virtual machine management unit to start a new virtual machine with the surplus resources on a host computer where the user-utilized virtual machine is not running, and deploys the new container to that virtual machine. A virtual computing resource deployment device.
2. A virtual computing resource deployment device that deploys containers running on virtual machines, A container operation reception unit that receives requests to add new containers from terminals used by users, A container management unit deploys the new container to a user-used virtual machine that indicates a virtual machine running a container requested by a terminal used by the same user as the aforementioned user, It includes a virtual machine management unit that manages the startup and deletion of virtual machines, The aforementioned container management unit, The new resource amount is calculated as the sum of the resource amount of the source virtual machine, which is the user-utilized virtual machine, and the resource amount required to run the new container, and a destination host computer is searched for that host computer has available resources equal to or greater than the new resource amount. If the destination host computer is the same host computer on which the source virtual machine is running, or if the user-used virtual machine is not running, The virtual machine management unit is instructed to start a virtual machine with the new resource amount on the destination host computer and set it as the destination virtual machine. Move the container running on the source virtual machine to the destination virtual machine. The new container is deployed to the destination virtual machine, The virtual machine management unit is instructed to delete the source virtual machine, If the aforementioned destination host computer does not exist, The virtual machine management unit is instructed to start a virtual machine on a host computer where the user-utilized virtual machine is not running, which has the surplus resources necessary for running the new container, and to use it as the destination virtual machine. The new container is deployed to the destination virtual machine. A virtual computing resource deployment device.
3. A virtual computing resource deployment device that deploys containers running on virtual machines, A container operation reception unit that receives requests to add new containers from terminals used by users, A container management unit deploys the new container to a user-used virtual machine that indicates a virtual machine running a container requested by a terminal used by the same user as the aforementioned user, The system includes a virtual machine management unit that manages the startup, deletion, and increase / decrease of resources for the aforementioned virtual machines, The container operation reception unit receives a deletion request for a container that is currently running and is to be deleted. The aforementioned container management unit, The container to be deleted is removed from the virtual machine on which the container to be deleted is running. The virtual machine management unit is instructed to reduce the amount of resources used by the container to be deleted from the resources of the virtual machine. A virtual computing resource deployment device.
4. A virtual computing resource deployment device that deploys containers running on virtual machines, A container operation reception unit that receives requests to add new containers from terminals used by users, A container management unit deploys the new container to a user-used virtual machine that indicates a virtual machine running a container requested by a terminal used by the same user as the aforementioned user, It includes a virtual machine management unit that manages the startup and deletion of virtual machines, The container operation reception unit receives a deletion request for a container that is currently running and is to be deleted. The aforementioned container management unit, The container to be deleted is deleted from the source virtual machine that indicates the virtual machine on which the container to be deleted is running. Determine the amount of resources required for the source virtual machine to run after the deletion of the container to be deleted, and search for a destination host computer that has free resources equal to or greater than the required amount of resources. If the destination host computer is the same host computer on which the source virtual machine is running, or if the virtual machine on which the container requested to be deleted by a terminal used by the same user as the virtual machine on which the container to be deleted is running is not running, The virtual machine management unit is instructed to start a virtual machine having the required amount of resources on the destination host computer and set it as the destination virtual machine. Move the container running on the source virtual machine to the destination virtual machine. Instruct the virtual machine management unit to delete the source virtual machine. A virtual computing resource deployment device.
5. A virtual computing resource deployment device that deploys containers running on virtual machines, A container operation reception unit that receives requests to add new containers from terminals used by users, A container management unit deploys the new container to a user-used virtual machine that indicates a virtual machine running a container requested by a terminal used by the same user as the aforementioned user, It includes a virtual machine management unit that manages the startup, deletion, and increase / decrease of virtual machines and resources, The aforementioned container management unit, With respect to the source virtual machine, if there is one or more virtual machines on which the containers requested by the terminal used by the same user who made the request to add containers running on the source virtual machine are running, and the host computer on which these virtual machines are running has available resources, and by adding these available resources to the virtual machine, there is a destination virtual machine that represents a virtual machine on which all containers running on the source virtual machine can be moved, The virtual machine management unit is instructed to increase the resources of the destination virtual machine, Move the container running on the source virtual machine to the destination virtual machine. Instruct the virtual machine management unit to delete the source virtual machine. A virtual computing resource deployment device.
6. A virtual computing resource deployment device that deploys containers running on virtual machines, A container operation reception unit that receives requests to add new containers from terminals used by users, A container management unit deploys the new container to a user-used virtual machine that indicates a virtual machine running a container requested by a terminal used by the same user as the aforementioned user, It includes a virtual machine management unit that manages the startup and deletion of virtual machines, The aforementioned container management unit, With respect to the aforementioned source virtual machine, there is a second user-accessible virtual machine that represents one or more virtual machines running containers requested by a terminal used by the same user as the terminal that made the request to add containers running on the source virtual machine, and if the resources of that virtual machine are increased, there is a second source virtual machine that represents a virtual machine capable of running all the containers running on the source virtual machine, and further, In the case where there is a host computer with available resources on which a destination virtual machine, which represents a new virtual machine having increased resources added to the second source virtual machine, can run, and where the source virtual machine and a second user-use virtual machine different from the second source virtual machine do not run, The virtual machine management unit is instructed to start the destination virtual machine on the destination host computer. Move the container running on the source virtual machine to the destination virtual machine. Move the container running on the second source virtual machine to the destination virtual machine. The virtual machine management unit is instructed to delete the source virtual machine and the second source virtual machine. A virtual computing resource deployment device.
7. A program for causing a computer to function as a virtual computing resource deployment device according to any one of claims 1 to 6.
8. The virtual computing resource deployment device, The steps include: accepting requests to add new containers from the terminal used by the user, The steps include deploying the new container to a user-used virtual machine that indicates a virtual machine running a container requested by a terminal used by the same user as the aforementioned user, The steps include starting, deleting, and managing the resources of the aforementioned virtual machine, and then executing the following: In the step of deploying the new container, If the host computer on which the aforementioned user-operated virtual machine is running has a deployment virtual machine that indicates the user-operated virtual machine and has the surplus resources necessary for the operation of the new container, The surplus resources are added to the target virtual machine, and the new container is deployed to the target virtual machine. If the aforementioned deployment target virtual machine does not exist, A new virtual machine with the surplus resources is started on a host computer where the aforementioned user-utilized virtual machine is not running, and the new container is deployed to that virtual machine. Method for deploying virtual computing resources.
9. The virtual computing resource deployment device, The steps include: accepting requests to add new containers from the terminal used by the user, The steps include deploying the new container to a user-used virtual machine that indicates a virtual machine running a container requested by a terminal used by the same user as the aforementioned user, The steps to manage the startup and deletion of virtual machines are as follows: In the step of deploying the new container, The new resource amount is calculated as the sum of the resource amount of the source virtual machine, which is the user-utilized virtual machine, and the resource amount required to run the new container, and a destination host computer is searched for that host computer has available resources equal to or greater than the new resource amount. If the destination host computer is the same host computer on which the source virtual machine is running, or if the user-used virtual machine is not running, A virtual machine with the new resource amount is started on the destination host computer and designated as the destination virtual machine. Move the container running on the source virtual machine to the destination virtual machine. The new container is deployed to the destination virtual machine, Delete the aforementioned source virtual machine, If the aforementioned destination host computer does not exist, A virtual machine with the surplus resources necessary for running the new container is started on a host computer where the aforementioned user-utilized virtual machine is not running, and this is designated as the destination virtual machine. The new container is deployed to the destination virtual machine. Method for deploying virtual computing resources.
Citation Information
Patent Citations
Container instance creation method and device based on multi-tenant management cluster
CN111309448A
Computer system and container management method
JP2017037403A