2021-11-15 21:28:50 +05:30
---
description: This guide will help you run OpenMetadata using Helm Charts
---
2021-11-22 17:55:06 +00:00
# Run in Kubernetes
2021-11-15 21:28:50 +05:30
[](https://artifacthub.io/packages/search?repo=open-metadata)
## Introduction
2021-11-22 17:55:06 +00:00
[openmetadata-helm-charts ](https://github.com/open-metadata/openmetadata-helm-charts ) houses Kubernetes [Helm ](https://helm.sh ) charts for deploying OpenMetadata and its dependencies (Elasticsearch and MySQL) on a Kubernetes cluster.
2021-11-15 21:28:50 +05:30
## Prerequisites
2021-11-22 17:55:06 +00:00
* A [Kubernetes cluster ](https://kubernetes.io ) on any cloud
* [kubectl ](https://kubernetes.io/docs/tasks/tools/ ) to manage Kubernetes resources
* [Helm ](https://helm.sh ) to deploy resources based on Helm charts from the OpenMetadata repository
{% hint style="info" %}
Note, OpenMetadata only supports Helm 3
{% endhint %}
2021-11-15 21:28:50 +05:30
## Quickstart
2021-11-22 17:55:06 +00:00
Assuming Kubernetes setup is done and your Kubernetes context points to a correct Kubernetes cluster, first we install OpenMetadata dependencies.
2021-11-15 21:28:50 +05:30
2021-11-22 17:55:06 +00:00
Add the OpenMetadata Helm repository by running the following command.
2021-11-15 21:28:50 +05:30
```
helm repo add open-metadata https://helm.open-metadata.org/
```
2021-11-22 17:55:06 +00:00
Run the command `helm repo list` to ensure the OpenMetadata repository was added.
2021-11-15 21:28:50 +05:30
```
NAME URL
open-metadata https://helm.open-metadata.org/
```
2021-11-22 17:55:06 +00:00
Deploy the dependencies by running the following command.
2021-11-15 21:28:50 +05:30
```
helm install openmetadata-dependencies open-metadata/openmetadata-dependencies
```
{% hint style="info" %}
Note - The above command uses configurations defined [here ](https://raw.githubusercontent.com/open-metadata/openmetadata-helm-charts/main/charts/deps/values.yaml ). You can modify any configuration and deploy by passing your own `values.yaml`
```
helm install openmetadata-dependencies open-metadata/openmetadata-dependencies --values < < path-to-values-file > >
```
{% endhint %}
Run `kubectl get pods` to check whether all the pods for the dependencies are running. You should get a result similar to below.
```
NAME READY STATUS RESTARTS AGE
elasticsearch-0 1/1 Running 0 3m56s
mysql-0 1/1 Running 0 3m56s
```
2021-11-22 17:55:06 +00:00
Next, deploy OpenMetadata by running the following command.
2021-11-15 21:28:50 +05:30
```
helm install openmetadata open-metadata/openmetadata
```
Values in [values.yaml ](https://raw.githubusercontent.com/open-metadata/openmetadata-helm-charts/main/charts/openmetadata/values.yaml ) are preset to match with dependencies deployed using [openmetadata-dependencies ](https://github.com/open-metadata/openmetadata-helm-charts/tree/main/charts/deps ) with release name "openmetadata-dependencies". If you deployed helm chart using different release name, make sure to update values.yaml accordingly before installing.
2021-11-22 17:55:06 +00:00
Run `kubectl get pods` to check the status of pods running. You should get a result similar to the output below.
2021-11-15 21:28:50 +05:30
```
NAME READY STATUS RESTARTS AGE
elasticsearch-0 1/1 Running 0 5m34s
mysql-0 1/1 Running 0 5m34s
openmetadata-5566f4d8b9-544gb 1/1 Running 0 98s
```
{% hint style="info" %}
2021-11-22 17:55:06 +00:00
To expose the OpenMetadata UI on a local Kubernetes instance, run this command.
2021-11-15 21:28:50 +05:30
```
kubectl port-forward < openmetadata-front end pod name > 8585:8585
```
2021-11-22 17:55:06 +00:00
{% endhint %}
2021-12-08 20:45:44 +05:30
## Troubleshooting
### View helm chart deployment status
Run the below command to view status of openmetadata helm chart deployed -
```
helm status openmetadata
```
For more information, visit helm command line reference [here ](https://helm.sh/docs/helm/helm_status/ ).
### View openmetadata kubernetes pod logs
Run the below command to list openmetadata kubernetes pods deployed in a namespace -
```
kubectl get pods --namespace < NAMESPACE_NAME > -l='app.kubernetes.io/managed-by=Helm,app.kubernetes.io/instance=< RELEASE_NAME > '
```
Example, list pods deployed by helm release name 'ometa' in the namespace 'ometa-dev' -
```
kubectl get pods --namespace ometa-dev -l='app.kubernetes.io/managed-by=Helm,app.kubernetes.io/instance=ometa'
```
Next, view the logs of pod by running the below command,
```
kubectl logs < POD_NAME > --namespace < NAMESPACE_NAME >
```
For more information, visit the kubectl logs command line reference documentation [here ](https://kubernetes.io/docs/tasks/debug-application-cluster/debug-running-pod/ ).