Container orchestration using siloed availability zones
A method of scaling open-source container orchestration platforms is provided. The open-source container orchestration platform has a first plane that is associated with regional agents each having an object group is provided. A second plane is associated with each object group where the object groups have a pod group. Each pod group has an availability zone divided into sub-availability zones where the availability zones are associated with the second plane. Each of the availability zones has a first sub-availability zone configured to substitute functionality of a second sub-availability zone of the availability zones when the second sub-availability zone becomes non-functional. Moreover, each of the availability zones can be further subdivided to include additional sub-availability zones when demand increases thereby scaling an open-source container orchestration platform implementing the availability zones.
1 . A system, comprising:
at least one processor; and
at least one memory including instructions that, when executed by the at least one processor, cause the at least one processor to perform operations comprising:
providing a first plane at a controller, the first plane being associated with a plurality of regional agents associated with a plurality of object groups where each regional agent of the plurality of regional agents comprises an object group of the plurality of object groups associated therewith;
associating a second plane with an object group of each of the plurality of object groups, the object group having a pod group where:
each pod group of the plurality of object groups has an availability zone divided into sub-availability zones, a number of sub-availability zones in the availability zone dynamically varying based on processing changes of nodes associated with the object groups;
each of the availability zones are associated with the second plane, the second plane employing virtual machines having a plurality of data planes that mediate and control network communication; and
a first sub-availability zone of the availability zones being configured to substitute functionality of a second sub-availability zone of the sub-availability zones, the first sub-availability zone and the second sub-availability zone sharing a data plane of the plurality of data planes where the first sub-availability zone has first functionality and the second sub-availability zone has second functionality;
adding additional sub-availability zones to the availability zone by further dividing the availability zone based on the processing changes;
migrating the second functionality of the second sub-availability zone to the first sub-availability zone based on a failure of the second sub-availability zone;
monitoring an operational state of the second sub-availability zone to detect when the second sub-availability zone becomes functional after the failure; and
based on the second sub-availability zone becoming functional after the failure, migrating the second functionality back to the second sub-availability zone, where the shared data plane minimizes data loss during the migrations.
2 . The system of claim 1 , wherein the instructions further cause the system to perform operations comprising adding a third sub-availability zone in response to a change in demand.
3 . The system of claim 2 , wherein each of the first sub-availability zone, the second sub-availability zone, and the third sub-availability zone are siloed from each other.
4 . The system of claim 3 , wherein the pod group has a plurality of pods and the instructions further cause the system to perform operations comprising scaling the pod group to include additional nodes in response to a change in demand.
5 . The system of claim 1 , wherein the pod group has a plurality of pods and the instructions further cause the system to perform operations comprising scaling the pod group to include additional nodes in response to a change in demand.
6 . The system of claim 1 , wherein the first plane is a control plane and the second plane is a data plane.
7 . The system of claim 1 , wherein the first plane is an abstraction layer and the second plane is a data plane.
8 . A method comprising:
providing a first plane at a controller, the first plane being associated with a plurality of regional agents associated with a plurality of object groups where each regional agent of the plurality of regional agents comprises an object group of the plurality of object groups associated therewith;
associating a second plane with an object group of each of the plurality of object groups, the object group having a pod group where:
each pod group of the plurality of object groups has an availability zone divided into sub-availability zones, a number of sub-availability zones in the availability zone dynamically varying based on processing changes of nodes associated with the object groups;
each of the availability zones are associated with the second plane, the second plane employing virtual machines having a plurality of data planes that mediate and control network communication; and
a first sub-availability zone of the availability zones being configured to substitute functionality of a second sub-availability zone of the sub-availability zones, the first sub-availability zone and the second sub-availability zone sharing a data plane of the plurality of data planes where the first sub-availability zone has first functionality and the second sub-availability zone has second functionality;
adding additional sub-availability zones to the availability zone by further dividing the availability zone based on the processing changes;
migrating the second functionality of the second sub-availability zone to the first sub-availability zone based on a failure of the second sub-availability zone;
monitoring an operational state of the second sub-availability zone to detect when the second sub-availability zone becomes functional after the failure; and
based on the second sub-availability zone becoming functional after the failure, migrating the second functionality back to the second sub-availability zone, where the shared data plane minimizes data loss during the migrations.
9 . The method of claim 8 , comprising:
adding a third sub-availability zone in response to a change in demand and each of the first sub-availability zone, the second sub-availability zone, and the third sub-availability zone being siloed from each other; and
scaling the pod group to include additional nodes in response to a change in demand.
10 . The method of claim 8 , wherein the pod group has a plurality of pods and the method further comprises scaling the pod group to include additional nodes in response to a change in demand.
11 . The method of claim 8 , wherein the first plane is one of a control plane or an abstraction layer and the second plane is a data plane.
12 . A machine-storage medium having instructions embodied thereon, the instructions executable by at least one hardware processor to perform operations comprising:
providing a first plane at a controller, the first plane being associated with a plurality of regional agents associated with a plurality of object groups where each regional agent of the plurality of regional agents comprises an object group of the plurality of object groups associated therewith;
associating a second plane with an object group of each of the plurality of object groups, the object group having a pod group where:
each pod group of the plurality of object groups has an availability zone divided into sub-availability zones, a number of sub-availability zones in the availability zone dynamically varying based on processing changes of nodes associated with the object groups;
each of the availability zones are associated with the second plane, the second plane employing virtual machines having a plurality of data planes that mediate and control network communication; and
a first sub-availability zone of the availability zones being configured to substitute functionality of a second sub-availability zone of the sub-availability zones, the first sub-availability zone and the second sub-availability zone sharing a data plane of the plurality of data planes where the first sub-availability zone has first functionality and the second sub-availability zone has second functionality;
adding additional sub-availability zones to the availability zone by further dividing the availability zone based on the processing changes;
migrating the second functionality of the second sub-availability zone to the first sub-availability zone based on a failure of the second sub-availability zone;
monitoring an operational state of the second sub-availability zone to detect when the second sub-availability zone becomes functional after the failure; and
based on the second sub-availability zone becoming functional after the failure, migrating the second functionality back to the second sub-availability zone, where the shared data plane minimizes data loss during the migrations.
13 . The machine-storage medium of claim 12 , wherein the operations comprise:
adding a third sub-availability zone in response to a change in demand and each of the first sub-availability zone, the second sub-availability zone, and the third sub-availability zone being siloed from each other; and
scaling the pod group to include additional nodes in response to a change in demand.
14 . The machine-storage medium of claim 12 , wherein the pod group has a plurality of pods and the operations further comprise scaling the pod group to include additional nodes in response to a change in demand.