---
title: "Install Iceberg Rest catalog server on Kubernetes"
slug: /iceberg-rest-catalog-chart
keyword:
  - Iceberg REST Helm Chart
license: "This software is licensed under the Apache License version 2."
---

# Install Iceberg Rest catalog server on Kubernetes

This Helm chart deploys Apache Gravitino Iceberg REST Catalog Server on Kubernetes with customizable configurations.

## Prerequisites

- Kubernetes 1.29+
- Helm 3+

## Update Chart Dependency

The Gravitino Iceberg REST Catalog Server Helm chart has not yet been released to the helm registry.
To proceed, please clone the repository, navigate to the chart directory [charts](../dev/charts), and execute the Helm dependency update command.

```console
helm dependency update [CHART]
```

## View Chart values

You can customize values.yaml parameters to override chart default settings. Additionally, Gravitino Iceberg REST Catalog Server configurations in [gravitino-iceberg-rest-server.conf](../dev/charts/gravitino-iceberg-rest-server/resources/gravitino-iceberg-rest-server.conf) can be modified through Helm values.yaml.

To display the default values of the Gravitino chart, run:

```console
helm show values [CHART]
```

## Install Helm Chart

```console
helm install [RELEASE_NAME] [CHART] [flags]
```

### Deploy with Default Configuration

Run the following command to deploy Gravitino Iceberg REST Catalog Server using the default settings, specify container image versions using --set image.tag=x.y.z (replace x, y, z with the expected version numbers):

```console
helm upgrade --install gravitino ./gravitino-iceberg-rest-server \
  -n gravitino \
  --create-namespace \
  --set image.tag=<x.y.z> \
  --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:

```console
helm upgrade --install gravitino ./gravitino-iceberg-rest-server
  -n gravitino \
  --create-namespace \
  --set key1=val1,key2=val2,...
```
Alternatively, you can provide a custom values.yaml file:

```console
helm upgrade --install gravitino ./gravitino-iceberg-rest-server
  -n gravitino \
  --create-namespace \
  -f /path/to/values.yaml
```
_Note: \
The path '/path/to/values.yaml' refers to the actual path to the values.yaml file._

## Uninstall Helm Chart

```console
helm uninstall [RELEASE_NAME] -n [NAMESPACE]
```
