Versions Compared

Key

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

...

The Edge Multi-Cluster Orchestrator (EMCO) is an open-source project, part of the Linux Foundation Networking umbrella backed by companies including Intel, Equinix, Nokia, Aarna Networks, and others. It is a software framework for the intent-based deployment of cloud-native applications to a set of Kubernetes clusters, spanning enterprise data centers, multiple cloud service providers, and numerous edge locations. It can be leveraged for Private 5G, O-RAN (Open Radio Access Networks), and multi-access edge computing (MEC) applications. It has many unique features like extensibility via an intelligent selection of clusters to place the workloads, tenant Isolation using logical clouds, automation of service mesh and other connectivity & security infrastructure, updates, and rollbacks.

In brief, we can say it’s a one-stop solution for edge deployments using Kubernetes, and what makes it better is being open-sourced, it is completely free. 

...

To elaborate, in a basic GitOps flow the user pushes all the resources to the git repo which is considered to contain the entire state of the system. And usually, an agent like FluxCD or ArgoCD is running inside the environment which continually polls continously polling this Git repo and/or container registry for changes. As soon as it detects a mismatch between the defined state and the running state, the agent pulls the defined configuration into the environment. A few major advantages of using this mode of deployment are

...

Let us try to understand this GitOps flow, in here we have which has three actors: a developer (dev), an Operations Engineer (Ops), and an Infrastructure Engineer (Infra). Let us cycle through steps 0-5 and understand what actions are being taken by these three actors.

  • In step 0, the infrastructure engineer creates the Kubernetes cluster with a GitOps controller like FluxCD/ArgoCD. This GitOps controller is watching the Git Deploy Repository for changes to synchronize.
  • In step 1a, the Developer developer pushes the application changes to the Git App Repository, which triggers step 2 docker build. Once the build is gets completed, step 3 kicks in, and the images are get pushed to a package repository.
  • After these newly built images are pushed to the package repositorythis, step 4 gets triggered and updates the Git Deploy repository with these new images.
  • As mentioned earlier, the GitOps controller deployed in the Kubernetes is continuously watching watches the Git Deploy repository for changes. As soon as the new images get updated, the GitOps controller picks up the changes as shown in step 5 and updates the workload deployed in the Kubernetes cluster.

...

How well does EMCO complement GitOps?

 Considering In the context of a multi-cluster, multi-app edge/cloud deployment, such sort of deployment which involves deployment of deployments, which involve deploying multiple applications on clusters of diverse different cluster types located in different environments brings in , add complexity to management, security, and consistency-related complexities. GitOps helps in simplifying simplifies the process but lacks the intelligence to solve these complexities. So  So, EMCO can become the intelligent agent that writes resources to the git location in a way to solve these complexities and accomplish all the below-mentioned points.

  • On-demand instantiation of applications on K8s clusters
  • Intelligent selection of clusters to place the workloads
  • Workload placement using intelligent cluster selection.
  • On-demand scale-out (bursting) of the applications
  • Customization of resources to the applications
  • Automation of service mesh and other connectivity & security infrastructure
  • Dependency and order of priority of application deployments between clusters

What GitOps Plugins are available in EMCO?

GitOps pattern is being adopted in many public and private clouds. FluxCD and ArgoCD are two Kubernetes-native applications that facilitate and help enforce the GitOps pattern, . Azure supports GitOps on an Azure Arc-enabled Kubernetes cluster, and GCP (Google Cloud Platform) supports GitOps with Anthos.

...