<commit_before>---
title: "Kubernetes Multi-Cluster Deployments"
date:
draft: false
weight: 300
---

![PostgreSQL Operator High-Availability Overview](/images/postgresql-ha-multi-data-center.png)

Advanced [high-availability]({{< relref "/architecture/high-availability/_index.md" >}})
and [disaster recovery]({{< relref "/architecture/disaster-recovery.md" >}})
strategies involve spreading your database clusters across multiple data centers
to help maximize uptime. In Kubernetes, this technique is known as "[federation](https://en.wikipedia.org/wiki/Federation_(information_technology))".
Federated Kubernetes clusters are able to communicate with each other,
coordinate changes, and provide resiliency for applications that have high
uptime requirements.

As of this writing, federation in Kubernetes is still in ongoing development
area and is something we monitor with intense interest. As Kubernetes federation
continues to mature, we wanted to provide a way to deploy PostgreSQL clusters
managed by the [PostgreSQL Operator](https://www.crunchydata.com/developers/download-postgres/containers/postgres-operator)
that can span multiple Kubernetes clusters. This can be accomplished with a
few environmental setups:

- Two Kubernetes clusters
- S3, or an external storage system that uses the S3 protocol
<commit_msg>Fix grammar in the federation documentation<commit_after>---
title: "Kubernetes Multi-Cluster Deployments"
date:
draft: false
weight: 300
---

![PostgreSQL Operator High-Availability Overview](/images/postgresql-ha-multi-data-center.png)

Advanced [high-availability]({{< relref "/architecture/high-availability/_index.md" >}})
and [disaster recovery]({{< relref "/architecture/disaster-recovery.md" >}})
strategies involve spreading your database clusters across multiple data centers
to help maximize uptime. In Kubernetes, this technique is known as "[federation](https://en.wikipedia.org/wiki/Federation_(information_technology))".
Federated Kubernetes clusters are able to communicate with each other,
coordinate changes, and provide resiliency for applications that have high
uptime requirements.

As of this writing, federation in Kubernetes is still in ongoing development
and is something we monitor with intense interest. As Kubernetes federation
continues to mature, we wanted to provide a way to deploy PostgreSQL clusters
managed by the [PostgreSQL Operator](https://www.crunchydata.com/developers/download-postgres/containers/postgres-operator)
that can span multiple Kubernetes clusters. This can be accomplished with a
few environmental setups:

- Two Kubernetes clusters
- S3, or an external storage system that uses the S3 protocol

{'fraction_non_alphanumeric': 0.08, 'fraction_numerical': 0.003738317757009346, 'mean_word_length': 5.774683544303797, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 4, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3021816', 'n_tokens_mistral': 715, 'n_tokens_neox': 657, 'n_words': 280}