Percona Operator for MySQL based on Percona Server for MySQL automates the creation and management of highly available, enterprise-ready MySQL database clusters on Kubernetes.
Percona Operator for MySQL based on Percona Server for MySQL follows our best practices for deployment and configuration of highly-available, fault-tolerant MySQL instances in a Kubernetes-based environment on-premises or in the cloud. It provides the following capabilities:
- Deploy group replication MySQL clusters with MySQL Router
- Deploy asynchronous replication MySQL clusters with Orchestrator and HAProxy
- Expose clusters with regular Kubernetes Services
- Monitor the cluster with Percona Monitoring and Management
- Customize MySQL configuration
- Manage system user passwords
This project is in the tech preview state right now. Don't use it on production.
As of today, we recommend using Percona Operator for MySQL based on Percona XtraDB Cluster, which is production-ready and contains everything you need to quickly and consistently deploy and scale MySQL clusters in a Kubernetes-based environment, on-premises or in the cloud.
Percona Operators are based on the Operator SDK and leverage Kubernetes primitives to follow best CNCF practices.
To learn more about the Operator, check the Percona Operator for MySQL documentation.
Ready to try out the Operator? Check the Quickstart tutorials for easy-to follow steps.
Below is one of the ways to deploy the Operator using kubectl
.
- Deploy the Operator from
deploy/bundle.yaml
:
kubectl apply -f https://raw.githubusercontent.com/percona/percona-server-mysql-operator/main/deploy/bundle.yaml
- Deploy the database cluster itself from
deploy/cr.yaml
:
kubectl apply -f https://raw.githubusercontent.com/percona/percona-server-mysql-operator/main/deploy/cr.yaml
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.
We would love to hear from you! Reach out to us on Forum with your questions, feedback and ideas
% _____
%%% | __ \
###%%%%%%%%%%%%* | |__) |__ _ __ ___ ___ _ __ __ _
### ##%% %%%% | ___/ _ \ '__/ __/ _ \| '_ \ / _` |
#### ##% %%%% | | | __/ | | (_| (_) | | | | (_| |
### #### %%% |_| \___|_| \___\___/|_| |_|\__,_|
,((### ### %%% _ _ _____ _
(((( (### #### %%%% | | / _ \ / ____| | |
((( ((# ###### | | _| (_) |___ | (___ __ _ _ _ __ _ __| |
(((( (((# #### | |/ /> _ </ __| \___ \ / _` | | | |/ _` |/ _` |
/(( ,((( *### | <| (_) \__ \ ____) | (_| | |_| | (_| | (_| |
//// ((( #### |_|\_\\___/|___/ |_____/ \__, |\__,_|\__,_|\__,_|
/// (((( #### | |
/////////////(((((((((((((((((######## |_| Join @ percona.com/k8s
You can get early access to new product features, invite-only ”ask me anything” sessions with Percona Kubernetes experts, and monthly swag raffles. Interested? Fill in the form at percona.com/k8s.
We have an experimental public roadmap which can be found here. Please feel free to contribute and propose new features by following the roadmap guidelines.
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.