Skip to main content

Kubernetes Native Orchestrator

Starting with OpenMetadata 1.12, you can run ingestion pipelines directly using native Kubernetes, eliminating the need for Apache Airflow. This is ideal for organizations that:
  • Already run workloads on Kubernetes and prefer native solutions
  • Don’t need the full feature set of Apache Airflow

Orchestration Modes

The Kubernetes orchestrator supports two modes for running ingestion pipelines: Uses custom Kubernetes CRDs (OMJob and CronOMJob) managed by the OpenMetadata operator.
Recommended for production. The OMJob Operator provides guaranteed exit handler execution and failure diagnostics.
Advantages:
  • Exit Handler Guarantee: Even if the ingestion pod crashes (OOMKilled, node failure, etc.), the operator ensures pipeline status is always reported back to OpenMetadata
  • Failure Diagnostics: Automatically collects detailed error context from pod logs and events when pipelines fail
  • Pod Lifecycle Monitoring: The operator watches pod events and updates pipeline status in real-time
Requirements:
  • Elevated permissions to install Custom Resource Definitions (CRDs)
  • The OMJob Operator deployment running in your cluster

Option 2: Native Kubernetes Jobs

Uses standard Kubernetes resources (Job and CronJob) without any custom CRDs. Advantages:
  • No CRD installation required - uses only built-in Kubernetes resources
  • Works in environments with restricted permissions
  • Simpler setup
Limitations:
  • No guaranteed exit handler - if a pod is killed unexpectedly, status updates may not reach OpenMetadata
  • No automatic failure diagnostics

Features

Native K8s Integration

Pipelines run as standard Kubernetes Jobs, making them easy to monitor with existing K8s tooling.

Automatic Status Updates

Pipeline status is automatically reported back to OpenMetadata, including success/failure details.

Failure Diagnostics

When pipelines fail, detailed diagnostics are collected from pod logs and events. (OMJob Operator only)

Resource Control

Configure CPU, memory, node selectors, and security contexts for ingestion pods.

This setup uses custom CRDs for guaranteed exit handler execution and failure diagnostics.

Prerequisites

  1. OpenMetadata deployed on Kubernetes (Helm chart recommended)
  2. Permissions to install CRDs in your cluster
  3. Ingestion image accessible from your cluster (docker.getcollate.io/openmetadata/ingestion-base)

Helm Values Configuration

Always pin ingestionImage to the same version as your OpenMetadata server — never use :latest. The :latest tag moves whenever a new release is published; any Kubernetes node without the previous image cached will silently pull the newer version on the next scheduled job, causing a server/client version mismatch. The ingestion major version must match the server major version (for example, a 1.12.x server requires a 1.12.x ingestion image).

Required RBAC Permissions

When using the OMJob Operator, additional permissions are needed for the custom resources:

Setup Option 2: Native Kubernetes Jobs

This setup uses standard Kubernetes Jobs and CronJobs without any custom CRDs.

Prerequisites

  1. OpenMetadata deployed on Kubernetes (Helm chart recommended)
  2. RBAC permissions for the OpenMetadata service account to manage Jobs, CronJobs, ConfigMaps, and Secrets
  3. Ingestion image accessible from your cluster (docker.getcollate.io/openmetadata/ingestion-base)

Helm Values Configuration

Always pin ingestionImage to the same version as your OpenMetadata server — never use :latest. The :latest tag moves whenever a new release is published; any Kubernetes node without the previous image cached will silently pull the newer version on the next scheduled job, causing a server/client version mismatch. The ingestion major version must match the server major version (for example, a 1.12.x server requires a 1.12.x ingestion image).

Required RBAC Permissions


For validating your setup, viewing pipeline logs, troubleshooting, and migrating from Airflow, see the Operations & Troubleshooting guide.