Install Iceberg REST Catalog Server on Kubernetes
Introduction
This Helm chart deploys Apache Gravitino Iceberg REST Catalog Server on Kubernetes with customizable configurations.
Prerequisites
- Kubernetes 1.29+
- Helm 3+
Installation
Install from OCI Registry (Recommended for Released Versions)
Pull the chart from Docker Hub OCI registry:
helm pull oci://registry-1.docker.io/apache/gravitino-iceberg-rest-server-helm --version <VERSION>
Or install directly:
helm upgrade --install gravitino-iceberg oci://registry-1.docker.io/apache/gravitino-iceberg-rest-server-helm --version <VERSION> -n gravitino --create-namespace
Install from Local Repository (for Development or Unreleased Versions)
Clone the repository and navigate to the chart directory:
git clone https://github.com/apache/gravitino.git
cd gravitino/dev/charts
Update chart dependencies:
helm dependency update gravitino-iceberg-rest-server
Install the chart:
helm upgrade --install gravitino-iceberg ./gravitino-iceberg-rest-server -n gravitino --create-namespace
View Chart Values
Customize values.yaml parameters to override chart default settings. Additionally, Gravitino Iceberg REST Catalog Server configurations in gravitino-iceberg-rest-server.conf can be modified through Helm values.yaml.
To display the default values of the chart, run:
helm show values oci://registry-1.docker.io/apache/gravitino-iceberg-rest-server-helm --version <VERSION>
Install Helm Chart
helm upgrade --install [RELEASE_NAME] oci://registry-1.docker.io/apache/gravitino-iceberg-rest-server-helm --version <VERSION> [flags]
Deploy with Default Configuration
Run the following command to deploy Gravitino Iceberg REST Catalog Server using the default settings:
helm upgrade --install gravitino-iceberg oci://registry-1.docker.io/apache/gravitino-iceberg-rest-server-helm --version <VERSION> \
-n gravitino \
--create-namespace \
--set replicas=2 \
--set resources.requests.memory="4Gi" \
--set resources.requests.cpu="2"
Deploy with Custom Configuration
To customize the deployment, use the --set flag to override specific values:
helm upgrade --install gravitino-iceberg oci://registry-1.docker.io/apache/gravitino-iceberg-rest-server-helm --version <VERSION> \
-n gravitino \
--create-namespace \
--set key1=val1,key2=val2,...
Alternatively, you can provide a custom values.yaml file:
helm upgrade --install gravitino-iceberg oci://registry-1.docker.io/apache/gravitino-iceberg-rest-server-helm --version <VERSION> \
-n gravitino \
--create-namespace \
-f /path/to/values.yaml
Uninstall Helm Chart
helm uninstall [RELEASE_NAME] -n [NAMESPACE]