Frequently Asked Questions
General FAQs
Question: What is Meshery?
Answer: As a self-service engineering platform, Meshery enables collaborative design and operation of cloud native infrastructure.
Question: Why was Meshery created?
Answer: As an open source, vendor neutral project, Meshery was created out of the necessity to enable platform engineers, site reliability engineers, devops engineers... engineers to collaborate in the management of their infrastucture and workloads. Meshery was created to enable you to expect more from your infrastructure and to do so with confidence.
Question: What does Meshery do?
Answer: Infrastructure as design. Meshery enables you to design and operate cloud native infrastructure visually, collaboratively, with confidence and in partnership with your teammates.
Question: Is Meshery open source project?
Answer: Yes, Meshery is a Cloud Native Computing Foundation (CNCF) project and is licensed under Apache v2. As the cloud native management plane, Meshery is an extensible platform, offering multiple extension points within which users and partners can customize and extend Meshery's functionality.
Question: Why should I use Meshery?
Answer: Meshery is a powerful tool for managing βKubernetes infrastructure. It seamlessly integrates with different hundreds of tools and offers extensibility through many different extension points. With Meshery, you can easily discover your environment, collaboratively manage multiple Kubernetes clusters, connect your Git and Helm repos, and analyze app and infra performance.
User FAQs
Question: What is mesheryctl?
Answer: A command line interface to manage Meshery. `mesheryctl` can manage any number of Meshery deployments.
Question: How do I install Meshery?
Answer: Meshery runs on a number of platforms. You are encouraged to use mesheryctl
to configure and control Meshery deployments. Install `mesheryctl` using any of these options:
Question: What architecture does Meshery have?
Answer: An extensible architecture. There are several components, languages and they have different purposes. See Meshery's Architecture.
Question: What is the difference between make server
and mesheryctl system start
? Do they both run Meshery on my local machine?
Answer: Yes, both of them do run Meshery on your local machine. `make server` builds Meshery from source and runs it on your local OS, while `mesheryctl system start` runs Meshery as a set of containers in Docker or in Kubernetes on your local machine.
make server
and mesheryctl system start
? Do they both run Meshery on my local machine?
Question: What systems can I deploy Meshery onto?
Answer: Many. See Meshery's Compatibility Matrix.
Question: What systems does Meshery manage?
Answer: Many. See Meshery's Integrations
Question: Why is Meshery Server only receiving MeshSync updates from one of my Kubernetes Clusters?
Answer: In order to receive MeshSync updates, Meshery Server subscribes for updates Meshery Broker. In other words, Meshery Server connects to the `meshery-broker` service port in order to subscribe for streaming MeshSync updates. By default, the Meshery Broker service is deployed as type Kubernetes Service type LoadBalancer
, which requires that your Kubernetes cluster provides an external IP address to the Meshery Broker service, exposing it external to the Kubernetes cluster.
If you're running Kubernetes in Docker Desktop, an external IP address of localhost
is assigned. If you're running Minikube, and execute minikube tunnel
to gain access to Meshery Broker's service, you will find that both Meshery Broker service endpoints (from two different clusters) are sharing the same localhost:4222
address and port number. This port sharing causes conflict and Meshery Server is only able to connect to one of the Meshery Brokers.
Few ways to solve this problem:
Question: Why does the dashboard not show the infrastructure provisioned or discovered by Meshery?
Answer: This issue is typically caused by either lack of connectivity between Meshery Server and Meshery Broker or by database corruption. Use the following troubleshooting steps to resolve this issue:
Lack of Connectivity
- Confirm that the Meshery Broker service is exposed from your cluster using
kubectl get svc -n meshery
and that an hostname or IP address is displayed in the External Address column. Meshery Server should be able to reach this address. - It is possible that MeshSync is not healthy and not sending cluster updates, check for MeshSync status by navigating to Settings in Meshery UI and clicking on the MeshSync connection.
- If MeshSync is healthy, check the status of Meshery Broker by clicking on the NATS connection.
If either is the case, Meshery Operator will make sure MeshSync and Meshery Broker deployments are again healthy, wait for some time, otherwise try redeploying Meshery Operator.
Database Corruption
If MeshSync, Meshery Broker and Meshery Operator are healthy, then perhaps, there is corruption in the Meshery Database. Use the following troubleshooting steps to resolve this issue:
- Try clearing the database by clicking on the `Flush MeshSync` button associated with the corresponding cluster.
- If still `Service Mesh` is not visible in UI, move on to `Hard Reset` of Database. This option is in the
Reset System
Tab inSettings
page.
Note: You can also verify health of your system using mesheryctl system check
Contributing FAQs
Question: Getting an error while running make server
on Windows?
Answer: On Windows, set up the project on Ubuntu WSL2 and you will be able to run the Meshery UI and the server. For more information please visit Setting up Meshery Development Environment on Windows.