Cluster updating using temporary update-monitor pod
AssigneeVMware, Inc.
InventorsTyler CURTIS, Karthigeyan VIJAYAKUMAR
Life of this patent
Estimating the term…
Abstract
Multiple instances of a distributed application are run in a Kubernetes cluster. An updated version of the application must undergo some post-launch initialization before a production workload handled by the original version can be switched to the updated version. Accordingly, a temporary update-monitor pod is inserted into the cluster so that it can query the application as to its update status and report it to a log file. A script external to the cluster can read the log file to determine if initialization is complete. If so, the workload can be switched to the update instance. The temporary update-monitor pod is destroyed to free up resources and to ensure that it is does not pose a security vulnerability.
Claims10
A process comprising:
- while an original instance of an application is executing in a cluster, launching an updated instance of the application in the cluster;
- commanding, by an entity external to the cluster, a cluster manager node to create a temporary update-monitor node in the cluster;
- once the launch of the update is complete and the update is executing, starting a post-launch initialization;
- during the post-launch initialization, using the temporary update-monitor node to monitor an initialization status of the updated application;
- writing, by the temporary update-monitor node, an initialization status to a log file;
- reading, by the entity external to the cluster, the initialization status from the log file;
- destroying the temporary update-monitor node;
- and
- in the event that the initialization status read by the entity is that the initialization is complete, switching a production workload from the original instance to the updated instance so that the updated instance handles the production workload after the temporary update-monitor node is destroyed.
A system comprising non-transitory media encoded with code that, when executed by a processor, implements a process including:
- while an original instance of an application is executing in a cluster, launching an updated instance of the application in the cluster;
- commanding, by an entity external to the cluster, a cluster manager node to create a temporary update-monitor node in the cluster;
- once the launch of the update is complete and the update is executing, starting a post-launch initialization;
- during the post-launch initialization, using the temporary update-monitor node to monitor an initialization status of the updated application;
- writing, by the temporary update-monitor node, an initialization status to a log file;
- reading, by the entity external to the cluster, the initialization status from the log file;
- destroying the temporary update-monitor node;
- and
- in the event that the initialization status read by the entity is that the initialization is complete, switching a production workload from the original instance to the updated instance so that the updated instance handles the production workload after the temporary update-monitor node is destroyed.
Dependencies are inferred from the claim text.