Kubernetes Restart Controller for Controlled Service Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Kubernetes clusters, simultaneous restarts of all microservice instances due to configuration changes lead to unwanted downtime, as existing methods force restarts for all changes, regardless of necessity, causing inefficiency and reliability issues.

Innovation Solution

Implementing a restart controller component in the Kubernetes cluster that allows services to declare a need for restarts via an API, enabling controlled restarts only when necessary, by updating the ConfigMap and using labels and annotations to manage the restart process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all service instances restart simultaneously when a configuration change is detected, then the configuration update is applied system-wide, but unwanted downtime occurs and service reliability deteriorates

Engineering Contradiction:
Improveservice reliabilityVSAvoiddowntime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the restart process by introducing a restart controller that manages individual service instance restarts separately rather than restarting all instances simultaneously. The controller processes restart requests one at a time or in controlled batches, allowing other instances to continue serving requests, thus avoiding complete service downtime while still applying the configuration update across all instances.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by having the restart controller evaluate and prepare restart sequences before executing them. The controller determines the optimal restart order and timing in advance, ensuring that at least one instance remains operational during the transition, thereby preventing complete service interruption while maintaining configuration consistency.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If a restart controller is implemented to manage controlled restarts, then service reliability and operational efficiency improve, but device complexity increases

Engineering Contradiction:
Improveoperational efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a restart controller as an intermediary component between the configuration management system and the service instances. This mediator receives configuration change notifications, determines which instances need restarting, and orchestrates the restart process sequentially. While this adds a component to the system, it automates the restart management process and prevents the need for manual intervention, thereby improving operational efficiency despite the added complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11893395B2Restart controller
Publication Date: 2024.02.06 ALIANZA INC
  • US11893395B2 patent drawing
  • US11893395B2 patent drawing
  • US11893395B2 patent drawing

AI summary

A native restart controller restarts services in a controlled manner. The services run in a cloud computing environment comprising a plurality of computing devices executing a plurality of Kubernetes pods comprising one or more containers. An indication is received of a deployment defining a service to be implemented in the cloud computing environment, the deployment including a desired number of instances of the service. An API is instantiated that is operable to provide a first state indicative of whether restarts are to be controlled by the restart controller and a second state indicating that a restart is required. In response to receiving an indication that restarts for the cluster are to be controlled by the restart controller and that a restart is required, the instances are restarted in a sequence in accordance with restart criteria associated with the service.