Using Multiple Adapters

Advanced Configuration

Meshery is capable of running zero or more service mesh adapters. Without any service mesh adapters, some but not all of Meshery’s features will continue to function (e.g. performance testing of workloads not running on a service mesh).

Modifying the default adapter deployment configuration

The number of adapters, type of adapters, where they are deployed, how they are named and what port they are exposed on are all configurable deployment options. To modify the default configuration, find ~/.meshery/meshery.yaml on your system. ~/.meshery/meshery.yaml is a Docker Compose file.

Configuration: Running fewer Meshery adapters

To customize which Meshery Adapters are used in which deployments, customize your contexts in your meshconfig.

Recommended: Configure your meshconfig, using mesheryctl system context to customize which Meshery Adapters are used in which deployments.

Alternative: Alternatively, directly modify the ~/.meshery/meshery.yaml configuration file, remove the entry(ies) of the adapter(s) you are removing from your deployment.

Configuration: Running more than one instance of the same Meshery adapter

The default configuration of a Meshery deployment includes one instance of each of the Meshery adapters (that have reached a stable version status). You may choose to run multiple instances of the same type of Meshery adapter; e.g. two instances of the Meshery Adapter for NGINX Service Mesh. To do so, you can use either of Meshery’s clients or to modify your Meshery deployment:

  • Using mesheryctl, modify ~/.meshery/meshery.yaml to include multiple copies of the given adapter.
  • Using Meshery UI, navigate to the Settings page and enter the host and port of your additional adapter.

Configuration: Choosing an adapter while installing Mesheryctl

While installing mesheryctl using bash installation script, we can choose which adapter to be loaded. This is done by passing ADAPTERS environment variable to meshery bash script.

For e.g. curl -L | ADAPTERS=consul PLATFORM=kubernetes bash - installs mesheryctl and starts Meshery server for kubernetes platform by loading consul adapter alone. Rest of the service mesh adapters are not loaded.

Demo of Meshery managing service mesh deployments across multiple clusters:

See on YouTube: Cloud Native Austin Virtual Meetup: April 2020