Quick Start with Kubernetes

Manage your kubernetes clusters with Meshery. Deploy Meshery in kubernetes in-cluster or outside of kubernetes out-of-cluster. Note: It is advisable to Install Meshery in your kubernetes clusters

Prerequisites

  1. Install the Meshery command line client, mesheryctl.
  2. Install kubectl on your local machine.
  3. Access to an active kubernetes cluster.

Available Deployment Methods

In-cluster Installation

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

Preflight Checks

Read through the following considerations prior to deploying Meshery on kubernetes.

Preflight: Cluster Connectivity

Verify your kubeconfig’s current context is set the kubernetes cluster you want to deploy Meshery.

kubectl config current-context

Preflight: Plan your access to Meshery UI

  1. If you are using port-forwarding, please refer to the port-forwarding guide for detailed instructions.
  2. Customize your Meshery Provider Callback URL. Meshery Server supports customizing authentication flow callback URL, which can be configured in the following way:
$ MESHERY_SERVER_CALLBACK_URL=https://custom-host mesheryctl system start

Meshery should now be running in your Kubernetes cluster and Meshery UI should be accessible at the EXTERNAL IP of meshery service.

Installation: Using mesheryctl

Once configured, execute the following command to start Meshery.

Before executing the below command, go to ~/.meshery/config.yaml and ensure that current platform is set to kubernetes.

$ mesheryctl system start

If you encounter any authentication issues, you can use mesheryctl system login. For more information, click here to learn more.

Installation: Using Helm

For detailed instructions on installing Meshery using Helm V3, please refer to the Helm Installation guide.

Post-Installation Steps

Optionally, you can verify the health of your Meshery deployment, using mesheryctl system check.

You’re ready to use Meshery! Open your browser and navigate to the Meshery UI.

Accessing Meshery UI

After successfully deploying Meshery, you can access Meshery’s web-based user interface. Your default browser will be automatically opened and directed to Meshery UI (default location is http://localhost:9081).

If you are unable to access Meshery UI, you can use the following command to open Meshery UI in your default browser:

mesheryctl system dashboard

If you have installed Meshery on Kubernetes or a remote host, you can access Meshery UI by exposing it as a Kubernetes service or by port forwarding to Meshery UI.

mesheryctl system dashboard --port-forward

Alternatively, you can use kubectl to port forward to Meshery UI. Example

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

Log into the Provider of your choice.

Out-of-cluster Installation

Install Meshery on Docker (out-of-cluster) and connect it to your Kubernetes cluster.

Installation: Upload Config File in Meshery Web UI

  • Run the below command to generate the β€œconfig_minikube.yaml” file for your cluster:
kubectl config view --minify --flatten > config_minikube.yaml
  • Upload the generated config file by navigating to Settings > Environment > Out of Cluster Deployment in the Web UI and using the β€œUpload kubeconfig” option.

Recent Discussions with "meshery" Tag

Suggested Reading

  • AKS - Manage your AKS clusters with Meshery. Deploy Meshery in AKS in-cluster or out-of-cluster.
  • Codespaces - Build and contribute to Meshery using GitHub Codespaces
  • EKS - Install Meshery on Elastic Kubernetes Service. Deploy Meshery in EKS in-cluster or outside of EKS out-of-cluster.
  • GKE - Install Meshery on Google Kubernetes Engine. Deploy Meshery in GKE in-cluster or outside of GKE out-of-cluster.
  • Helm - Install Meshery on Kubernetes using Helm. Deploy Meshery in Kubernetes in-cluster.
  • kinD - Install Meshery on kinD. Deploy Meshery in kinD in-cluster or outside of kinD out-of-cluster.
  • KubeSphere - Install Meshery on KubeSphere
  • Minikube - Install Meshery on Minikube. Deploy Meshery in Minikube in-cluster or outside of Minikube out-of-cluster.