31.01.2026

Operador do Percona XtraDB Cluster: MySQL de alta disponibilidade no Kubernetes

Modernas aplicações exigem bancos de dados que não sejam apenas performáticos, mas também altamente disponíveis, escaláveis e fáceis de operar. Gerenciar clusters MySQL manualmente no Kubernetes pode ser complexo e propenso a erros, especialmente quando se trata de replicação, failover, backups e atualizações.
O Percona XtraDB Cluster Operator resolve esses problemas automatizando a implantação e o gerenciamento do ciclo de vida de clusters MySQL baseados no Percona XtraDB Cluster (PXC) dentro do Kubernetes.

Este artigo explica o que é o operador, como ele funciona, onde é útil na prática, como instalá-lo e responde às perguntas mais comuns.

 

O que é o Percona XtraDB Cluster Operator?

O Percona XtraDB Cluster Operator é um operador Kubernetes que automatiza a criação, configuração e o gerenciamento do Percona XtraDB Cluster (PXC) — uma solução de banco de dados compatível com MySQL e altamente disponível, baseada em replicação síncrona (Galera).

O operador segue o padrão Kubernetes Operator:

  1. Você descreve o estado desejado do banco de dados usando Custom Resource Definitions (CRDs)
  2. O operador garante continuamente que o estado real do cluster corresponda a essa configuração desejada

Os principais recursos incluem:

Repositório no GitHub:
https://github.com/percona/percona-xtradb-cluster-operator

Por que usar o Percona XtraDB Cluster Operator?

Executar MySQL no Kubernetes sem um operador geralmente significa:

O operador abstrai toda essa complexidade e oferece:

Ele é especialmente útil para equipes que estão adotando Kubernetes, mas ainda dependem fortemente de bancos de dados relacionais.

Casos de Uso Práticos

1. MySQL altamente disponível para microserviços

Uma arquitetura típica de microserviços geralmente depende de vários serviços backend acessando o mesmo banco de dados. Com o Percona XtraDB Cluster, vários nós MySQL são executados simultaneamente, enquanto as operações de escrita são replicadas de forma síncrona entre todos os nós. Se um pod falhar, o tráfego é automaticamente redirecionado para nós saudáveis, garantindo disponibilidade contínua. Essa abordagem reduz significativamente o tempo de inatividade e evita inconsistências de dados em sistemas distribuídos.

2. Backups automatizados e recuperação de desastres

O operador oferece suporte a backups agendados para storage compatível com S3, bem como backups sob demanda, permitindo que as equipes protejam dados sem intervenção manual. Com a configuração adequada, a recuperação ponto-no-tempo também está disponível, possibilitando restaurar o banco de dados para um momento específico. Esses recursos são especialmente úteis em cenários como recuperação após exclusão acidental de dados, restauração de bancos em novos clusters Kubernetes ou clonagem de ambientes de produção para staging.

3. Escalonamento de clusters de banco de dados

O escalonamento é realizado de forma declarativa, ajustando o número de nós PXC definidos no Custom Resource. O operador gerencia com segurança o processo de adição ou remoção de nós, garantindo estabilidade do cluster e consistência dos dados. Essa abordagem é particularmente útil durante picos de tráfego, aumentos sazonais de carga ou no planejamento gradual de capacidade conforme as demandas da aplicação crescem.

4. Atualizações e manutenção seguras

O operador suporta atualizações rolling ao atualizar os nós do cluster um a um, mantendo o banco de dados disponível durante todo o processo. Isso garante que a disponibilidade do cluster seja preservada e elimina a necessidade de intervenção manual. Como resultado, o risco operacional durante atualizações de versão do MySQL ou do Kubernetes é significativamente reduzido.

Guia de Instalação

Abaixo está um fluxo de instalação simplificado. Ambientes de produção completos podem exigir ajustes adicionais.

Pré-requisitos:

  1. Cluster Kubernetes (v1.22+ recomendado)
  2. kubectl instalado
  3. Helm (opcional, mas recomendado)
  4. Armazenamento persistente configurado

Passo 1: Clonar o repositório (opcional)

git clone https://github.com/percona/percona-xtradb-cluster-operator.git
cd percona-xtradb-cluster-operator

Passo 2: Instalar o operador

Usando manifests:

kubectl apply -f deploy/bundle.yaml

Ou usando Helm (recomendado):

helm repo add percona [https://percona.github.io/percona-helm-charts/

(https://percona.github.io/percona-helm-charts/[/code)]

helm repo update
helm install pxc-operator percona/pxc-operator

Passo 3: Implantar um cluster MySQL

Crie um Custom Resource, por exemplo:

apiVersion: pxc.percona.com/v1
kind: PerconaXtraDBCluster
metadata:
name: my-cluster
spec:
pxc:
size: 3
image: percona/percona-xtradb-cluster:8.0
haproxy:
enabled: true
size: 2

Aplique:

kubectl apply -f cluster.yaml

O operador irá:

  1. Criar pods
  2. Configurar a replicação
  3. Expor serviços
  4. Garantir a saúde do cluster

Perguntas Frequentes (FAQ)

Conclusão

O Percona XtraDB Cluster Operator é uma solução poderosa e pronta para produção para executar MySQL altamente disponível no Kubernetes. Ele elimina grande parte da carga operacional tradicionalmente associada a clusters de banco de dados e a substitui por uma abordagem declarativa, automatizada e cloud-native.

Se o seu projeto exige forte consistência, alta disponibilidade, operações automatizadas e fluxos de trabalho nativos do Kubernetes,

então o Percona XtraDB Cluster Operator é uma escolha sólida e comprovada.

Para mais detalhes, exemplos e configurações avançadas, visite o repositório oficial no GitHub: [https://github.com/percona/percona-xtradb-cluster-operator](https://github.com/percona/percona-xtradb-cluster-operator)