> 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

Advanced Orchestrated container deployment (Kubernetes + Helm) for CARTO Self-Hosted

<img src="https://3029946802-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FybPdpmLltPkzGFvz7m8A%2Fuploads%2Fgit-blob-8380cd00eeb2ef63d9101dab05fc70eda730228a%2Fdm-advanced-orchestrated.svg?alt=media" 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
