IP Library › Granted Patent US 10,482,108
Granted Patent B2
US 10,482,108 · App. 15/054,746 · Granted Nov 19, 2019

Container clustering in a container-based architecture

Inventors: Benjamin Michael Parees (Durham, NC); Martin Nagy (Brno, CZ); Michal Fojtik (Brno, CZ); Rodolfo Henrique Carvalho (Brno, CZ)
Assignee: Red Hat, Inc.
G06F16/285H04L61/1511
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,482,108
App. No.
15/054,746
Granted
Nov 19, 2019
Kind
B2
Abstract

Implementations provide for container clustering in a container-based architecture. A method of the disclosure includes generating by a processing device executing a container deploying an instance of an application image, a domain name server (DNS) query to request identification of other containers in a container cluster. The other containers deploy other instances of the application image. The method also includes in responsive to the DNS query, receiving the identification of each of the other containers in the container cluster. The method further includes configuring, without manual intervention, the container as a member of the container cluster in view of the identification of each of the other containers.

Claims (37)

1. A method, comprising:

receiving, from an image repository, an application image comprising a container cluster component embedded in the application image, wherein the container cluster component causes a processing device executing a container deploying an instance of the application image to generate a domain name server (DNS) query;

upon deploying the instance of the application image, generating, by the processing device, the DNS query to request identification of other containers in a container cluster, the other containers deploying other instances of the application image, wherein when the application image is deployed to the container, the instance causes functionality of the container cluster to execute the container on a respective host;

responsive to the DNS query, receiving, by the processing device, the identification of each of the other containers in the container cluster; and

configuring, by the processing device without manual intervention, the container as a member of the container cluster in view of the identification of each of the other containers, wherein configuring the container comprises:

assigning a cluster hierarchy topology to the container in the container cluster, wherein the cluster hierarchy topology comprise one of a master/slave or a slave/slave topology and wherein the container is assigned either as a master container or a slave container by a container cluster component within the cluster.

2. The method of claim 1 further comprising monitoring the container for changes in a state of the container.

3. The method of claim 2 further comprising detecting a change in the state of the container in view of the monitoring, wherein the change in state comprises one of addition or deletion of the container.

4. The method of claim 3 further comprising updating the configuration of the container in view of the detected change in state.

5. The method of claim 3 further comprising communicating the change in state in the container with the other containers in the container cluster.

6. The method of claim 2 further comprising receiving a change in state communication from one of the other containers, wherein the change in state comprises one of addition or deletion of the one of the other containers in the container cluster.

7. The method of claim 6 further comprising updating the configuration of the container in view of the received change in state communication.

8. A system, comprising:

a memory;

a processing device communicably coupled to the memory, the processing device to:

receive, from an image repository, an application image comprising a container cluster component embedded in the application image, wherein the container cluster component causes a respective processing device executing a container deploying an instance of the application image to generate a domain name server (DNS) query;

deploy the instance of the application image in a container;

receive the DNS query to request identification of other containers in a container cluster, the other containers deploying other instances of the application image comprising the container cluster component embedded in the application image, wherein when the application image is deployed in the container, the instance causes functionality of the container cluster to execute the container on a respective host;

responsive, to the DNS query, discover the identification of each of the other containers in the container cluster; and

configure, without manual intervention, the container as a member of the container cluster in view of the identification of each of the other containers, wherein to configure the container comprises:

assign a cluster hierarchy topology to the container in the container cluster, wherein the cluster hierarchy topology comprise one of a master/slave or a slave/slave topology and wherein the container is assigned either as a master container or a slave container by a container cluster component within the cluster.

9. The system of claim 8 wherein the processing device to detect a change in state in of the container, wherein the change in state comprises one of addition or deletion of the container.

10. The system of claim 9 wherein the processing device to update the configuration of the container in view of the detected change.

11. The system claim 9 wherein the processing device to communicate the change in state in the container with the other containers in the container cluster.

12. The system claim 9 wherein the processing device to update the configuration of the container in view of the detected change in state communication.

13. The system claim 8 wherein the processing device to receive a change in state communication from one of the other containers, wherein the change in state comprises one of addition or deletion of the one of the other containers in the container cluster.

14. A non-transitory machine-readable storage medium including instructions that, when accessed by a processing device, cause the processing device to:

receive, from an image repository, an application image comprising a container cluster component embedded in the application image, wherein the container cluster component causes a respective processing device executing a container deploying an instance of the application image to generate a domain name server (DNS) query;

execute the container deploying the instance of the application image;

detect the DNS query requesting identification of other containers in a container cluster, the other containers deploying other instances of the application image comprising the container cluster component embedded in the application image, wherein when the application image is deployed in the container, the instance causes functionality of the container cluster to execute the container on a respective host;

responsive, to the DNS query, determine the identification of each of the other containers in the container cluster; and

configure, without manual intervention, the container as a member of the container cluster in view of the identification of each of the other containers, wherein to configure the container comprises:

assign a cluster hierarchy topology to the container in the container cluster, wherein the cluster hierarchy topology comprise one of a master/slave or a slave/slave topology and wherein the container is assigned either as a master container or a slave container by a container cluster component within the cluster.

15. The non-transitory machine-readable storage medium of claim 14 wherein the processing device to detect a change in state of the container, wherein the change in state comprises one of addition or deletion of the container.

16. The non-transitory machine-readable storage medium of claim 15 wherein the processing device is to update the configuration of the container in view of the detected change in state in the container.

17. The non-transitory machine-readable storage medium of claim 15 wherein the processing device is to communicate the change in state in the container with other containers in the container cluster.

18. The non-transitory machine-readable storage medium of claim 17 wherein the processing device is to update the configuration of the container in view of the communicated change in state communication.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2016
From: PAREES, BENJAMIN MICHAEL; NAGY, MARTIN; FOJTIK, MICHAL; CARVALHO, RODOLFO HENRIQUE
To: RED HAT, INC.
Reel/Frame 037868/0446 →
Continuity (1)
Related Publication 20170249374A1 · Aug 31, 2017