Install the meshctl CLI
Use the Gloo command line interface (CLI) tool, meshctl, to set up and manage Gloo Mesh Enterprise.
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.6.6/meshctl-darwin-amd64
.
From the Changelog, find the release version that you want to install.
Install the
meshctl
CLI, setting the Gloo Mesh Enterpriseversion to install.curl -sL https://run.solo.io/meshctl/install | GLOO_MESH_VERSION=v2.6.6 sh -
Add
meshctl
on 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 $PATH
Example output:
/Users/<name>/.gloo-mesh/bin:/usr/local/bin
Verify that you can run
meshctl
commands and that the client version matches the version you installed.meshctl version
Example output:
{ "client": { "version": "2.6.6" },
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 Enterprise, 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 Enterpriseversions match.
Upgrading the meshctl
CLI does not upgrade the Gloo Mesh Enterpriseversion 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 Enterpriseversion that you installed in your clusters.
- Slight skews within minor versions typically work, such as
meshctl
2.5.1 and Gloo Mesh Enterprise2.5.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.22.5-patch0. To check your installed version, run istioctl version . |
helm | The Kubernetes package manager, to customize multiple settings in a Gloo Mesh Enterprise 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 | The default openssl version that is included in macOS is LibreSSL, which does not work with these instructions. Make sure that you have the OpenSSL version of openssl , not LibreSSL.openssl version must be at least 1.1.
|