Skip to main content

Edge Sync

The Edge Sync operator is the counterpart to the Cluster Manager running at the edge. It keeps the central cluster updated regarding the status of the edge cluster and is responsible for deploying Edge Agents and other code required at the edge.

Open Source Example

ACS Edge Sync Component

See how the AMRC have implemented this component in the AMRC Connectivity Stack
View on Github

Overview​

The Edge Sync operator has no HTTP or MQTT API. It communicates with the central cluster via the Config Store. The operator has two roles: updating the status of the cluster in the Config Store, and arranging to deploy edge deployments when requested.

The status information about the cluster consists of these things:

  • A list of the hosts (Kubernetes Nodes) attached to the cluster.
  • Architecture and k8s version information for these hosts.
  • Information about 'specialised host' taints which have been applied.
  • A certificate containing the public key used to encrypt secret information for the cluster.

The list of attached hosts is obtained from the Kubernetes API on the edge cluster. The 'specialised host' taints are taints with the key factoryplus.app.amrc.co.uk/specialised; these indicate that a host should not be used for general-purpose workloads. The Helm charts used to deploy to the edge will avoid running workloads on these hosts unless they are specifically targetted to a particular host. The value of the taint is made available in the Config Store and can be used to provide information in user interfaces about the status of a host.

The public key certificate is generated and kept up to date by the Sealed Secrets operator running on the edge. The Edge Sync operator pushes the certificate up to the Config Store so that the Cluster Manager can use it to encrypt secret information for this cluster.