Quick Start with KinD
Manage your KinD clusters with Meshery. Deploy Meshery in your KinD cluster.
Prerequisites
- Install the Meshery command line client, mesheryctl.
- Install kubectl on your local machine.
- Install KinD, on your local machine.
Also see: Install Meshery on Kubernetes
Available Deployment Methods
In-cluster Installation
Follow the steps below to install Meshery in your KinD cluster.
Preflight Checks
Read through the following considerations prior to deploying Meshery on KinD.
Preflight: Cluster Connectivity
Start the KinD, if not started using the following command:
kind create cluster
Check up on your KinD cluster :
kind get clusters
Verify your kubeconfigβs current context.
kubectl config current-context
Installation: Using mesheryctl
Verify your Meshery context
Verify that your current Meshery context is set for an in-cluster deployment (`platform: kubernetes`) by executing:
$ mesheryctl system context view
If the context is not set to platform: kubernetes
, you can create a new context with Kubernetes as the platform using the following command.
$ mesheryctl system context create context-name --platform kubernetes --url http://localhost:9081 --set --yes
With your KIND cluster configured your current-context
, start Meshery.
$ mesheryctl system start -p kubernetes
Alternative Installation: Using Helm
See Helm Installation guide.
Post-Installation Steps
Meshery deploys with LoadBalancer service type by default. If you are using KinD, you may need to expose the Meshery service. A universal option is to use mesheryctl system dashboard --port-forward
. A KIND-specific option to use use the Cloud Provider KIND. Cloud Provider KIND runs as a standalone binary in your host and connects to your KIND cluster and provisions new Load Balancer containers for your Services.
Note: The --port-forward
flag is intended for use exclusively when Meshery is deployed in a Kubernetes cluster (platform: kubernetes
).
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).
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
Depending upon how you have networking configured in Kubernetes, alternatively, you can use kubectl to port forward to Meshery UI.
$ kubectl port-forward svc/meshery 9081:9081 --namespace meshery
Verify Kubernetes Connection
After installing Meshery, regardless of the installation type, it is important to verify that your kubeconfig file has been uploaded correctly via the UI.
- In the Meshery UI, navigate to Lifecycle from the menu on the left.
- Click on Connections.
- Ensure that your cluster appears in the list of connections and is marked as
Connected
. - Click on the cluster name to perform a ping test and confirm that Meshery can communicate with your cluster.
Customizing Your Meshery Provider Callback URL
Meshery Server supports customizing your Meshery Provider authentication flow callback URL. This is helpful when deploying Meshery behind multiple layers of networking infrastructure.
For production deployments, it is recommended to access the Meshery UI by setting up a reverse proxy or using a LoadBalancer. By specifying a custom redirect endpoint, you can ensure that authentication flows complete successfully, even when multiple routing layers are involved.
Note: For production deployments, it is important to preselect the choice of Remote Provider
in order to control which identity providers authorized. Learn more about this in the Extensibility: Providers guide.
Define a custom callback URL by setting up the MESHERY_SERVER_CALLBACK_URL
environment variable before installing Meshery.
To customize the authentication flow callback URL, use the following command:
$ MESHERY_SERVER_CALLBACK_URL=https://custom-host mesheryctl system start
Meshery should now be running in your Kubernetes cluster and the Meshery UI should be accessible at the EXTERNAL IP
of the meshery
service.
Recent Discussions with "meshery" Tag
- Dec 04 | Link Meshery Integrations and Github workflow or local code
- Nov 25 | Issue: Unable to Run make server-local in Meshery Cloud Setup Due to Soda CLI Dependency
- Nov 28 | Issue on Setting Up Meshery Using Docker
- Nov 22 | Meshery CI Maintainer: Sangram Rath
- Nov 25 | T.roles_names is undefined ( permission path is not provided )
- Nov 20 | Meshery Development Meeting | Nov 20th 2024
- Nov 10 | Error in "make server" and "make ui-server"
- Nov 11 | Difference in dev Environments on port 9081 and 3000
- Nov 10 | npm run lint:fix error
- Oct 30 | Getting Meshery locally using Docker Desktop for Meshery UI contribution
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.
- Kubernetes - Install Meshery on Kubernetes. Deploy Meshery in Kubernetes in-cluster or outside of Kubernetes 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.