From 2eb83664b86f6d60e6da7d30ab669c0672dc2e90 Mon Sep 17 00:00:00 2001 From: Anastasia Alexadrova Date: Wed, 25 Mar 2026 17:50:54 +0100 Subject: [PATCH 1/5] Extended the Architecture section --- .gitignore | 3 +- docs/architecture.md | 94 +++++++---- docs/assets/.DS_Store | Bin 6148 -> 0 bytes docs/assets/diagrams/operator_flow.py | 169 +++++++++++++++++++ docs/assets/fragments/what-you-install.txt | 2 +- docs/assets/images/operator-flow-diagram.png | Bin 0 -> 151826 bytes docs/features.md | 90 ++++++++++ docs/operator-concepts.md | 85 ++++++++++ docs/operator-how-it-works.md | 32 ++++ docs/scaling.md | 2 +- mkdocs-base.yml | 7 +- requirements.txt | 3 +- 12 files changed, 445 insertions(+), 42 deletions(-) delete mode 100644 docs/assets/.DS_Store create mode 100644 docs/assets/diagrams/operator_flow.py create mode 100644 docs/assets/images/operator-flow-diagram.png create mode 100644 docs/features.md create mode 100644 docs/operator-concepts.md create mode 100644 docs/operator-how-it-works.md diff --git a/.gitignore b/.gitignore index 1a861c45..7a69f296 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ __pycache__/ site/ - +docs/assets/.DS_Store +.DS_Store \ No newline at end of file diff --git a/docs/architecture.md b/docs/architecture.md index 2d9a8ac9..12a6e5a3 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -1,12 +1,10 @@ -# Design overview +# Architecture -The Percona Operator for PostgreSQL automates and simplifies -deploying and managing open source PostgreSQL clusters on Kubernetes. -The Operator is based on [CrunchyData’s PostgreSQL Operator :octicons-link-external-16:](https://access.crunchydata.com/documentation/postgres-operator/v5/). +This document provides a high-level overview of Percona Operator for PostgreSQL architecture, explaining how the various components connect to create a production-ready PostgreSQL cluster on Kubernetes. See also [How the Operator works](operator-how-it-works.md). -![image](assets/images/pgo.svg) +## Components -PostgreSQL containers deployed with the Operator include the following components: +The StatefulSet, deployed with the Operator includes the following components: * The [PostgreSQL :octicons-link-external-16:](https://www.postgresql.org/) database management system, including: @@ -22,46 +20,70 @@ PostgreSQL containers deployed with the Operator include the following component * The [pgBouncer :octicons-link-external-16:](http://pgbouncer.github.io/) connection pooler for PostgreSQL, -* The PostgreSQL high-availability implementation based on the [Patroni template :octicons-link-external-16:](https://patroni.readthedocs.io/), +* The PostgreSQL high-availability implementation based on the [Patroni :octicons-link-external-16:](https://patroni.readthedocs.io/) template, -* the [pg_stat_monitor :octicons-link-external-16:](https://github.com/percona/pg_stat_monitor/) PostgreSQL Query Performance Monitoring utility, +* The [pg_stat_monitor :octicons-link-external-16:](https://github.com/percona/pg_stat_monitor/) PostgreSQL query performance monitoring utility, * LLVM (for JIT compilation). +* PMM Client for observability -Each PostgreSQL cluster includes one member available for read/write transactions (PostgreSQL primary instance, or leader in terms of Patroni) and a number of replicas which can serve read requests only (standby members of the cluster). +![Operator overview](assets/images/pgo.svg) -To provide high availability from the Kubernetes side the Operator involves [node affinity :octicons-link-external-16:](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) -to run PostgreSQL Cluster instances on separate worker nodes if possible. If -some node fails, the Pod with it is automatically re-created on another node. +### Role of each component -![image](assets/images/operator.svg) +* **Percona Distribution for PostgreSQL** is a suite of open source software, tools and services required to deploy and maintain a reliable production cluster for PostgreSQL. + +* **Patroni** — a high-availability solution for PostgreSQL that automates replication and **failover**. It maintains the cluster state and coordinates leader election to ensure that a healthy primary node is always available. Patroni simplifies building and operating resilient PostgreSQL clusters by handling node monitoring, failover, and recovery automatically. See the [Patroni documentation :octicons-link-external-16:](https://patroni.readthedocs.io/) for how it integrates with your environment. -To provide data storage for stateful applications, Kubernetes uses -Persistent Volumes. A *PersistentVolumeClaim* (PVC) is used to implement -the automatic storage provisioning to pods. If a failure occurs, the -Container Storage Interface (CSI) should be able to re-mount storage on -a different node. +* **pgBouncer** — A **lightweight connection pooler** in front of PostgreSQL. It sits between client applications and the database server to manage and reuse connections efficiently. Instead of each client opening its own database connection, pgBouncer maintains a pool of connections and serves them to clients on demand, significantly reducing connection overhead and improving performance, especially for applications with many short-lived or concurrent connections. -The Operator functionality extends the Kubernetes API with [Custom Resources -Definitions :octicons-link-external-16:](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions). -These CRDs provide extensions to the Kubernetes API, and, in the case of the -Operator, allow you to perform actions such as creating a PostgreSQL Cluster, -updating PostgreSQL Cluster resource allocations, adding additional utilities to -a PostgreSQL cluster, e.g. [pgBouncer :octicons-link-external-16:](https://www.pgbouncer.org/) for -connection pooling and more. +* **pgBackRest** — Handles **full, incremental, and differential** backups, compression and encryption, parallel processing, and point-in-time recovery using WAL archives. pgBackRest helps ensure data safety by providing efficient, consistent backups and fast restores for both small and large PostgreSQL environments. Backup and restore are integrated with Custom Resources (`PerconaPGBackup`, `PerconaPGRestore`). See [About backups](backups.md) to learn more. -When a new Custom Resource is created or an existing one undergoes some changes -or deletion, the Operator automatically creates/changes/deletes all needed -Kubernetes objects with the appropriate settings to provide a proper Percona -PostgreSQL Cluster operation. +* **pg_stat_monitor** — Collects **query performance** statistics. +* **PMM Client** - a lightweight agent installed on database hosts to collect metrics, logs, and performance data and send them to Percona Monitoring and Management (PMM) Server. It gathers detailed insights from databases and the operating system such as query performance, resource usage, and health metrics. It enables centralized monitoring, troubleshooting, and performance optimization for PostgreSQL clusters. -Following CRDs are created while the Operator installation: +### How components work together -* `perconapgclusters` stores information required to manage a PostgreSQL cluster. -This includes things like the cluster name, what storage and resource classes -to use, which version of PostgreSQL to run, information about how to maintain -a high-availability cluster, etc. +This workflow shows how cluster components work together: -* `perconapgbackups` and `perconapgrestores` are in charge for making backups - and restore them. +1. Your **application** uses a Kubernetes **Service** aimed at pgBouncer. +2. **pgBouncer** accepts many client connections and forwards work through a smaller set of server connections to PostgreSQL Pods. +3. **PostgreSQL** executes queries. **Writes** go to the **primary**. **Reads** can target the primary or **replicas**. +4. Primary streams WAL to replicas via instance Services +5. Patroni monitors the cluster state and coordinates the leader elections if the primary node fails +6. pgBackRest makes backups according the schedule that you defined or when you manually create a backup object. pgBackRest saves backups to the backup storage your configured. To learn more about backups, their workflow and setup, refer to the [About backups](backups.md) +7. PMM Client collects performance metrics and sends them to the PMM Server for you to see and analyze. See [Monitor the database with PMM](monitoring.md) to learn more. + +## Default cluster configuration + +The default Percona Distribution for PostgreSQL configuration includes: + +* 3 PostgreSQL servers, one primary and two replicas. +* 3 pgBouncer instances. +* a pgBackRest repository host instance – a dedicated instance in your cluster that stores filesystem backups made with pgBackRest . +* a PMM client instance - a monitoring and management tool for PostgreSQL that provides a way to monitor and manage your database. It runs as a sidecar container in the database Pods. + +### Primary, replicas, and high availability + +Each PostgreSQL cluster has **one primary** instance that accepts read/write transactions. **Replicas** are standbys: they replicate from the primary and typically serve **read-only** traffic (depending on how you expose them). + +The Operator provides high availability through multiple layers of protection: + +#### Pod distribution + +The Operator uses [node affinity and anti-affinity :octicons-link-external-16:](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity) to distribute PostgreSQL instances across separate worker nodes when possible. This prevents a single node failure from taking down multiple database instances. + +#### Automatic recovery + +If a node fails, Kubernetes automatically reschedules the affected Pod on another healthy node. Patroni handles which PostgreSQL instance is primary and ensures replication continuity. For more on HA behavior and operations, see [High-availability](ha-deploy.md). + +## Storage and persistent volumes + +Stateful workloads rely on durable disk. Kubernetes attaches storage through **PersistentVolumeClaims (PVCs)**; the cluster’s CSI driver provisions **PersistentVolumes** and can **reattach** storage if a Pod moves to another node (subject to your storage class and platform). + +If a node fails, the expectation is that the volume can be mounted elsewhere and the Pod recreated, while Patroni and PostgreSQL recover the database layer. For storage troubleshooting, see [Check storage](debug-storage.md). + +## Next steps + +For a comparison of Percona’s approach with other deployment models, see [Comparison with other solutions](compare.md). diff --git a/docs/assets/.DS_Store b/docs/assets/.DS_Store deleted file mode 100644 index ee175dffb67dad66532e9b97c6df37d02af6e067..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK&2AGh5Vq5_b%GE%RH6rje4w`+k`@p-RN990&>PZLMHQfSw;LrZZPp>XAu1tg zUxU65C!T)C)q@j5Pkn_Kbf%uk0NmgzQeEwh#>=gaWl#sX_4@vHez; zq(Uw0fD*^(i|imVXJKN(C2wx{9~rP`wA&;Ry_=$qcFZqVEY)ohU zEgUCtmbY5pWo4zhy0)%VUDfZ`-}yr`^Yb8|X5C=&#@1d1`7k8=(3s@P4#K0jKRan` zyfkSZ#A$zm!Ew|Fm$$FuG%~ZUnWj;ON6f*p9iNat>c3~NfVRW`7hUwOX7kVUx^* zn1MUafW03ys6~&kaEMn26qo`4R-qXMY@18i7)|IA77n2YM7mHw7b+>mkS-kBHTijj zg+muEBqbk`W|owpNSqzU*XS;!=a5TgfEg$=u;Qu>`~L6$IsY#Qag7;Z2JRFCvfA@| zUDy)6txKD;Z>zV<2J1Vw>%Z4E$=uy6=1Ap9eMG;qNT{8I*g E0ee7vjQ{`u diff --git a/docs/assets/diagrams/operator_flow.py b/docs/assets/diagrams/operator_flow.py new file mode 100644 index 00000000..3a4514d2 --- /dev/null +++ b/docs/assets/diagrams/operator_flow.py @@ -0,0 +1,169 @@ +#!/usr/bin/env python3 +""" +Uses the mingrammer *diagrams* library with Kubernetes node icons: +https://diagrams.mingrammer.com/docs/nodes/k8s + +Prerequisites: + pip install diagrams + # Graphviz must be installed (provides the `dot` binary): + # macOS: brew install graphviz + # Debian/Ubuntu: apt-get install graphviz + +Run from repo root: + python docs/assets/diagrams/operator_flow.py + python docs/assets/diagrams/operator_flow.py --format png + python docs/assets/diagrams/operator_flow.py --format both + +Default output: docs/assets/images/operator-flow-diagram.png. + +Colors and cluster framing follow docs/assets/images/operator.svg (light blue fill #d4edfb, +cluster stroke #729fcf, connector blue #3465a4, label text #092256). +""" + +from __future__ import annotations + +import argparse +from pathlib import Path + +from diagrams import Cluster, Diagram, Edge +from diagrams.k8s.compute import Pod +from diagrams.k8s.controlplane import CM +from diagrams.k8s.others import CRD + +# Resolve paths so the script works when run from any cwd +_HERE = Path(__file__).resolve().parent +_REPO_ROOT = _HERE.parents[2] +_OUT_DIR = _REPO_ROOT / "docs" / "assets" / "images" +_OUT_NAME = "operator-flow-diagram" + +# Palette aligned with docs/assets/images/operator.svg (Percona operator diagram) +_BG = "#ffffff" +_CLUSTER_FILL = "#d4edfb" # rgb(212, 237, 251) +_CLUSTER_BORDER = "#729fcf" # rgb(114, 159, 207) +# Primary UI blue in operator.svg (trapezoids / hex icons): rgb(50, 108, 229) — built-in K8s PNG icons match this. +_EDGE = "#3465a4" # rgb(52, 101, 164) — connectors and arrows +_TEXT = "#092256" # rgb(9, 34, 87) — titles and labels + + +def _cluster_graph_attr() -> dict[str, str]: + """Rounded cluster box like the large light-blue area in operator.svg.""" + return { + "bgcolor": _CLUSTER_FILL, + "style": "rounded", + "color": _CLUSTER_BORDER, + "penwidth": "2", + "fontcolor": _TEXT, + "fontsize": "13", + } + + +def _graph_attr_for_format(outformat: str) -> dict[str, str]: + """Graphviz graph attributes; PNG sets dpi for readable raster output.""" + ga: dict[str, str] = { + "bgcolor": _BG, + "pad": "0.45", + "fontsize": "13", + "fontname": "Helvetica", + } + if outformat == "png": + ga["dpi"] = "150" + return ga + + +def _build(outformat: str) -> Path: + """Write operator-flow-diagram.{svg|png} to docs/assets/images/.""" + if outformat not in ("svg", "png"): + raise ValueError(f"unsupported format: {outformat!r}") + + _OUT_DIR.mkdir(parents=True, exist_ok=True) + out_path = str(_OUT_DIR / _OUT_NAME) + + graph_attr = _graph_attr_for_format(outformat) + + node_attr = { + "fontcolor": _TEXT, + "fontsize": "12", + "fontname": "Helvetica", + } + + edge_attr = { + "color": _EDGE, + "fontcolor": _TEXT, + "fontsize": "10", + "fontname": "Helvetica", + "penwidth": "1.5", + } + + # Left-to-right main flow (CRD → … → Application); colors match operator.svg + with Diagram( + "", + filename=out_path, + show=False, + direction="LR", + graph_attr=graph_attr, + node_attr=node_attr, + edge_attr=edge_attr, + outformat=outformat, + ): + with Cluster("Kubernetes Cluster", graph_attr=_cluster_graph_attr()): + crd = CRD("Custom Resource\nDefinition (CRD)") + # No dedicated "Custom Resource instance" icon in k8s provider; Pod denotes workload API objects. + custom_resources = Pod("Custom Resources") + operator = CM("Operator Deployment") + + # Stack pods horizontally inside the group. + with Cluster( + "Application", + direction="LR", + graph_attr=_cluster_graph_attr(), + ): + # Three workload replicas (labels echo operator.svg DB Pod 1 / 2 / N pattern). + app_pods = [ + Pod("DB Pod 1"), + Pod("DB Pod 2"), + Pod("DB Pod N"), + ] + + # CRD defines schema available to the API; users then create CR instances. + crd >> Edge(label="defines schema", color=_EDGE) >> custom_resources + + # Bidirectional: Operator watches CRs and reconciles cluster state. + custom_resources << Edge( + forward=True, + reverse=True, + label="watch / reconcile", + color=_EDGE, + ) >> operator + + # Operator drives the managed application (StatefulSets, Services, etc.). + operator >> Edge(label="manages", color=_EDGE) >> app_pods[1] + + return _OUT_DIR / f"{_OUT_NAME}.{outformat}" + + +def _parse_args() -> argparse.Namespace: + p = argparse.ArgumentParser( + description="Render the operator control-flow diagram (CRD → … → Application).", + ) + p.add_argument( + "-f", + "--format", + choices=("svg", "png", "both"), + default="png", + help="Output format: vector SVG, raster PNG, or both (default: png).", + ) + return p.parse_args() + + +def main() -> None: + args = _parse_args() + if args.format == "both": + paths = [_build("svg"), _build("png")] + else: + paths = [_build(args.format)] + for path in paths: + print(f"Wrote {path}") + + +if __name__ == "__main__": + main() diff --git a/docs/assets/fragments/what-you-install.txt b/docs/assets/fragments/what-you-install.txt index 0a0c04ce..718521b6 100644 --- a/docs/assets/fragments/what-you-install.txt +++ b/docs/assets/fragments/what-you-install.txt @@ -15,4 +15,4 @@ The default Percona Distribution for PostgreSQL configuration includes: * a pgBackRest repository host instance – a dedicated instance in your cluster that stores filesystem backups made with pgBackRest - a backup and restore utility. * a PMM client instance - a monitoring and management tool for PostgreSQL that provides a way to monitor and manage your database. It runs as a sidecar container in the database Pods. -Read more about the default components in the [Architecture](architecture.md) section. +Read more about the default components in [Architecture](architecture.md). diff --git a/docs/assets/images/operator-flow-diagram.png b/docs/assets/images/operator-flow-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..8801ee28f0af5dc2297710e3b9f166fea76bc7f8 GIT binary patch literal 151826 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

