docs/static/v0.9/installation/kubernetes/helm/index.html
`helm repo add meshery https://meshery.io/charts/
helm install meshery meshery/meshery --namespace meshery --create-namespace`
Optionally, Meshery Server supports customizing the callback URL for your remote provider, like so:
`helm install meshery meshery/meshery --namespace meshery --set env.MESHERY_SERVER_CALLBACK_URL=https://custom-host --create-namespace`
Meshery’s Helm chart supports a number of configuration options. Please refer to the Meshery Helm chart and Meshery Operator Helm Chart for more information.
By default, Meshery looks for Kubernetes configuration in the /home/appuser/.kube directory within the container. You can customize this location by setting the KUBECONFIG_FOLDER environment variable:
`helm install meshery meshery/meshery --namespace meshery --set env.KUBECONFIG_FOLDER=/custom/path/to/.kube --create-namespace`
This is useful when providing a Meshery deployment with a predefined Kubernetes context or when using custom volume mounts for kubeconfig files.
To upgrade an existing Meshery deployment:
`helm repo update
helm upgrade meshery meshery/meshery --namespace meshery`
For optimal upgrade performance with health check support, use the upgrade-specific values:
`helm upgrade meshery meshery/meshery --namespace meshery -f https://raw.githubusercontent.com/meshery/meshery/master/install/kubernetes/helm/meshery/values-upgrade.yaml --wait --timeout 10m`
The upgrade configuration includes:
See the Health Check Configuration Guide for detailed information.
Meshery implements Kubernetes-compliant health check endpoints that follow best practices from the Kubernetes API server:
/healthz/live) - Checks if Meshery is running and responsive/healthz/ready) - Checks if Meshery is ready to accept trafficMonitor the status of your Meshery deployment:
`kubectl get pods --namespace meshery -w`
Verify health status with detailed information using verbose mode:
`kubectl exec --namespace meshery deployment/meshery -- curl -s 'http://localhost:8080/healthz/ready?verbose=1'`
Example output:
[+]capabilities ok
[i]extension extension package found
healthz check passed
Legend:
[+] - Health check passed[-] - Health check failed (causes pod to be marked unhealthy)[i] - Informational status (does not affect health)The Helm chart includes pre-configured health checks with sensible defaults:
To customize probe settings, modify your values.yaml:
`probe:
livenessProbe:
enabled: true
initialDelaySeconds: 80
periodSeconds: 12
failureThreshold: 4
timeoutSeconds: 5
readinessProbe:
enabled: true
initialDelaySeconds: 10
periodSeconds: 4
failureThreshold: 4
timeoutSeconds: 3`
For comprehensive guidance on configuring health checks for different scenarios (installation, upgrades, troubleshooting), see the Health Check Configuration Guide.
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.
After successfully deploying Meshery, you can access Meshery's web-based user interface. Your default browser will automatically open and navigate 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 on how you have networking configured in Kubernetes, you can use kubectl to port forward to the Meshery UI.
`kubectl port-forward svc/meshery 9081:9081 --namespace meshery`
After installing Meshery, regardless of the installation type, it is important to verify that your kubeconfig file has been uploaded correctly via the UI.
Connected.#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 select the Remote Provider in order to control which identity providers are 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.
View all discussions tagged with meshery
[ Previous
GKE ](/v0.9/installation/kubernetes/gke)[ Next
KinD ](/v0.9/installation/kubernetes/kind)