OpenMetadata supports the Installation and Running of Application on Elastic Kubernetes Services (EKS) through Helm Charts.
However, there are some additional configurations which needs to be done as prerequisites for the same.
All the code snippets in this section assume the default namespace for kubernetes.
This guide presumes you have AWS EKS Cluster already available.
Amazon RDS (PostgreSQL) engine version 15 or higher
Amazon OpenSearch engine version 3.x (minimum 3.4.0, recommended 3.4.0 or later)
When using AWS Services the SearchType Configuration for elastic search should be opensearch, for both cases ElasticSearch and OpenSearch, as you can see in the ElasticSearch configuration example below.
If your Amazon OpenSearch Service domain has fine-grained access control (FGAC) enabled, the OpenMetadata server role only needs a minimal set of index and cluster permissions — not admin access. See the OpenSearch FGAC Permissions guide for the full list and a ready-to-use role example.
We recommend
Amazon RDS to be in Multiple Availability Zones.
Amazon OpenSearch (or ElasticSearch) Service with Multiple Availability Zones with minimum 2 Nodes.
Make sure to increase sort_buffer_size (for MySQL) or work_mem (for PostgreSQL) to the recommended value of 20MB or more using the database parameter group setting. This is especially important when running migrations to prevent Out of Sort Memory Error. You can revert the setting once the migrations are complete.
Starting with OpenMetadata 1.12, we recommend using the Kubernetes native orchestrator for running ingestion pipelines. This eliminates the need for Apache Airflow and simplifies your deployment.
The Kubernetes orchestrator runs ingestion pipelines as native K8s Jobs and CronJobs. For full documentation on features, configuration options, and troubleshooting, see the Kubernetes Orchestrator Guide.
The recommended OMJob Operator approach requires installing Custom Resource Definitions (CRDs), which needs elevated cluster permissions. If your cluster policies don’t allow CRDs, you can disable the operator by setting useOMJobOperator: false and omjobOperator.enabled: false in your values file to use native K8s Jobs instead.
For advanced configuration options such as resource limits, job lifecycle settings, failure diagnostics, RBAC, and security contexts, see the Kubernetes Orchestrator Guide.
# Add the OpenMetadata Helm repositoryhelm repo add open-metadata https://helm.open-metadata.org/helm repo update# Install OpenMetadata (no dependencies chart needed with K8s orchestrator)helm install openmetadata open-metadata/openmetadata \ --values openmetadata-values.yaml
With the Kubernetes orchestrator, you don’t need to deploy the openmetadata-dependencies chart that includes Airflow. This significantly simplifies your deployment.