Container Runtime Updates via Standby Virtual Machines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Container runtime updates often cause downtime as they require stopping the container, which disrupts ongoing operations and services.
Innovation Solution
The method involves using standby virtual machines with an updated container runtime, sharing the same root filesystem and data volumes, to seamlessly replace the existing container, updating networking configurations to redirect communications, and then retiring the old container and virtual machine.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If container runtime is updated by stopping the container, then the runtime can be updated to provide fixes and additional features, but downtime occurs and container execution is interrupted
Solution Approach 1:
A second virtual machine is prepared in advance with the updated container runtime installed before the update is actually needed. This standby VM is configured with the new runtime version and ready to immediately take over, eliminating the need to stop the container for updates.
Solution Approach 2:
The second virtual machine acts as an intermediary during the transition. It temporarily assumes the container execution role while the first VM is still running, then seamlessly takes over traffic through networking configuration updates, allowing the old VM to be gracefully decommissioned without interrupting service.
2Loss of time
If a standby virtual machine is created with updated runtime, then continuous operation is maintained during updates, but device complexity increases
Solution Approach 1:
The second virtual machine is designed to be a universal replacement that can assume the exact same function as the first VM. It uses the same root filesystem and data volumes, and can be configured with the same networking settings, making it a multi-functional system that serves both as a standby and an active container host.
Solution Approach 2:
The system temporarily maintains two virtual machines during the transition period, but then discards the first VM once the second VM is confirmed to be working correctly. The resources previously used by the first VM are recovered and can be reallocated, so the net complexity increase is temporary and minimal.
Data Source
AI summary
Described herein are systems, methods, and software to manage the updates for a container runtime. In one example, a host identifies a request to update a container runtime from a first version to a second version for a container executing in a virtual machine. The host further initiates execution of a second container in a second virtual machine with the second version of the container runtime, wherein the second container uses the same root filesystem as the first container. The host also updates any required networking configurations to direct communications to the second container over the first container and stops execution of the first container.


