Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Multi-cluster Orchestrator micro-service components:

Project Module:   Projects allow multi-tenancy in the application from a user perspective.

Definition Module:  K8splugin artifacts start in the form of Definitions representing an application. These are nothing but Helm Charts wrapped with some metadata about the application itself.  The Definition is a tar file. If an application is made up of multiple applications then Definition will be made up multiple Helm charts representing each sub-application. The orchestrator decides the placement of each sub-application and their associated Kubernetes resources after considering inputs from the placement controllers like the HPA controller.

Profile Module: Once the Definitions are created, we are ready to create some profiles so that we can customize that definition and instantiate it in Kubernetes. Profile names are unique within a definition and version.

Day 2 Config Module:  Day 2 Configurations for applications are applied using K8S kinds (typically CRDs) implemented by application-specific operators.   

Intent Group Module: Intent Group API is used to create Intent Groups that can then will be used at instantiation time. Some intents that can be part of an Intent Group are Generic Placement Intent, HPA Intent, and traffic controller Intent.

Generic Placement Module: Generic Placement Intent API is used to create generic placement intents for sub-applications in an application. Intent created using this API will be added to an Intent Group to use during instantiation.

Instantiation Module: Instantiates an application based on the Intent group. During instantiation, placement controllers and traffic controllers will be called to help with placement decisions and creating configurations for sub-applications.

Cluster Registration Module:  Registering a cluster with cluster-specific information to be used by the Resource sync module. 

Resource sync micro-service components:

Resource Sync Module:  Responsible for installed Kubernetes resources on the identified clusters

Status Update Module: Maintains the state of all the resources deployed for an application and its sub-applications.

Internal Design details

Guidelines that need to kept in mind

...