
Percona Operators
Four free Kubernetes operators from Percona that run its builds of MySQL, PostgreSQL and MongoDB, each using the engine’s own replication and backup tools.
- What it is
- Relational databases,Container orchestration
- Type
- Open source
- Made by
- Percona
- License
- Apache 2.0 (operators). The databases they deploy keep their own licences: Percona Server for MongoDB is source-available under the SSPL
- Facts checked
- 6 October 2026
What it is
Percona has sold support for open-source databases since 2006 and publishes its own free builds of them: Percona Server for MySQL, Percona XtraDB Cluster, Percona Server for MongoDB and Percona Distribution for PostgreSQL, plus tools such as Percona XtraBackup and Percona Monitoring and Management (PMM). Its operators run those builds on Kubernetes. There is one per engine, each with its own custom resource and release cycle. The Operator for MySQL based on Percona XtraDB Cluster runs Galera synchronous replication, where every node takes writes and every write is confirmed by all nodes, so Percona recommends three to five nodes and an odd number; HAProxy or ProxySQL sits in front. The Operator for MySQL based on Percona Server runs MySQL Group Replication behind HAProxy or MySQL Router (generally available since 1.0.0 in November 2025), with asynchronous replication managed by Orchestrator still a tech preview.
The Operator for PostgreSQL is based on Crunchy Data’s PGO, so it uses Patroni for failover, pgBackRest for backups and PgBouncer for pooling; version 3.0 (May 2026) moved PGO’s resources to Percona’s own API group so the two operators can run side by side, and Percona documents a migration from PGO. The Operator for MongoDB runs replica sets and sharded clusters and backs them up with Percona Backup for MongoDB, whose agent runs beside each mongod and supports physical, incremental and snapshot backups with point-in-time recovery. The XtraDB Cluster operator backs up with XtraBackup to S3, Azure, Google Cloud Storage or a volume, and can upload binary logs every minute or so for point-in-time recovery. All four are Apache 2.0, Percona charges no licence fees for them or its images, and PMM can monitor them through a sidecar. Percona Everest, its web console on top of the operators, became the independent OpenEverest project in January 2026 and joined the CNCF Sandbox that March.
Why teams pick it
- One vendor and one style of operator across MySQL, PostgreSQL and MongoDB, with Apache 2.0 code and no licence fees for the images, unlike Crunchy’s PGO images
- Each operator builds on the engine’s own machinery: Galera or Group Replication, Patroni, MongoDB replica sets and sharding, and XtraBackup, pgBackRest or Percona Backup for MongoDB
- Monitoring through PMM, and a web console (OpenEverest) for teams who want self-service databases without writing YAML
- A documented path from Crunchy’s PGO, since the PostgreSQL operator shares its design
Watch out for
- Four separate operators with different resources, release cycles and maturity: the Percona Server for MySQL operator only reached GA in late 2025, and its asynchronous mode is still a tech preview
- They deploy Percona’s distributions rather than upstream images, and Percona Server for MongoDB inherits MongoDB’s source-available SSPL licence
- XtraDB Cluster’s synchronous replication adds latency to every write, and Percona advises against more than five nodes because each one adds more
- The operators are steered by one company and aren’t in a foundation; only the OpenEverest console has moved to the CNCF
Alternatives
What all relational databases have in common →
CedarDBCommercialA PostgreSQL-compatible database rebuilt from scratch at TU Munich, running transactions and analytics on one copy of the data on a single server.
CloudNativePGOpen sourceA Kubernetes operator that runs highly available PostgreSQL with no Patroni and no StatefulSets: the Kubernetes API itself holds the cluster’s state.
PatroniOpen sourceA Python agent beside each Postgres server that elects one primary through etcd, Consul, ZooKeeper or Kubernetes, and fails over when it dies.
PGO (Crunchy Postgres for Kubernetes)Open sourceCrunchy Data’s Postgres operator: Patroni in every pod for failover, pgBackRest for backups, and a declarative `PostgresCluster` resource on top.
ScramDBCommercialA brand-new, closed-source database that speaks the PostgreSQL protocol and promises transactions, analytics and vector search on one copy of the data; first builds shipped in summer 2026.How it fits with other technologies
What Percona Operators uses
- Percona Operatorsdeploy Percona’s builds ofMySQL
- Percona Operatorsdeploy Percona’s builds ofPostgreSQL
- Percona Operatorsdeploy Percona’s builds ofMongoDB
- Percona Operatorsrun databases as custom resources onKubernetes
- Percona Operatorsfail Postgres over withPatroni
- Percona Operatorsbase their Postgres operator onPGO (Crunchy Postgres for Kubernetes)
- Percona Operatorsstore database backups inAmazon S3
- Percona Operatorsstore database backups inGoogle Cloud Storage
- Percona Operatorsstore database backups inAzure Blob Storage
What uses Percona Operators
A three-node Percona XtraDB Cluster behind HAProxy, with nightly XtraBackup backups and binlog uploads to S3 · yaml
apiVersion: pxc.percona.com/v1
kind: PerconaXtraDBCluster
metadata:
name: cluster1
spec:
crVersion: 1.20.0
secretsName: cluster1-secrets
pxc:
size: 3 # Galera: use an odd number, 3 to 5
volumeSpec:
persistentVolumeClaim:
resources:
requests:
storage: 50G
haproxy:
enabled: true
size: 3
backup:
pitr:
enabled: true
storageName: s3-eu
timeBetweenUploads: 60 # seconds between binlog uploads
storages:
s3-eu:
type: s3
s3:
bucket: acme-mysql-backups
credentialsSecret: cluster1-backup-s3
region: eu-central-1
schedule:
- name: daily-backup
schedule: "0 0 * * *"
retention:
type: count
count: 5
deleteFromStorage: true
storageName: s3-euSee it in a real stack
No architecture uses Percona Operators yet. Drop it into the playground and wire it up yourself.Open playground →Worth exploring
Where it came from2006–2026
Peter Zaitsev and Vadim Tkachenko started Percona in 2006 to support MySQL. It went on to publish its own open builds and tools: XtraBackup for hot MySQL backups in 2009, Percona Server for MySQL in 2010, Percona XtraDB Cluster in 2012, Percona Server for MongoDB in 2015, and PostgreSQL support from 2018. Its business is support and services, so the software itself stays free.
As customers moved applications to Kubernetes, they wanted the databases there too. In 2019 Percona launched its Kubernetes operators: version 1.0.0 of the XtraDB Cluster and MongoDB operators both shipped on May 29, 2019. A PostgreSQL operator followed in 2021, built on Crunchy Data’s open-source PGO instead of from scratch, and an operator for Percona Server for MySQL with Group Replication, started the same year, reached general availability in November 2025.
By 2024 Percona was promoting Everest, a web console that provisions databases through these operators on any Kubernetes cluster. In January 2026 Percona handed it to an independent, multi-vendor project called OpenEverest, which the CNCF accepted into its Sandbox on March 15, 2026. That May the PostgreSQL operator’s 3.0 release renamed the resources it had inherited from PGO, so Percona’s and Crunchy’s operators can share a cluster and users can migrate between them.
Why it’s built this way
- One operator per database engine
- MySQL, PostgreSQL and MongoDB replicate and fail over in very different ways, so each operator wraps the engine’s own mechanism (Galera, Group Replication, Patroni, replica sets) instead of forcing one model on all three.
- Build the PostgreSQL operator on PGO
- Crunchy’s Apache-licensed operator already combined Patroni and pgBackRest, so Percona reused it and later renamed the inherited APIs to avoid clashing with PGO.
- Back up with each engine’s own tool
- XtraBackup, pgBackRest and Percona Backup for MongoDB already handle consistent physical backups and point-in-time recovery, and Percona maintains two of them.
- Free images as well as free code
- Percona makes money from support and services, and markets the operators as having no licence fees or lock-in, in contrast to vendors that restrict their production images.
Timeline
- 2006
Percona founded to support MySQL
- 2009
Percona XtraBackup launched
- 2019
XtraDB Cluster and MongoDB operators reach 1.0.0 on May 29
- 2021
Operator for PostgreSQL launched, based on Crunchy’s PGO
- 2025
Operator for Percona Server for MySQL reaches GA with Group Replication
- 2026
Everest becomes OpenEverest and joins the CNCF Sandbox; PostgreSQL operator 3.0
- Percona: About (history from 2006, product launches, operators in 2019)
- Percona Operator for MySQL based on Percona XtraDB Cluster: release notes (1.0.0, May 29, 2019)
- Percona Operator for MongoDB: release notes (1.0.0, May 29, 2019)
- Percona Operator for PostgreSQL README (based on Crunchy’s PGO)
- Percona Operator for PostgreSQL v3.0.0 release (May 2026): renamed Crunchy CRDs, migration from PGO
- Percona Operator for MySQL v1.0.0 release on GitHub (Nov 2025)
- OpenEverest blog: Percona Everest transitions to OpenEverest (Jan 6, 2026)
- CNCF: OpenEverest project page (accepted at Sandbox, Mar 15, 2026)
- CNCF blog: Kubernetes for databases, weighing the pros and cons (Percona, Nov 2024; promotes Percona Everest)
Sources18 · facts checked 6 October 2026
- Percona: Cloud native (the four operators, no licensing fees)
- Percona: About (open source database software and support since 2006)
- Percona XtraDB Cluster Operator README (HAProxy or ProxySQL, PMM, Apache 2.0)
- Percona XtraDB Cluster Operator docs: Design and architecture (3 to 5 nodes, odd numbers, Galera)
- Percona XtraDB Cluster Operator docs: About backups (XtraBackup, S3, Azure, GCP, volumes, sidecar method)
- Percona XtraDB Cluster Operator: example cr.yaml (storages, schedules, PITR binlog uploads)
- Percona Operator for MySQL (Percona Server) README: Group Replication GA, asynchronous mode tech preview
- Percona Operator for PostgreSQL README (based on PGO, Everest UI)
- Percona Operator for PostgreSQL LICENSE (Apache 2.0; Crunchy Data and Percona copyrights)
- Percona Operator for PostgreSQL docs: Architecture (Patroni, pgBackRest, PgBouncer, PMM client)
- Percona Operator for PostgreSQL v3.0.0 release (CRD rename, migration from Crunchy PGO)
- Percona Operator for MongoDB README (replica sets, sharding, Everest)
- Percona Operator for MongoDB docs: About backups (Percona Backup for MongoDB, incremental, snapshots, PITR)
- Percona Server for MongoDB licence (Server Side Public License)
- OpenEverest README (web console, v1 and v2)
- OpenEverest blog: Percona Everest transitions to OpenEverest (Jan 2026)
- CNCF: OpenEverest project page (Sandbox, Mar 2026)
- Crunchy Data Developer Program terms of use (limits on PGO’s images)