docs/content/en/guides/mesheryctl/running-system-checks-using-mesheryctl.md
Meshery's CLI, mesheryctl, includes commands for verifying system readiness for a Meshery deployment and health checks to confirm the health of an existing Meshery deployment. Whether you have yet to deploy Meshery or have already deployed Meshery, mesheryctl system check is a useful utility to ensure that your Meshery deployments are healthy.
Usage: mesheryctl system check [flags]
Flags: --adapter Check status of Meshery adapters -h, --help help for check --operator Check status of Meshery operators --pre Verify environment readiness to deploy Meshery --preflight Verify environment readiness to deploy Meshery
Global Flags: --config string path to config file (default "/Users/navendu/.meshery/config.yaml") -c, --context string (optional) temporarily change the current context. -v, --verbose verbose output -y, --yes (optional) assume yes for user interactive prompts.</div></div> </pre>
mesheryctl system check command can run two types of system checks. A pre-deployment check which verifies the environment to deploy Meshery and a post-deployment check which runs validation checks on a running Meshery deployment.
Pre-deployment checks runs checks on the environment and verifies whether it is ready for deploying Meshery.
The following checks are done here:
Pre-deployment checks are run with the --preflight flag as shown below:
Post-deployment checks are run after deploying Meshery in the user's environment. These checks ensure that the running deployment of Meshery and Meshery adapters are working as expected.
In addition to the pre-flight checks, the following checks are also run in this check:
Post-deployment checks are run as shown below:
<pre class="codeblock-pre"> <div class="codeblock"><div class="clipboardjs">mesheryctl system check</div></div> </pre>To check the status of the deployed adapters only, users can leverage the --adapter flag as shown below:
Users can also narrow down the tests to just check the status of the Meshery operator deployed on their Kubernetes cluster:
<pre class="codeblock-pre"> <div class="codeblock"><div class="clipboardjs">mesheryctl system check --operator</div></div> </pre>mesheryctl system check --preflight it says I didn't install Kubernetes, but I have Docker installed and the test returned "Meshery prerequisites met". Is that all good?Answer: Yes, as long as you've Docker installed, it's fine to run Meshery. But you will need a Kubernetes cluster to handle tasks such as deploying infrastructure and so on, if you want to do them via Meshery.
Answer: Make sure if you've configured your system to run Meshery in smooth manner. For configuration, do check out the docs site and this page to see instructions related to the platform you use.
Answer: Meshery's performance management functionality does not require a Kubernetes cluster. The rest of Meshery's functionality (e.g. cloud native management) does require a Kubernetes cluster.
Answer: One or more Kubernetes clusters. A stateful set for Meshery Server in order to persist performance test results. See #2451.
Answer: Not necessary. Basic requirements are enough to pass the check.
Answer: You can log in to Meshery using mesheryctl system login which would generate an OAuth token. Once the OAuth token is generated, the check will start to function
Answer: To resolve this error, you can upload your kubeconfig file in the Meshery UI under settings and Meshery will reconfigure to use your Kubernetes cluster.
Answer: Yes! You should update the mesheryctl often in order to run Meshery smoothly. The reason behind it is because not only the CLI is updated, but also the Meshery app. So it is advisable to update Meshery often.
Answer: Not necessary. It is good to keep Meshery up and running, else the system checks will fail to detect the Meshery version.
Answer: For current Meshery deployments, prefer one of the Kubernetes upstream-supported minor releases and keep kubectl aligned with your cluster under the Kubernetes version skew policy. See the Kubernetes release history for actively maintained minors.
Answer: Not a problem, if you feel you need to have all mesh adapters to be up running, you can do so by creating a new context mesheryctl system context create [context-name] --set (if you voluntarily deleted mesh adapters in your current context)
Answer: Configure Meshery to use on your Kubernetes cluster, then upload the kubeconfig file via Meshery UI to notify Meshery to use that cluster. If that didn't work, feel free to open up an issue in GitHub.
For an exhaustive list of mesheryctl commands and syntax:
Guides to using Meshery's various features and components.
{{< related-discussions tag="mesheryctl" >}}