?c3QQZ^{K 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 E0Ya3e*#H0l literal 0 HcmV?d00001 diff --git a/docs/features.md b/docs/features.md new file mode 100644 index 00000000..f034172b --- /dev/null +++ b/docs/features.md @@ -0,0 +1,90 @@ +# Features and capabilities + +Percona Operator for PostgreSQL is a Kubernetes-native controller that automatically manages the full lifecycle of [Percona Distribution for PostgreSQL :octicons-link-external-16:](https://www.percona.com/software/postgresql-distribution) clusters. The Operator offloads your teams from manual day-to-day database management operations empowering them to focus on tasks that matter instead. To learn how the Operator fits into Kubernetes, see [Kubernetes Operator concepts](operator-concepts.md). + +Here’s what the Operator brings to your infrastructure: + +## High availability and failover + +Run PostgreSQL with confidence: [Patroni :octicons-link-external-16:](https://patroni.readthedocs.io/) provides automatic leader election, failover, and coordination so your cluster stays available through node and Pod failures. For architecture details, see [Cluster architecture](architecture.md). + +* **Automatic failover** — Patroni manages leader election and failover to ensure the cluster always has a healthy primary. See [High availability](ha-deploy.md). +* **Zero data loss failover** — WAL-based replication limits data loss during failover; synchronous replication is available when you need stronger guarantees. +* **Health monitoring** — Continuous health checks trigger failover when PostgreSQL is not ready to serve traffic. +* **Manual switchover** — [Promote a replica to primary](change-primary.md) in a controlled way for maintenance. + +## Automated backup and restore flows + +Safeguard your data at any scale: the Operator automates backups and restores using [pgBackRest :octicons-link-external-16:](https://pgbackrest.org/), a robust open source solution trusted for PostgreSQL in production. Read [About backups](backups.md) for the full workflow. + +Also, leverage Kubernetes [PersistentVolumeClaim snapshots](backups-snapshots.md) for rapid, consistent backup and restore operations. It is especially valuable for large database clusters. + +* **Full, incremental, and differential backups** — Select the backup strategy that matches your recovery objectives and storage requirements. +* **Point-in-time recovery (PITR)** — Achieve low Recovery Point Objectives (RPO) by [restoring to any specific time](backups-restore-inplace.md#restore-the-cluster-with-point-in-time-recovery) using WAL archives. +* **Scheduled backups** — Automate backups on your chosen [schedule with cron-like expressions](backups-schedule.md). +* **Flexible storage** — Store backups in S3-compatible object storage or on local PersistentVolumes for hybrid strategies. +* **PVC snapshot support** — Boost backup and restore performance for large datasets with a point-in-time snapshot of your data volume. +* **Encryption** — [Secure backups at rest](backup-encryption.md) where your storage backends and configuration allow it. +* **Retention** — Manage backup lifecycle and [automate old backup cleanup](backup-retention.md) to prevent storage sprawl. + +## Connection pooling with pgBouncer + +Reduce connection churn and spread read load without extra operational burden. + +* **Efficient pooling** — Lower PostgreSQL connection overhead by pooling client connections +* **Transaction-level pooling** — Manage connections at the transaction level efficiently +* **Read balancing** — Distribute read queries across replicas where configured +* **High availability** — Replica pgBouncer instances provide high availability +* **Integrated lifecycle** — Automatically configured and managed by the Operator + +## Automated scaling and resource management + +Scale your cluster up or down to match demand while keeping changes declarative. + +* **Declarative clusters** — Describe desired cluster state in YAML; the Operator automatically reconciles Kubernetes resources to match. +* **Replica scaling** — [Adjust replica count](ha-deploy.md#adding-nodes-to-a-cluster) in the Custom Resource to scale horizontally. +* **Dynamic configuration** — [Update PostgreSQL parameters](options.md) without a full cluster restart. +* **Self-healing** — The Operator automatically detects and recovers from Pod crashes, node issues, and common network problems. +* **Rolling updates** — Apply configuration and image updates with controlled rollouts. +* **Storage expansion** — Automatically [increase storage size](scaling.md#scale-storage) for PostgreSQL instances when supported by your environment and configuration. + +## PostgreSQL-specific features + +Use PostgreSQL capabilities that operators expect in production. + +* **WAL storage** — Optional dedicated volumes for Write-Ahead Logs when you want to separate I/O. +* **Tablespaces** — Custom [tablespaces](tablespaces.md) with dedicated storage. +* **Extensions** — Built-in support for extensions such as pg_stat_monitor, pgAudit, set_user, wal2json, plus ability to extend PostgreSQL with [custom extensions](custom-extensions.md). +* **Users and databases** — Automatically create users, databases, and manage credentials. +* **Init SQL** — Execute [custom SQL scripts during cluster initialization](initsql.md). + +## Standby clusters for disaster recovery + +Leverage disaster-recovery topologies that fit your RTO and RPO. + +* **Backups or streaming** — Deploy your standby cluster based on backups or streaming replication, depending on your architecture +* **Cross-namespace or cross-cluster** — Primary and standby clusters can run in different namespaces or Kubernetes clusters +* **Promotion** — Promote a standby to primary when you need to recover from an outage or drill a failover + +## Security and compliance + +Keep traffic and data protected with encryption and flexible TLS workflows. + +* **TLS for connections** — Encrypt client traffic and traffic between cluster components +* **Certificates** — Comply with your security policy via [custom certificates](tls-manual.md) or automated certificate generation [with cert-manager](tls-cert-manager.md) with configurable lifecycle management. + +## Monitoring and observability + +Understand performance and troubleshoot faster with metrics and optional Percona tooling. + +* **PMM integration** — Connect the cluster to [Percona Monitoring and Management (PMM) :octicons-link-external-16:](https://www.percona.com/software/database-tools/percona-monitoring-and-management) for dashboards and alerting. +* **pg_stat_monitor** — Get query performance insights with fingerprinting when you enable the extension. +* **Broad metrics** — Track connection counts, transaction rates, cache hit ratios, replication lag, and more. +* **Query analytics** — Deeper query analysis in PMM. See [Query Analytics :octicons-link-external-16:](https://docs.percona.com/percona-monitoring-and-management/3/use/qan/index.html#__tabbed_1_2) in the PMM documentation. + +## Operator capabilities + +Operate at the scale of your platform with flexible reconciliation scope. + +* **Selective namespaces** — Reconcile clusters in a single namespace or multi-namespace mode. See [cluster-wide deployment](cluster-wide.md) to learn more. +* **Concurrent reconciliation** — Run [concurrent reconciliations](reconciliation-concurrency.md) to manage many clusters efficiently. diff --git a/docs/operator-concepts.md b/docs/operator-concepts.md new file mode 100644 index 00000000..ec6a7de1 --- /dev/null +++ b/docs/operator-concepts.md @@ -0,0 +1,85 @@ +# Kubernetes Operator concepts + +If you already run workloads on Kubernetes, you are used to declaring *desired state* in YAML and letting controllers create Pods, Services, and other objects. A **Kubernetes Operator** applies the same idea to a whole application stack—such as a database cluster—so you do not have to assemble every low-level object by hand. + +This page explains what Operators are in general and how **Percona Operator for PostgreSQL** fits in that model. For how reconciliation and Custom Resources work in practice, see [How the Operator works](operator-how-it-works.md). To learn more what the Operator manages, see [Architecture](architecture.md). + +## What is a Kubernetes Operator? + +An Operator is a way to **package, deploy, and manage** a complex application like databases on Kubernetes. It extends the Kubernetes API with custom resources so you can create and update instances of that application using the same `kubectl` and GitOps workflows you use elsewhere. + +At its core, an Operator is a **custom controller**. It watches [custom resources](#custom-resources-explained), compares what *should* exist (desired state) with what *does* exist (current state), and takes steps to bring them in line. That pattern is often called a **control loop** or **reconciliation loop**. + +**Percona Operator for PostgreSQL** builds on patterns and components from [CrunchyData’s PostgreSQL Operator :octicons-link-external-16:](https://access.crunchydata.com/documentation/postgres-operator/v5/) and Percona’s PostgreSQL distribution practices. Percona continues to develop the Operator as open source software alongside the database and tooling stack. + +Percona Operator for PostgreSQL is particularly valuable for stateful applications like databases, which require complex lifecycle management, including initialization, scaling, backups, updates, disaster recovery and more. + +## Custom Resources explained + +How Percona Operator for PostgreSQL works in Kubernetes is defined by the relationship between these core components: + +* Custom Resource Definition +* Custom Resource +* Operator Deployment + +### Custom Resource Definition (CRD) + +A **Custom Resource Definition** is a schema that defines a new type of resource in Kubernetes. It tells Kubernetes: + +- What fields the custom resource will have +- What types of values those fields can contain +- How the resource should be validated + +For example, a Custom Resource Definition for a database cluster called `PostgreSQLCluster` has fields like `replicas`, `storageSize`, `postgresVersion`, etc. + +### Custom Resource (CR) + +A **Custom Resource** is an instance of a CRD. It represents a specific deployment of your application. When you create a Custom Resource, you're essentially declaring your desired state for that application. + +For instance, you might create a Custom Resource named `my-postgres-cluster` that specifies that you want a PostgreSQL cluster with 3 replicas, 100GB of storage, and PostgreSQL version 18. + +### Operator Deployment + +The **Operator** itself is deployed as a standard Kubernetes Deployment. It runs as a Pod (or set of Pods) in your cluster and contains the controller logic that: + +1. Watches for Custom Resources of the type defined by the CRD +2. Reads the desired state from the Custom Resource +3. Compares it with the current state of the cluster +4. Takes actions to reconcile any differences - to bring the current cluster state to the desired state defined in the Custom Resource + +In short: the CRD defines the *shape* of the API, the CR is *your* declaration, and the Operator is the automation that *implements* it. + +The following is the components workflow: + + +![image](assets/images/operator-flow-diagram.png) + +1. **Install CRDs** — The new API kinds appear in the cluster. + +2. **Install Operator Deployment**: The Operator Pod is deployed, and it starts watching for resources. + +3. **Create Custom Resource**: You create and apply a Custom Resource YAML file that describes your desired cluster state + +4. **Reconcile**: The Operator detects the new Custom Resource, reads its specification, and creates the necessary Kubernetes resources (StatefulSets, Services, ConfigMaps, Secrets, etc.) to bring the PostgreSQL cluster into existence. + +5. **Monitor continuously**: The Operator continuously monitors both the Custom Resource and the actual cluster state, making adjustments whenever they diverge. + +## Why use an Operator for a database? + +The Operator is a game-changer for database management on Kubernetes: it frees your team from tedious, error-prone infrastructure work, so you can focus on building the applications that matter. + +Traditionally, deploying PostgreSQL in Kubernetes means you must create, wire together, and continuously maintain many objects like StatefulSets, Services, PVCs, ConfigMaps, Secrets, backup Jobs, monitoring hooks, and more. Every change or upgrade requires manual intervention and careful coordination. + +With an Operator, all you do is describe your desired cluster in a Custom Resource. The Operator reads it and does the works for you: + +* It automatically translates your intent into concrete, production-ready objects +* Integrates trusted open source tools like Patroni for high availability pgBackRest for backup/restore operations, and pgBouncer for connection pooling +* Keeps your cluster healthy and up to date, even as requirements change + +Day-to-day, the Operator automates the most challenging and repetitive database tasks: seamless failovers, backup management, rolling upgrades, scaling, and self-healing. + +By trusting the Operator to manage your database infrastructure, your team can focus on building features and improving your applications and not manage YAML or deal with unexpected outages. + +## Next steps + +[Features and capabilities](features.md){.md-button} diff --git a/docs/operator-how-it-works.md b/docs/operator-how-it-works.md new file mode 100644 index 00000000..160dd0dd --- /dev/null +++ b/docs/operator-how-it-works.md @@ -0,0 +1,32 @@ +# How the Operator works + +This page describes how Percona Operator for PostgreSQL plugs into Kubernetes and how it keeps your database cluster in the state you define. + +If you are new to the Operator pattern itself, start with [Kubernetes Operators and Percona Operator](operator-concepts.md). For the runtime stack (database processes, Patroni, backups), see [Cluster architecture](architecture.md). + +## How the Operator extends Kubernetes API + +Standard Kubernetes resources cover Deployments, Services, and many other kinds. The Operator registers additional Custom Resources, defined via [Custom Resource Definitions (CRDs) :octicons-link-external-16:](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions). + +These Custom Resources are: + +* `PerconaPGCluster` for the database cluster +* `PerconaPGBackup` for backups +* `PerconaPGRestore` for restores +* `PerconaPGUpgrade` for major upgrades + +The Operator itself runs as a **Deployment** in the Kubernetes cluster. It has controller logic that watches the Custom Resources that the CRDs define. Whenever you create or change a relevant Custom Resource, the Operator's reconciliation loop automatically does the following: + +* Creates and manages the necessary Kubernetes resources (StatefulSets, Services, Pods) +* Ensures your cluster matches the desired state you’ve defined +* Monitors the cluster health and automatically recovers from failures +* Coordinates upgrades and scaling operations + +These operations ensure that your actual database environment always matches your request. + +To learn more about features and capabilities that the Operator brings in, see [Features and capabilities](features.md). + +## Next steps + +* [Cluster architecture](architecture.md){.md-button} + diff --git a/docs/scaling.md b/docs/scaling.md index ef094166..21c55cef 100644 --- a/docs/scaling.md +++ b/docs/scaling.md @@ -10,7 +10,7 @@ This document focuses on vertical scaling. For deploying high-availability, see ### Scale compute -There are multiple components that the Operator deploys and manages: PostgreSQL instances, pgBouncer connection pooler, pgBackRest and others (See [Architecture](architecture.md) for the full list of components.) +There are multiple components that the Operator deploys and manages: PostgreSQL instances, pgBouncer connection pooler, pgBackRest and others (see [Architecture](architecture.md) for the full list of components). You can manage compute resources for a specific component using the corresponding section in the Custom Resource manifest. We follow the structure for [requests and limits :octicons-link-external-16:](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) that Kubernetes provides. diff --git a/mkdocs-base.yml b/mkdocs-base.yml index aafc9a7f..f33dae58 100644 --- a/mkdocs-base.yml +++ b/mkdocs-base.yml @@ -172,9 +172,12 @@ extra: # Used in main.html template and can't be externalized nav: - Home: index.md - - Discover the Operator: + - Understand the Operator: + - "Kubernetes Operator concepts": operator-concepts.md + - "Features and capabilities": features.md + - "How the Operator works": operator-how-it-works.md + - "Cluster architecture": architecture.md - "Comparison with other solutions": compare.md - - "Design and architecture": architecture.md - get-help.md - Quickstart guide: - "Overview": quickstart.md diff --git a/requirements.txt b/requirements.txt index c35e3960..b1692f1f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,4 +12,5 @@ mkdocs-section-index mkdocs-htmlproofer-plugin mkdocs-meta-descriptions-plugin mike -mkdocs-git-committers-plugin-2 \ No newline at end of file +mkdocs-git-committers-plugin-2 +diagrams>=0.23.0 \ No newline at end of file From 086ef57a739495009c93c702de948fac24e2467c Mon Sep 17 00:00:00 2001 From: Anastasia Alexandrova Date: Thu, 26 Mar 2026 13:32:15 +0100 Subject: [PATCH 2/5] Update docs/architecture.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/architecture.md b/docs/architecture.md index 12a6e5a3..73812a3a 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -51,7 +51,7 @@ This workflow shows how cluster components work together: 3. **PostgreSQL** executes queries. **Writes** go to the **primary**. **Reads** can target the primary or **replicas**. 4. Primary streams WAL to replicas via instance Services 5. Patroni monitors the cluster state and coordinates the leader elections if the primary node fails -6. pgBackRest makes backups according the schedule that you defined or when you manually create a backup object. pgBackRest saves backups to the backup storage your configured. To learn more about backups, their workflow and setup, refer to the [About backups](backups.md) +6. pgBackRest makes backups according to the schedule that you defined or when you manually create a backup object. pgBackRest saves backups to the backup storage that you configured. To learn more about backups, their workflow, and setup, refer to the [About backups](backups.md). 7. PMM Client collects performance metrics and sends them to the PMM Server for you to see and analyze. See [Monitor the database with PMM](monitoring.md) to learn more. From ac119836efbaae2917b0ce49f48e9db7032d19af Mon Sep 17 00:00:00 2001 From: Anastasia Alexandrova Date: Thu, 26 Mar 2026 13:32:31 +0100 Subject: [PATCH 3/5] Update docs/architecture.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/architecture.md b/docs/architecture.md index 73812a3a..1ea04164 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -61,7 +61,7 @@ The default Percona Distribution for PostgreSQL configuration includes: * 3 PostgreSQL servers, one primary and two replicas. * 3 pgBouncer instances. -* a pgBackRest repository host instance – a dedicated instance in your cluster that stores filesystem backups made with pgBackRest . +* a pgBackRest repository host instance - a dedicated instance in your cluster that stores filesystem backups made with pgBackRest. * a PMM client instance - a monitoring and management tool for PostgreSQL that provides a way to monitor and manage your database. It runs as a sidecar container in the database Pods. ### Primary, replicas, and high availability From bb3a94531f9ce51a73da81bdedc1fb17b6cfa138 Mon Sep 17 00:00:00 2001 From: Anastasia Alexandrova Date: Thu, 26 Mar 2026 13:32:50 +0100 Subject: [PATCH 4/5] Update docs/features.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/features.md b/docs/features.md index f034172b..ea893096 100644 --- a/docs/features.md +++ b/docs/features.md @@ -1,6 +1,6 @@ # Features and capabilities -Percona Operator for PostgreSQL is a Kubernetes-native controller that automatically manages the full lifecycle of [Percona Distribution for PostgreSQL :octicons-link-external-16:](https://www.percona.com/software/postgresql-distribution) clusters. The Operator offloads your teams from manual day-to-day database management operations empowering them to focus on tasks that matter instead. To learn how the Operator fits into Kubernetes, see [Kubernetes Operator concepts](operator-concepts.md). +Percona Operator for PostgreSQL is a Kubernetes-native controller that automatically manages the full lifecycle of [Percona Distribution for PostgreSQL :octicons-link-external-16:](https://www.percona.com/software/postgresql-distribution) clusters. The Operator offloads your team from manual day-to-day database management operations. This enables you to focus on tasks that matter instead. To learn how the Operator fits into Kubernetes, see [Kubernetes Operator concepts](operator-concepts.md). Here’s what the Operator brings to your infrastructure: From c5fe5f887a649964ba28ce43935b82469058a5ac Mon Sep 17 00:00:00 2001 From: Anastasia Alexandrova Date: Thu, 26 Mar 2026 13:32:59 +0100 Subject: [PATCH 5/5] Update docs/operator-concepts.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/operator-concepts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/operator-concepts.md b/docs/operator-concepts.md index ec6a7de1..40c6bf3f 100644 --- a/docs/operator-concepts.md +++ b/docs/operator-concepts.md @@ -2,7 +2,7 @@ If you already run workloads on Kubernetes, you are used to declaring *desired state* in YAML and letting controllers create Pods, Services, and other objects. A **Kubernetes Operator** applies the same idea to a whole application stack—such as a database cluster—so you do not have to assemble every low-level object by hand. -This page explains what Operators are in general and how **Percona Operator for PostgreSQL** fits in that model. For how reconciliation and Custom Resources work in practice, see [How the Operator works](operator-how-it-works.md). To learn more what the Operator manages, see [Architecture](architecture.md). +This page explains what Operators are in general and how **Percona Operator for PostgreSQL** fits in that model. For how reconciliation and Custom Resources work in practice, see [How the Operator works](operator-how-it-works.md). To learn more about what the Operator manages, see [Architecture](architecture.md). ## What is a Kubernetes Operator?