OpenMetadata/docs/install/run-in-kubernetes.md

4.3 KiB

description
This guide will help you run OpenMetadata using Helm Charts

Run in Kubernetes

Artifact Hub

Introduction

openmetadata-helm-charts houses Kubernetes Helm charts for deploying OpenMetadata and its dependencies (Elasticsearch and MySQL) on a Kubernetes cluster.

Prerequisites

  • A Kubernetes cluster on any cloud
  • kubectl to manage Kubernetes resources
  • Helm to deploy resources based on Helm charts from the OpenMetadata repository

{% hint style="info" %} Note, OpenMetadata only supports Helm 3 {% endhint %}

Quickstart

Assuming Kubernetes setup is done and your Kubernetes context points to a correct Kubernetes cluster, first we install OpenMetadata dependencies.

Add the OpenMetadata Helm repository by running the following command.

helm repo add open-metadata https://helm.open-metadata.org/

Run the command helm repo list to ensure the OpenMetadata repository was added.

NAME        	URL                            
open-metadata	https://helm.open-metadata.org/

Deploy the dependencies by running the following command.

helm install openmetadata-dependencies open-metadata/openmetadata-dependencies

{% hint style="info" %} Note - The above command uses configurations defined here. 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

Next, deploy OpenMetadata by running the following command.

helm install openmetadata open-metadata/openmetadata

Values in values.yaml are preset to match with dependencies deployed using openmetadata-dependencies with release name "openmetadata-dependencies". If you deployed helm chart using different release name, make sure to update values.yaml accordingly before installing.

Run kubectl get pods to check the status of pods running. You should get a result similar to the output below.

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" %} To expose the OpenMetadata UI on a local Kubernetes instance, run this command.

kubectl port-forward <openmetadata-front end pod name> 8585:8585

{% endhint %}

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.

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.