Skip to content

percona/percona-xtradb-cluster-operator

Repository files navigation

Percona Operator for MySQL based on Percona XtraDB Cluster

Percona Kubernetes Operators

License Docker Pulls Docker Image Size (latest by date) GitHub tag (latest by date) GitHub go.mod Go version Go Report Card

Percona Operator for MySQL based on Percona XtraDB Cluster (PXC) automates the creation and management of highly available, enterprise-ready MySQL database clusters on Kubernetes.

Within the Percona Operator for MySQL based on Percona XtraDB Cluster we have implemented our best practices for deployment and configuration Percona XtraDB Cluster instances in a Kubernetes-based environment on-premises or in the cloud. The Operator provides the following capabilities to keep the cluster healthy:

  • Easy deployment with no single point of failure
  • Load balancing and proxy service with either HAProxy or ProxySQL
  • Scheduled and manual backups
  • Integrated monitoring with Percona Monitoring and Management
  • Smart Update to keep your database software up to date automatically
  • Automated Password Rotation – use the standard Kubernetes API to enforce password rotation policies for system user
  • Private container image registries

While the Percona Operator is primarily managed through the command line, you can also use Percona Everest for a web-based user interface. This open-source tool provides a streamlined experience for provisioning and managing your databases, simplifying day-to-day tasks and reducing administrative overhead. Learn more about Percona Everest in the documentation or jump right in with the quickstart guide.

Architecture

Percona Operators are based on the Operator SDK and leverage Kubernetes primitives to follow best CNCF practices.

Please read more about architecture and design decisions.

Documentation

To learn more about the Operator, check the Percona Operator for MySQL based on Percona XtraDB Cluster documentation.

Quickstart installation

Ready to try out the Operator? Check the Quickstart tutorial for easy-to follow steps.

Below is one of the ways to deploy the Operator using kubectl.

kubectl

  1. Deploy the Operator from deploy/bundle.yaml:
kubectl apply -f https://raw.githubusercontent.com/percona/percona-xtradb-cluster-operator/main/deploy/bundle.yaml
  1. Deploy the database cluster itself from deploy/cr.yaml:
kubectl apply -f https://raw.githubusercontent.com/percona/percona-xtradb-cluster-operator/main/deploy/cr.yaml

See full documentation with examples and various advanced cases on percona.com.

Need help?

Commercial Support Community Support

Enterprise-grade assistance for your mission-critical MySQL deployments with the Percona Operator for MySQL. Get expert guidance for complex tasks like multi-cloud replication, database migration and building platforms.


Connect with our engineers and fellow users for general questions, troubleshooting, and sharing feedback and ideas.

Get Percona Support Visit our Forum

Contributing

Percona welcomes and encourages community contributions to help improve Percona Operator for MySQL.

See the Contribution Guide and Building and Testing Guide for more information on how you can contribute.

Roadmap

We have a public roadmap which can be found here. Please feel free to contribute and propose new features by following the roadmap guidelines.

Submitting Bug Reports

If you find a bug in Percona Docker Images or in one of the related projects, please submit a report to that project's JIRA issue tracker or create a GitHub issue in this repository.

Learn more about submitting bugs, new features ideas and improvements in the Contribution Guide.