content/influxdb3/enterprise/install/kubernetes.md
Use the official {{% product-name %}} Helm chart to deploy {{< product-name >}} on Kubernetes. The Helm chart packages recommended deployment patterns into a single chart, eliminating the need to maintain custom manifests or configure deployments from scratch.
[!Note]
Beta status
The {{% product-name %}} Helm chart is currently in beta. During this phase, InfluxData is refining defaults and ensuring upgrades behave as operators expect. Find support for {{% product-name %}} or report a Helm chart issue.
Before deploying {{< product-name >}} on Kubernetes, ensure you have:
kubectl configured to access your cluster{{< product-name >}} requires a license to run. For more information about license types, activation, and management, see Manage your {{< product-name >}} license.
Add the InfluxData Helm repository:
helm repo add influxdata https://helm.influxdata.com/
Update your Helm repositories:
helm repo update
Create a namespace for InfluxDB:
kubectl create namespace influxdb
Create a values.yaml file with your configuration.
See Configuration options for available settings.
Install the chart:
<!--pytest.mark.skip-->helm install influxdb3-{{< product-key >}} influxdata/influxdb3-{{< product-key >}} \
--namespace influxdb \
--values values.yaml
Verify the deployment:
<!--pytest.mark.skip-->kubectl get pods --namespace influxdb
The Helm chart supports common production configurations through the values.yaml file.
Download the default values file as a starting point:
curl -O https://raw.githubusercontent.com/influxdata/helm-charts/master/charts/influxdb3-{{< product-key >}}/values.yaml
Configure object storage for Parquet file storage. {{< product-name >}} supports Amazon S3, Azure Blob Storage, Google Cloud Storage, and S3-compatible storage.
{{< tabs-wrapper >}} {{% tabs %}} Amazon S3 Azure Blob Storage Google Cloud Storage S3-compatible (MinIO) {{% /tabs %}}
{{% tab-content %}}
<!--------------------------------- BEGIN S3 --------------------------------->Configure Amazon S3 as your object store:
objectStore:
type: s3
bucket: S3_BUCKET
region: S3_REGION
accessKey: S3_ACCESS_KEY
secretKey: S3_SECRET_KEY
Replace the following:
S3_BUCKET{{% /code-placeholder-key %}}: your S3 bucket nameS3_REGION{{% /code-placeholder-key %}}: AWS region (for example, us-east-1)S3_ACCESS_KEY{{% /code-placeholder-key %}}: AWS access key IDS3_SECRET_KEY{{% /code-placeholder-key %}}: AWS secret access key{{% /tab-content %}}
{{% tab-content %}}
<!------------------------------- BEGIN Azure -------------------------------->Configure Azure Blob Storage as your object store:
objectStore:
type: azure
bucket: AZURE_CONTAINER
account: AZURE_ACCOUNT
accessKey: AZURE_ACCESS_KEY
Replace the following:
AZURE_CONTAINER{{% /code-placeholder-key %}}: your Azure container nameAZURE_ACCOUNT{{% /code-placeholder-key %}}: Azure storage account nameAZURE_ACCESS_KEY{{% /code-placeholder-key %}}: Azure storage access key{{% /tab-content %}}
{{% tab-content %}}
<!------------------------------- BEGIN GCS ---------------------------------->Configure Google Cloud Storage as your object store:
objectStore:
type: gcs
bucket: GCS_BUCKET
serviceAccountSecret:
name: gcs-credentials
key: credentials.json
Replace {{% code-placeholder-key %}}GCS_BUCKET{{% /code-placeholder-key %}}
with your Google Cloud Storage bucket name.
Create a Kubernetes secret with your service account credentials:
<!--pytest.mark.skip-->kubectl create secret generic gcs-credentials \
--from-file=credentials.json=/path/to/service-account.json \
--namespace influxdb
{{% /tab-content %}}
{{% tab-content %}}
<!------------------------------- BEGIN MinIO -------------------------------->Configure S3-compatible storage (such as MinIO) as your object store:
objectStore:
type: s3
bucket: MINIO_BUCKET
endpoint: MINIO_ENDPOINT
accessKey: MINIO_ACCESS_KEY
secretKey: MINIO_SECRET_KEY
forcePathStyle: true
Replace the following:
MINIO_BUCKET{{% /code-placeholder-key %}}: your MinIO bucket nameMINIO_ENDPOINT{{% /code-placeholder-key %}}: MinIO endpoint URL (for example, http://minio.minio.svc:9000)MINIO_ACCESS_KEY{{% /code-placeholder-key %}}: MinIO access keyMINIO_SECRET_KEY{{% /code-placeholder-key %}}: MinIO secret key{{% /tab-content %}}
{{< /tabs-wrapper >}}
Configure cluster-level settings:
# Cluster name
clusterName: my-influxdb-cluster
# Resource limits and requests
resources:
limits:
cpu: "4"
memory: 8Gi
requests:
cpu: "2"
memory: 4Gi
# Persistent storage for Write-Ahead Log (WAL)
persistence:
enabled: true
size: 10Gi
storageClass: standard
Configure ingress to expose the InfluxDB API:
ingress:
enabled: true
hosts:
- INFLUXDB_HOST
tls:
- secretName: influxdb-tls
hosts:
- INFLUXDB_HOST
Replace {{% code-placeholder-key %}}INFLUXDB_HOST{{% /code-placeholder-key %}}
with your InfluxDB hostname (for example, influxdb.example.com).
To upgrade your deployment after modifying values.yaml:
helm upgrade influxdb3-{{< product-key >}} influxdata/influxdb3-{{< product-key >}} \
--namespace influxdb \
--values values.yaml
To upgrade to a new chart version:
<!--pytest.mark.skip-->helm repo update
helm upgrade influxdb3-{{< product-key >}} influxdata/influxdb3-{{< product-key >}} \
--namespace influxdb \
--values values.yaml
To remove the InfluxDB deployment:
<!--pytest.mark.skip-->helm uninstall influxdb3-{{< product-key >}} --namespace influxdb
[!Warning] Uninstalling the Helm release does not delete persistent volumes or data in object storage. To remove all data, manually delete the persistent volume claims and object storage bucket.
To view logs from the InfluxDB pod:
<!--pytest.mark.skip-->kubectl logs -l app.kubernetes.io/name=influxdb3-{{< product-key >}} \
--namespace influxdb
To check the status of InfluxDB pods:
<!--pytest.mark.skip-->kubectl get pods --namespace influxdb -o wide
To see detailed information and events for a pod:
kubectl describe pod POD_NAME --namespace influxdb
Replace {{% code-placeholder-key %}}POD_NAME{{% /code-placeholder-key %}}
with the name of the pod (from kubectl get pods).
For Helm chart issues or feedback, see the Helm charts repository issues page.
The InfluxDB Discord server is the best place to find community support for {{< product-name >}}. Customers with a commercial license can contact InfluxData Support.
{{< page-nav prev="/influxdb3/enterprise/install/" prevText="Install InfluxDB 3 Enterprise" next="/influxdb3/enterprise/get-started/" nextText="Get started with InfluxDB 3 Enterprise" >}}