High availability
Configure high availability for CARTO Self-hosted (Kots and Helm)
Last updated
Was this helpful?
Configure high availability for CARTO Self-hosted (Kots and Helm)
This guide details configuring High Availability (HA) for CARTO Self-Hosted deployments on Kubernetes. HA ensures continuous service during pod or node failures by running multiple replicas of the components that are critical to the platform. Configure it through the Admin Console (Kots) or through your customizations.yaml (Helm).
To enable the high availability configuration on your CARTO Self-Hosted deployment, you'll have to check the following option in your configuration:

This change will enable the default options for high availability on your Self-Hosted installation, and we'll deploy multiple replicas for the services that are considered critical for CARTO platform's usage.
In case you'd like to customize the high availability configuration, these are the available options:

Minimum Number of Replicas: This setting determines the minimum number of copies of each CARTO service running at any given time. Increasing this value enhances fault tolerance by providing more replicas to handle requests during failures. The default value is 2.
Maximum Number of Replicas: This setting defines the upper limit on the number of replicas for each service. This allows you to scale your deployment up or down based on usage. The default value is 3.
For Helm-based deployments the same high-availability principles apply, but (unlike the Admin Console's single "high availability" toggle) replicas are configured per component in your customizations.yaml:
For each critical component, set <component>.replicaCount, or enable autoscaling with <component>.autoscaling.enabled: true and <component>.autoscaling.minReplicas / maxReplicas (e.g. mapsApi.autoscaling.minReplicas, workspaceApi.autoscaling.minReplicas).
For the full list of components and their values, see Advanced Helm customizations.
Stateful dependencies provide their own HA. CARTO's replica settings don't make the metadata database or the in-memory cache highly available. That comes from running them as external, managed, highly-available services (for example a multi-AZ managed PostgreSQL, and a managed Redis/Valkey with Sentinel or Cluster). See Metadata Database and Configure an external in-memory cache.
Node spreading: when HA is enabled in the Admin Console, CARTO automatically spreads each critical component's replicas across nodes (pod anti-affinity). With Helm you configure affinity / topology spread yourself.
Last updated
Was this helpful?
Was this helpful?
