MeshSync is a custom Kubernetes controller that provides tiered discovery and continual synchronization with Meshery Server as to the state of the Kubernetes cluster, service meshes, and their workloads.
MeshSync’s working snapshot of the state of each cluster and service mesh under management is stored in-memory and continuously refreshed.
MeshSync is managed by the Meshery Operator.
What are MeshSync’s core responsibilities?
Discover existing resources inside the kubernetes cluster
The resources that are present inside the cluster are discovered efficiently with the help of pipelines. The data is constructed in a particular format specific to meshery and publish across to different parts of the architecture.
Listening to events/changes on every component
The informer in MeshSync actively listens to changes in resources and updates them in real time based on the provided informer configuration in the CRD.
How to configure MeshSync’s resource discovery behavior: Can specific, “uninteresting” resources be blacklisted?
MeshSync is managed by Meshery Operator, which watches for changes on the
meshsync CRD for changes and updates the deployed MeshSync instance accordingly. You can blacklist specific Kubernetes resources from being discovered and watched by MeshSync. In order to identify the list of one or more resources for MeshSync to ignore, update the
meshsync CRD using kubectl:
- Download the CRD with
kubectl get crd meshsyncs.meshery.layer5.io -o yaml > meshsync.yaml
- Open the downloaded file and edit the field
informer_configto blacklist all the types of resources that you don’t want updates from.
- Apply the new definition with
kubectl apply -f meshsync.yaml