> For the complete documentation index, see [llms.txt](https://docs.carto.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.carto.com/carto-self-hosted/planning/deployment-methods/kubernetes-helm.md).

# Advanced Orchestrated container deployment

<img src="/files/8gcUtLEi7XgPb1vQuIPr" alt="Advanced Orchestrated container deployment" width="52">

CARTO is deployed in an orchestrated environment on your existing [Kubernetes](https://kubernetes.io/) cluster, using a **Helm** chart to manage configuration and maintenance. This method offers full control over advanced customizations.

## How it works

CARTO services run as pods in your Kubernetes cluster and can be scaled horizontally. You install and manage the deployment with the Helm chart and a `customizations.yaml` file from the terminal (or your GitOps pipeline). The platform connects out to the external dependencies you provide: a PostgreSQL metadata database and object-storage buckets are always required, plus your data warehouse.

```mermaid
flowchart TB
  HELM["Helm chart + customizations.yaml"] -.manages.-> K8S
  subgraph K8S["Your Kubernetes cluster"]
    SVC["CARTO services (pods — scalable)"]
    CACHE[("In-memory cache (bundled or external)")]
    SVC --- CACHE
  end
  SVC --> PG[("External PostgreSQL — required")]
  SVC --> OS[("Object storage buckets — required")]
  SVC --> DW[("Data warehouse")]
```

## When to use it

This method might be appropriate if you and your team:

* Already use Kubernetes to deploy other applications.
* Have experience with Docker or DevOps concepts.
* Require scalability, high availability, and resilience.
* Are familiar with Helm charts and can fully handle an installation process from a terminal.

## Characteristics

| Aspect                      | Advanced Orchestrated container deployment (Helm)                                           |
| --------------------------- | ------------------------------------------------------------------------------------------- |
| Infrastructure              | An existing Kubernetes cluster                                                              |
| Configuration & maintenance | Helm chart + `customizations.yaml` (CLI / GitOps)                                           |
| Scalability                 | Horizontal (multiple replicas)                                                              |
| High availability           | Supported                                                                                   |
| Customization               | Full control over advanced customizations                                                   |
| Best for                    | Production deployments on Kubernetes with GitOps/automation or advanced customization needs |

## What you'll need

Review the [Prerequisites & Checklists](/carto-self-hosted/planning/prerequisites.md), in particular the [hardware & software requirements](/carto-self-hosted/planning/prerequisites/hardware-requirements.md), the external [metadata database](/carto-self-hosted/planning/prerequisites/metadata-database.md), and [object storage](/carto-self-hosted/planning/prerequisites/object-storage.md).

## Next steps

{% hint style="success" %}
Ready to deploy? Follow the [**Advanced Orchestrated container deployment guide**](/carto-self-hosted/deployment/kubernetes-helm.md), or try the [**Advanced Orchestrated quickstart**](/carto-self-hosted/quickstarts/quickstart-kubernetes-helm.md) first.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.carto.com/carto-self-hosted/planning/deployment-methods/kubernetes-helm.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
