Overlay container storage driver for microservice workloads
AssigneeRed Hat, Inc.
InventorsFabian Deutsch, Adam Gerard Litke, Huamin Chen
Life of this patent
Estimating the term…
Abstract
A first command is received from a workload, by a host system executing a nested container storage interface (CSI) driver, to create a persistent volume. The nested CSI driver converts the first command used by the workload to create the persistent volume to a second command used by the host system to increase a capacity of a previously generated persistent volume allocated to the workload. The second command is transmitted to an undercluster CSI driver of the host system, wherein the second command causes the undercluster CSI driver to increase the capacity of the previously generated persistent volume.
Claims15
A method comprising:
- instantiating, by a host system, a virtual machine comprising an overcluster that resides in the virtual machine, wherein the overcluster comprises a nested container storage interface (CSI) driver;
- providing communication endpoints of an undercluster CSI driver of an undercluster residing on the host system to the nested CSI driver to enable transmission of commands from the nested CSI driver to the undercluster CSI driver;
- receiving, at the nested CSI driver, a create-volume command from a workload executing in the virtual machine, wherein the create-volume command is to create a new persistent volume to be provisioned for storage of data generated by the workload;
- converting, by the nested CSI driver, the create-volume command to a resize command that identifies a previously generated persistent volume allocated to the workload;
- transmitting the resize command to the undercluster CSI driver, wherein the resize command causes the undercluster CSI driver to increase a capacity of the previously generated persistent volume, wherein the undercluster is a first cluster management operator managing a cluster of physical computing resources that support the virtual machine, and wherein the overcluster is second cluster management operator executing within the virtual machine;
- and
- transmitting, from the undercluster CSI driver to a volume management component in view of the resize command, an additional command to increase the capacity of the previously generated persistent volume, wherein the volume management component is a logical volume manager or network storage driver.
A system comprising:
- a memory;
- and
- a processing device, operatively coupled to the memory, to:
- allocate, by a host system, a persistent volume to a virtual machine executing a workload and executing an overcluster comprising a nested container storage interface (CSI) driver;
- provide communication endpoints of an undercluster CSI driver of an undercluster residing on the host system to the nested CSI driver to enable transmission of commands from the nested CSI driver to the undercluster CSI driver;
- receive, by the nested CSI driver from the workload, a create-volume command, wherein the create-volume command is a request to provision a new persistent volume for storage of data generated by the workload;
- convert, by the nested CSI driver, the create-volume command into a resize command, wherein the resize command is a request to modify a capacity of a previously generated persistent volume;
- receive, by the undercluster CSI driver of the undercluster from the nested CSI driver of the overcluster executed within the virtual machine, the resize command to modify the capacity of the previously generated persistent volume;
- and
- transmit, to a volume management component, a command to modify the capacity of the persistent volume in view of the resize command, wherein the command causes the volume management component to modify the capacity of the persistent volume, wherein the undercluster is a first cluster management operator managing a cluster of physical computing resources that support the virtual machine, and wherein the overcluster is second cluster management operator executing within the virtual machine.
A non-transitory computer-readable storage medium including instructions that, when executed by a processing device of a host system, cause the processing device to:
- generate, by the processing device of the host system, a virtual machine for execution of a workload, wherein the virtual machine comprises a nested container storage interface (CSI) driver included in an overcluster;
- provide communication endpoints of an undercluster CSI driver of an undercluster residing on the host system to the nested CSI driver to enable transmission of commands from the nested CSI driver to the undercluster CSI driver;
- convert, by the nested CSI driver, a first command received from the workload to a second command used by the host system, wherein the first command is a request to create or delete a persistent volume and the second command is a command to resize an existing persistent volume
- send the second command to the undercluster CSI driver, wherein the undercluster is a first cluster management operator managing a cluster of physical computing resources that support the virtual machine, and wherein the overcluster is a second cluster management operator executing within the virtual machine;
- and
- allocate a persistent volume on the host system to the virtual machine, wherein a capacity of the persistent volume is modified by a volume management component in view of the second command used by the host system.
Dependencies are inferred from the claim text.