Install the meshctl CLI
Use the Gloo command line interface (CLI) tool, meshctl, to set up and manage Gloo Mesh (Gloo Platform APIs).
Quick installation
Install the latest version of meshctl. Make sure to add meshctl to your PATH (see macOS or Linux for specific instructions).
- Linux and macOS:
curl -sL https://run.solo.io/meshctl/install | sh - Windows is not currently supported.
Install a specific version of the CLI
You can pass a variable on the command line to download a specific version of meshctl. The installation script uses the version and automatically detects your operating system to download the binary files from a public Google storage bucket, https://storage.googleapis.com/meshctl/. For example, if you install the latest version on a macOS workstation, the binary file downloads from https://storage.googleapis.com/meshctl/v2.8.4/meshctl-darwin-amd64.
From the Changelog, find the release version that you want to install.
Install the
meshctlCLI, setting the Gloo Mesh (Gloo Platform APIs)version to install.curl -sL https://run.solo.io/meshctl/install | GLOO_MESH_VERSION=v2.8.4 sh -Add
meshctlon your PATH system variable for global access on the command line. The steps vary depending on your operating system. The following example is for macOS. For more information, see macOS or Linux.export PATH=$HOME/.gloo-mesh/bin:$PATH echo $PATHExample output:
/Users/<name>/.gloo-mesh/bin:/usr/local/binVerify that you can run
meshctlcommands and that the client version matches the version you installed.meshctl versionExample output:
{ "client": { "version": "2.8.4" },
On macOS, you might see the following warning: "meshctl" cannot be opened because it is from an unidentified developer. In the Finder app, navigate to the ~/.gloo-mesh/bin/meshctl executable file, right-click the file, click Open, and confirm that you want to open the file. For more information, try searching the warning and following a guide.
Do you have multiple cluster environments that require different versions of Gloo Mesh (Gloo Platform APIs), Istio, and Kubernetes? Consider downloading each meshctl, istioctl, and kubectl version binary file to a separate directory. Then, you can set up an alias in your local command line interface profile to point to the binary file directory that matches the version of the cluster environment that you want to work with.
Upgrade the CLI
To upgrade, re-install the CLI. You can install the latest or a specific version. Make sure that your meshctl and Gloo Mesh (Gloo Platform APIs)versions match.
Upgrading the meshctl CLI does not upgrade the Gloo Mesh (Gloo Platform APIs) version that you run in your clusters.
Uninstall the CLI
To uninstall meshctl, you can delete the executable file from your system, such as on macOS in the following example.
rm ~/.gloo-mesh/bin/meshctl
Skew policy
Use the same version of the meshctl CLI as the Gloo Mesh (Gloo Platform APIs)version that you installed in your clusters.
- Slight skews within minor versions typically work, such as
meshctl2.9.1 and Gloo Mesh (Gloo Platform APIs) 2.9.0. - Compatibility across beta versions is not guaranteed, even within minor version skews.
- To resolve bugs in
meshctl, you might have to upgrade the entire CLI to a specific or latest version.
Reference documentation
For more information about each meshctl command, see the CLI documentation or run the help flag for a command.
meshctl --help
Other command line tools
As you use Gloo, you might need the following common cluster management command line tools on your local system.
| CLI tool | Description |
|---|---|
| Cloud provider CLI | The CLI to interact with your preferred cloud provider, such as aws or gcloud. You might also have local cluster testing tools such as kind or k3d. gcloud. |
istioctl | The Istio command line tool. The guides in this documentation use Istio version 1.25.2. To check your installed version, run istioctl version. |
helm | The Kubernetes package manager, to customize multiple settings in a Gloo Mesh (Gloo Platform APIs) installation. |
jq | Parse JSON output, such as from logs, to get values that you can use in subsequent commands, environment variables, or other contexts. |
kubectl | The Kubernetes command line tool. Download the kubectl version that is within one minor version of the Kubernetes clusters you plan to use with Gloo. |
openssl | Make sure that you have the OpenSSL version of openssl, not LibreSSL. The openssl version must be at least 1.1.
|