Quick Start with GKE

Manage your GKE clusters with Meshery. Deploy Meshery inside your GKE cluster (in-cluster), or run it outside of GKE (out-of-cluster) and connect it to your cluster. Note: We recommend installing Meshery in your GKE clusters.

Prerequisites

  1. Install the Meshery command line client, mesheryctl.
  2. Install kubectl on your local machine.
  3. Install gcloud CLI, configured for your environment.
  4. Access to an active GKE cluster in your Google Cloud project.

Also see: Install Meshery on Kubernetes

Available Deployment Methods

In-cluster Installation

Follow the steps below to install Meshery in your GKE cluster.

Preflight Checks

Before you deploy Meshery on GKE, check the following.

Preflight: Cluster Connectivity

Use the gcloud CLI to connect kubectl to your Google Kubernetes Engine (GKE) cluster. GKE kubeconfigs authenticate through gke-gcloud-auth-plugin, so install the plugin first.

  1. Sign in to your Google Cloud account with gcloud auth login.
  2. Set the project that contains your cluster:

	
gcloud config set project [PROJECT_ID]
3. Download the cluster’s credentials and make it your current context:

	
gcloud container clusters get-credentials [CLUSTER_NAME] --location [CLUSTER_LOCATION]
4. Verify your kubeconfig’s current context:

	
kubectl config current-context

Preflight: Plan your access to Meshery UI

  1. To reach Meshery UI through port-forwarding, see the port-forwarding guide.
  2. To reach it through a load balancer, see Exposing Meshery Service (LoadBalancer).
  3. If users reach Meshery through a custom host name, set the callback URL that your Provider redirects to after sign-in when you start Meshery:
	
MESHERY_SERVER_CALLBACK_URL=https://custom-host mesheryctl system start -p kubernetes

With a load balancer, Meshery UI is then available at http://[EXTERNAL-IP]:9081, where EXTERNAL-IP is the external address of the meshery service.

Installation: Using mesheryctl

With your GKE cluster as the current context, start Meshery on Kubernetes:

	
mesheryctl system start -p kubernetes

Meshery Server runs in the cluster and connects to it automatically, so you do not need to upload a kubeconfig. To connect a Meshery Server that runs elsewhere to this cluster, sign in with mesheryctl system login and run mesheryctl connection create --type gke. (mesheryctl system config gke is deprecated.)

If mesheryctl reports an authentication error, sign in with mesheryctl system login. See Authenticate with Meshery via CLI.

Installation: Using Helm

To install Meshery with Helm 3, see the Helm Installation guide.

Post-Installation Steps

Optionally, verify the health of your Meshery deployment with mesheryctl system check.

You’re ready to use Meshery. Open Meshery UI in your browser.

Accessing Meshery UI

Once Meshery is running, mesheryctl system start opens Meshery UI in your default browser. On Docker, Meshery UI listens at http://localhost:9081 by default. On Kubernetes, mesheryctl opens the address of the meshery service in the meshery namespace, which the Helm chart creates as a LoadBalancer service on port 9081.

To open Meshery UI in your default browser at any time, run:

mesheryctl system dashboard

If your cluster does not give the meshery service a reachable address, forward a local port to Meshery instead. By default, mesheryctl listens on local port 9081; use -p to choose another port.

mesheryctl system dashboard --port-forward

You can also port-forward with kubectl:

kubectl port-forward svc/meshery 9081:9081 --namespace meshery

Verify Kubernetes Connection

Whichever way you installed Meshery, verify that Meshery is connected to your cluster:
  1. In the Meshery UI, navigate to Lifecycle from the menu on the left.
  2. Select Connections.
  3. Ensure that your cluster appears in the list of connections and is marked as Connected.
  4. Click the cluster name to run a connectivity test and confirm that Meshery can reach your cluster.
Customizing Your Meshery Provider Callback URL

You can customize the callback URL that your Meshery Provider redirects to after sign-in. This helps when Meshery runs behind several layers of networking infrastructure.

For production deployments, we recommend that you expose Meshery UI through a reverse proxy or a load balancer. A custom callback URL makes sure that sign-in completes even when requests pass through several routing layers.

Note: For production deployments, use a Remote Provider so that you control which identity providers can sign users in. Learn more about this in the Extensibility: Providers guide.

To set a custom callback URL, set the MESHERY_SERVER_CALLBACK_URL environment variable when you start Meshery:

MESHERY_SERVER_CALLBACK_URL=https://custom-host mesheryctl system start

On Kubernetes, Meshery UI is then available at the EXTERNAL-IP of the meshery service. Run kubectl get svc meshery -n meshery to find it.