Skip to content

Custom Resource options reference

Percona Operator for MySQL uses Custom Resources to manage options for the various components of the cluster.

  • PerconaXtraDBCluster Custom Resource with Percona XtraDB Cluster options,
  • PerconaXtraDBClusterBackup and PerconaXtraDBClusterRestore Custom Resources contain options for Percona XtraBackup used to backup Percona XtraDB Cluster and to restore it from backups.

PerconaXtraDBCluster Custom Resource options

PerconaXtraDBCluster Custom Resource contains options for Percona XtraDB Cluster and can be configured via the deploy/cr.yaml configuration file.

The metadata part contains the following keys:

  • name (cluster1 by default) sets the name of your Percona XtraDB Cluster; it should include only URL-compatible characters , not exceed 22 characters, start with an alphabetic character, and end with an alphanumeric character;
  • finalizers subsection:
    • percona.com/delete-pods-in-order if present, activates the Finalizer which controls the proper Pods deletion order in case of the cluster deletion event (on by default).
    • percona.com/delete-pxc-pvc if present, activates the Finalizer which deletes Persistent Volume Claims for Percona XtraDB Cluster Pods after the cluster deletion event (off by default).
    • percona.com/delete-proxysql-pvc if present, activates the Finalizer which deletes Persistent Volume Claim for ProxySQL Pod after the cluster deletion event (off by default).
    • percona.com/delete-ssl if present, activates the Finalizer which deletes objects, created for SSL (Secret, certificate, and issuer) after the cluster deletion event (off by default).

The toplevel spec elemets of the deploy/cr.yaml are the following ones:

allowUnsafeConfigurations

Prevents users from configuring a cluster with unsafe parameters such as starting the cluster with the number of Percona XtraDB Cluster instances which is less than 3, more than 5, or is an even number, with less than 2 ProxySQL or HAProxy Pods, or without TLS/SSL certificates. This option is deprecated and will be removed in future releases. Use unsafeFlags subsection instead.

Value type Example
boolean false

enableCRValidationWebhook

Enables or disables schema validation before applying cr.yaml file (works only in cluster-wide mode due to access restrictions).

Value type Example
boolean true

enableVolumeExpansion

Enables or disables automatic storage scaling / volume expansion.

Value type Example
boolean false

pause

Pause/resume: setting it to true gracefully stops the cluster, and setting it to false after shut down starts the cluster back.

Value type Example
boolean false

secretsName

A name for users secrets.

Value type Example
string cluster1-secrets

crVersion

Version of the Operator the Custom Resource belongs to.

Value type Example
string 1.16.0

ignoreAnnotations

The list of annotations to be ignored by the Operator.

Value type Example
subdoc iam.amazonaws.com/role

ignoreLabels

The list of labels to be ignored by the Operator.

Value type Example
subdoc rack

vaultSecretName

A secret for the HashiCorp Vault to carry on Data at Rest Encryption.

Value type Example
string keyring-secret-vault

sslSecretName

A secret with TLS certificate generated for external communications, see Transport Layer Security (TLS) for details.

Value type Example
string cluster1-ssl

sslInternalSecretName

A secret with TLS certificate generated for internal communications, see Transport Layer Security (TLS) for details.

Value type Example
string cluster1-ssl-internal

logCollectorSecretName

A secret for the Fluent Bit Log Collector.

Value type Example
string my-log-collector-secrets

initImage

An alternative image for the initial Operator installation. This option is deprecated and will be removed in future releases. Use initContainer.image instead.

Value type Example
string percona/percona-xtradb-cluster-operator:1.16.0

updateStrategy

A strategy the Operator uses for upgrades.

Value type Example
string SmartUpdate

Unsafe flags section

The unsafeFlags section in the deploy/cr.yaml file contains various configuration options to prevent users from configuring a cluster with unsafe parameters.

unsafeFlags.tls

Allows users to configure a cluster without TLS/SSL certificates (if false, the Operator will detect unsafe parameters, set cluster status to error, and print error message in logs).

Value type Example
boolean false

unsafeFlags.pxcSize

Allows users to configure a cluster with less than 3 Percona XtraDB Cluster instances (if false, the Operator will detect unsafe parameters, set cluster status to error, and print error message in logs).

Value type Example
boolean false

unsafeFlags.proxySize

Allows users to configure a cluster with less than 2 ProxySQL or HAProxy Pods (if false, the Operator will detect unsafe parameters, set cluster status to error, and print error message in logs).

Value type Example
boolean false

unsafeFlags.backupIfUnhealthy

Allows running a backup even if the cluster status is not ready.

Value type Example
boolean false

initContainer configuration section

The initContainer section in the deploy/cr.yaml file allows providing an alternative image with various options for the initial Operator installation.

initContainer.image

An alternative image for the initial Operator installation.

Value type Example
string percona/percona-xtradb-cluster-operator:1.16.0

initContainer.containerSecurityContext

A custom Kubernetes Security Context for a Container for the image used for the initial Operator installation.

Value type Example
subdoc
privileged: false
runAsUser: 1001
runAsGroup: 1001

initContainer.resources.requests.memory

The Kubernetes memory requests for an image used while the initial Operator installation.

Value type Example
string 1G

initContainer.resources.requests.cpu

Kubernetes CPU requests for an image used while the initial Operator installation.

Value type Example
string 600m

initContainer.resources.limits.memory

Kubernetes memory limits for an image used while the initial Operator installation.

Value type Example
string 1G

initContainer.resources.limits.cpu

Kubernetes CPU limits for an image used while the initial Operator installation.

Value type Example
string 1

TLS (extended cert-manager configuration section)

The tls section in the deploy/cr.yaml file contains various configuration options for additional customization of the TLS cert-manager.

tls.enabled

Enables or disables the TLS encryption. If set to false, it also requires setting unsafeFlags.tls option totrue`.

Value type Example
boolean true

tls.SANs

Additional domains (SAN) to be added to the TLS certificate within the extended cert-manager configuration.

Value type Example
subdoc

tls.issuerConf.name

A cert-manager issuer name .

Value type Example
string special-selfsigned-issuer

tls.issuerConf.kind

A cert-manager issuer type .

Value type Example
string ClusterIssuer

tls.issuerConf.group

A cert-manager issuer group . Should be cert-manager.io for built-in cert-manager certificate issuers.

Value type Example
string cert-manager.io

Upgrade options section

The upgradeOptions section in the deploy/cr.yaml file contains various configuration options to control Percona XtraDB Cluster upgrades.

upgradeOptions.versionServiceEndpoint

The Version Service URL used to check versions compatibility for upgrade.

Value type Example
string https://check.percona.com

upgradeOptions.apply

Specifies how updates are processed by the Operator. Never or Disabled will completely disable automatic upgrades, otherwise it can be set to Latest or Recommended or to a specific version string of Percona XtraDB Cluster (e.g. 8.0.19-10.1) that is wished to be version-locked (so that the user can control the version running, but use automatic upgrades to move between them).

Value type Example
string Disabled

upgradeOptions.schedule

Scheduled time to check for updates, specified in the crontab format .

Value type Example
string 0 2 \* \* \*

PXC section

The pxc section in the deploy/cr.yaml file contains general configuration options for the Percona XtraDB Cluster.

pxc.size

The size of the Percona XtraDB cluster must be 3 or 5 for High Availability . Other values are allowed if the spec.unsafeFlags.pxcSize key is set to true.

Value type Example
int 3

pxc.image

The Docker image of the Percona cluster used (actual image names for Percona XtraDB Cluster 8.0 and Percona XtraDB Cluster 5.7 can be found in the list of certified images).

Value type Example
string percona/percona-xtradb-cluster:8.0.39-30.1

pxc.autoRecovery

Turns Automatic Crash Recovery on or off.

Value type Example
boolean true

pxc.expose.enabled

Enable or disable exposing Percona XtraDB Cluster instances with dedicated IP addresses.

Value type Example
boolean true

pxc.expose.type

The Kubernetes Service Type used for exposure.

Value type Example
string LoadBalancer

pxc.expose.trafficPolicy

Specifies whether Service should route external traffic to cluster-wide or node-local endpoints (it can influence the load balancing effectiveness) This option is deprecated and will be removed in future releases. Use pxc.expose.externalTrafficPolicy instead.

Value type Example
string Local

pxc.expose.externalTrafficPolicy

Specifies whether Service for Percona XtraDB Cluster should route external traffic to cluster-wide or to node-local endpoints (it can influence the load balancing effectiveness).

Value type Example
string Local

pxc.expose.internalTrafficPolicy

Specifies whether Service for Percona XtraDB Cluster should route internal traffic to cluster-wide or to node-local endpoints (it can influence the load balancing effectiveness).

Value type Example
string Local

pxc.expose.loadBalancerSourceRanges

The range of client IP addresses from which the load balancer should be reachable (if not set, there is no limitations).

Value type Example
string 10.0.0.0/8

pxc.expose.loadBalancerIP

The static IP-address for the load balancer.

Value type Example
string 127.0.0.1

pxc.expose.annotations

The Kubernetes annotations .

Value type Example
string networking.gke.io/load-balancer-type: "Internal"

pxc.replicationChannels.name

Name of the replication channel for cross-site replication.

Value type Example
string pxc1_to_pxc2

pxc.replicationChannels.isSource

Should the cluster act as Source (true) or Replica (false) in cross-site replication.

Value type Example
boolean false

pxc.replicationChannels.configuration.sourceRetryCount

Number of retries Replica should do when the existing connection source fails.

Value type Example
int 3

pxc.replicationChannels.configuration.sourceConnectRetry

The interval between reconnection attempts in seconds to be used by Replica when the the existing connection source fails.

Value type Example
int 60

pxc.replicationChannels.configuration.ssl

Turns SSL for replication channels on or off.

Value type Example
boolean false

pxc.replicationChannels.configuration.sslSkipVerify

Turns the host name identity verification for SSL-based replication on or off.

Value type Example
boolean true

pxc.replicationChannels.configuration.ca

The path name of the Certificate Authority (CA) certificate file to be used if the SSL for replication channels is turned on.

Value type Example
string /etc/mysql/ssl/ca.crt

pxc.replicationChannels.sourcesList.host

For the cross-site replication Replica cluster, this key should contain the hostname or IP address of the Source cluster.

Value type Example
string 10.95.251.101

pxc.replicationChannels.sourcesList.port

For the cross-site replication Replica cluster, this key should contain the Source port number.

Value type Example
int 3306

pxc.replicationChannels.sourcesList.weight

For the cross-site replication Replica cluster, this key should contain the Source cluster weight (varies from 1 to 100, the cluster with the higher number will be selected as the replication source first).

Value type Example
int 100

pxc.readinessDelaySec

Adds a delay before a run check to verify the application is ready to process traffic.

Value type Example
int 15

pxc.livenessDelaySec

Adds a delay before the run check ensures the application is healthy and capable of processing requests.

Value type Example
int 300

pxc.configuration

The my.cnf file options to be passed to Percona XtraDB cluster nodes.

Value type Example
string
|
[mysqld]
wsrep_debug=ON
wsrep-provider_options=gcache.size=1G;gcache.recover=yes

pxc.imagePullSecrets.name

The Kubernetes ImagePullSecret .

Value type Example
string private-registry-credentials

pxc.priorityClassName

The Kubernetes Pod priority class .

Value type Example
string high-priority

pxc.schedulerName

The Kubernetes Scheduler .

Value type Example
string mycustom-scheduler

pxc.annotations

The Kubernetes annotations .

Value type Example
label iam.amazonaws.com/role: role-arn

pxc.labels

Labels are key-value pairs attached to objects .

Value type Example
label rack: rack-22

pxc.readinessProbes.initialDelaySeconds

Number of seconds to wait before performing the first readiness probe .

Value type Example
int 15

pxc.readinessProbes.timeoutSeconds

Number of seconds after which the readiness probe times out.

Value type Example
int 15

pxc.readinessProbes.periodSeconds

How often (in seconds) to perform the readiness probe .

Value type Example
int 30

pxc.readinessProbes.successThreshold

Minimum consecutive successes for the readiness probe to be considered successful after having failed.

Value type Example
int 1

pxc.readinessProbes.failureThreshold

When the readiness probe fails, Kubernetes will try this number of times before marking the Pod Unready.

Value type Example
int 5

pxc.livenessProbes.initialDelaySeconds

Number of seconds to wait before performing the first liveness probe .

Value type Example
int 300

pxc.livenessProbes.timeoutSeconds

Number of seconds after which the liveness probe times out.

Value type Example
int 5

pxc.livenessProbes.periodSeconds

How often (in seconds) to perform the liveness probe .

Value type Example
int 10

pxc.livenessProbes.successThreshold

Minimum consecutive successes for the liveness probe to be considered successful after having failed.

Value type Example
int 1

pxc.livenessProbes.failureThreshold

When the liveness probe fails, Kubernetes will try this number of times before restarting the container.

Value type Example
int 3

pxc.envVarsSecret

A secret with environment variables, see Define environment variables for details.

Value type Example
string my-env-var-secrets

pxc.resources.requests.memory

The Kubernetes memory requests for a Percona XtraDB Cluster container.

Value type Example
string 1G

pxc.resources.requests.cpu

Kubernetes CPU requests for a Percona XtraDB Cluster container.

Value type Example
string 600m

pxc.resources.requests.ephemeral-storage

Kubernetes Ephemeral Storage requests for a Percona XtraDB Cluster container.

Value type Example
string 1G

pxc.resources.limits.memory

Kubernetes memory limits for a Percona XtraDB Cluster container.

Value type Example
string 1G

pxc.resources.limits.cpu

Kubernetes CPU limits for a Percona XtraDB Cluster container.

Value type Example
string 1

pxc.resources.limits.ephemeral-storage

Kubernetes Ephemeral Storage limits for a Percona XtraDB Cluster container.

Value type Example
string 1G

pxc.nodeSelector

Kubernetes nodeSelector .

Value type Example
label disktype: ssd

pxc.topologySpreadConstraints.labelSelector.matchLabels

The Label selector for the Kubernetes Pod Topology Spread Constraints .

Value type Example
label app.kubernetes.io/name: percona-xtradb-cluster-operator

pxc.topologySpreadConstraints.maxSkew

The degree to which Pods may be unevenly distributed under the Kubernetes Pod Topology Spread Constraints .

Value type Example
int 1

pxc.topologySpreadConstraints.topologyKey

The key of node labels for the Kubernetes Pod Topology Spread Constraints .

Value type Example
string kubernetes.io/hostname

pxc.topologySpreadConstraints.whenUnsatisfiable

What to do with a Pod if it doesn’t satisfy the Kubernetes Pod Topology Spread Constraints .

Value type Example
string DoNotSchedule

pxc.affinity.topologyKey

The Operator topology key node anti-affinity constraint.

Value type Example
string kubernetes.io/hostname

pxc.affinity.advanced

In cases where the Pods require complex tuning the advanced option turns off the topologyKey effect. This setting allows the standard Kubernetes affinity constraints of any complexity to be used.

Value type Example
subdoc

pxc.tolerations

Kubernetes Pod tolerations .

Value type Example
subdoc node.alpha.kubernetes.io/unreachable

pxc.podDisruptionBudget.maxUnavailable

The Kubernetes podDisruptionBudget specifies the number of Pods from the set unavailable after the eviction.

Value type Example
int 1

pxc.podDisruptionBudget.minAvailable

The Kubernetes podDisruptionBudget Pods that must be available after an eviction.

Value type Example
int 0

pxc.volumeSpec.emptyDir

The Kubernetes emptyDir volume The directory created on a node and accessible to the Percona XtraDB Cluster Pod containers.

Value type Example
string {}

pxc.volumeSpec.hostPath.path

Kubernetes hostPath The volume that mounts a directory from the host node’s filesystem into your Pod. The path property is required.

Value type Example
string /data

pxc.volumeSpec.hostPath.type

The Kubernetes hostPath . An optional property for the hostPath.

Value type Example
string Directory

pxc.volumeSpec.persistentVolumeClaim.storageClassName

Set the Kubernetes storage class to use with the Percona XtraDB Cluster PersistentVolumeClaim .

Value type Example
string standard

pxc.volumeSpec.persistentVolumeClaim.accessModes

The Kubernetes PersistentVolumeClaim access modes for the Percona XtraDB cluster.

Value type Example
array [ReadWriteOnce]

pxc.volumeSpec.persistentVolumeClaim.dataSource.name

The name of PVC used as a data source to create the Percona XtraDB Cluster Volumes by cloning .

Value type Example
string new-snapshot-test

pxc.volumeSpec.persistentVolumeClaim.dataSource.kind

The Kubernetes DataSource type .

Value type Example
string VolumeSnapshot

pxc.volumeSpec.persistentVolumeClaim.dataSource.apiGroup

The Kubernetes API group to use for PVC Data Source .

Value type Example
string snapshot.storage.k8s.io

pxc.gracePeriod

The Kubernetes grace period when terminating a Pod .

Value type Example
int 600

pxc.containerSecurityContext

A custom Kubernetes Security Context for a Container to be used instead of the default one.

Value type Example
subdoc privileged: true

pxc.podSecurityContext

A custom Kubernetes Security Context for a Pod to be used instead of the default one.

Value type Example
subdoc
fsGroup: 1001
supplementalGroups: [1001, 1002, 1003]

pxc.serviceAccountName

The Kubernetes Service Account for Percona XtraDB Cluster Pods.

Value type Example
string percona-xtradb-cluster-operator-workload

pxc.imagePullPolicy

The policy used to update images .

Value type Example
string Always

pxc.runtimeClassName

Name of the Kubernetes Runtime Class for Percona XtraDB Cluster Pods.

Value type Example
string image-rc

pxc.sidecars.image

Image for the custom sidecar container for Percona XtraDB Cluster Pods.

Value type Example
string busybox

pxc.sidecars.command

Command for the custom sidecar container for Percona XtraDB Cluster Pods.

Value type Example
array ["/bin/sh"]

pxc.sidecars.args

Command arguments for the custom sidecar container for Percona XtraDB Cluster Pods.

Value type Example
array ["-c", "while true; do trap 'exit 0' SIGINT SIGTERM SIGQUIT SIGKILL; done;"]

pxc.sidecars.name

Name of the custom sidecar container for Percona XtraDB Cluster Pods.

Value type Example
string my-sidecar-1

pxc.sidecars.resources.requests.memory

The Kubernetes memory requests for a Percona XtraDB Cluster sidecar container.

Value type Example
string 1G

pxc.sidecars.resources.requests.cpu

Kubernetes CPU requests for a Percona XtraDB Cluster sidecar container.

Value type Example
string 500m

pxc.sidecars.resources.limits.memory

Kubernetes memory limits for a Percona XtraDB Cluster sidecar container.

Value type Example
string 2G

pxc.sidecars.resources.limits.cpu

Kubernetes CPU limits for a Percona XtraDB Cluster sidecar container.

Value type Example
string 600m

pxc.lifecycle.preStop.exec.command

Command for the preStop lifecycle hook for Percona XtraDB Cluster Pods.

Value type Example
array ["/bin/true"]

pxc.lifecycle.postStart.exec.command

Command for the postStart lifecycle hook for Percona XtraDB Cluster Pods.

Value type Example
array ["/bin/true"]

HAProxy section

The haproxy section in the deploy/cr.yaml file contains configuration options for the HAProxy service.

haproxy.enabled

Enables or disables load balancing with HAProxy Services .

Value type Example
boolean true

haproxy.size

The number of the HAProxy Pods to provide load balancing . It should be 2 or more unless the spec.unsafeFlags.proxySize key is set to true.

Value type Example
int 2

haproxy.image

HAProxy Docker image to use.

Value type Example
string percona/percona-xtradb-cluster-operator:1.16.0-haproxy

haproxy.imagePullPolicy

The policy used to update images .

Value type Example
string Always

haproxy.imagePullSecrets.name

The Kubernetes imagePullSecrets for the HAProxy image.

Value type Example
string private-registry-credentials

haproxy.readinessDelaySec

Adds a delay before a run check to verify the application is ready to process traffic.

Value type Example
int 15

haproxy.livenessDelaySec

Adds a delay before the run check ensures the application is healthy and capable of processing requests.

Value type Example
int 300

haproxy.configuration

The custom HAProxy configuration file contents.

Value type Example
string

haproxy.annotations

The Kubernetes annotations metadata.

Value type Example
label iam.amazonaws.com/role: role-arn

haproxy.labels

Labels are key-value pairs attached to objects .

Value type Example
label rack: rack-22

haproxy.readinessProbes.initialDelaySeconds

Number of seconds to wait before performing the first readiness probe .

Value type Example
int 15

haproxy.readinessProbes.timeoutSeconds

Number of seconds after which the readiness probe times out.

Value type Example
int 1

haproxy.readinessProbes.periodSeconds

How often (in seconds) to perform the readiness probe .

Value type Example
int 5

haproxy.readinessProbes.successThreshold

Minimum consecutive successes for the readiness probe to be considered successful after having failed.

Value type Example
int 1

haproxy.readinessProbes.failureThreshold

When the readiness probe fails, Kubernetes will try this number of times before marking the Pod Unready.

Value type Example
int 3

haproxy.serviceType

Specifies the type of Kubernetes Service to be used for HAProxy. This option is deprecated and will be removed in future releases. Use haproxy.exposePrimary.type instead.

Value type Example
string ClusterIP

haproxy.externalTrafficPolicy

Specifies whether Service for HAProxy should route external traffic to cluster-wide or to node-local endpoints (it can influence the load balancing effectiveness). This option is deprecated and will be removed in future releases. Use haproxy.exposePrimary.externalTrafficPolicy instead.

Value type Example
string Cluster

haproxy.livenessProbes.initialDelaySeconds

Number of seconds to wait before performing the first liveness probe .

Value type Example
int 60

haproxy.livenessProbes.timeoutSeconds

Number of seconds after which the liveness probe times out.

Value type Example
int 5

haproxy.livenessProbes.periodSeconds

How often (in seconds) to perform the liveness probe .

Value type Example
int 30

haproxy.livenessProbes.successThreshold

Minimum consecutive successes for the liveness probe to be considered successful after having failed.

Value type Example
int 1

haproxy.readinessProbes.failureThreshold

When the liveness probe fails, Kubernetes will try this number of times before marking the Pod Unready.

Value type Example
int 4

haproxy.resources.requests.memory

The Kubernetes memory requests for the main HAProxy container.

Value type Example
string 1G

haproxy.resources.requests.cpu

Kubernetes CPU requests for the main HAProxy container.

Value type Example
string 600m

haproxy.resources.limits.memory

Kubernetes memory limits for the main HAProxy container.

Value type Example
string 1G

haproxy.resources.limits.cpu

Kubernetes CPU limits for the main HAProxy container.

Value type Example
string 700m

haproxy.envVarsSecret

A secret with environment variables, see Define environment variables for details.

Value type Example
string my-env-var-secrets

haproxy.priorityClassName

The Kubernetes Pod Priority class for HAProxy.

Value type Example
string high-priority

haproxy.schedulerName

The Kubernetes Scheduler .

Value type Example
string mycustom-scheduler

haproxy.nodeSelector

Kubernetes nodeSelector .

Value type Example
label disktype: ssd

haproxy.topologySpreadConstraints.labelSelector.matchLabels

The Label selector for the Kubernetes Pod Topology Spread Constraints .

Value type Example
label app.kubernetes.io/name: percona-xtradb-cluster-operator

haproxy.topologySpreadConstraints.maxSkew

The degree to which Pods may be unevenly distributed under the Kubernetes Pod Topology Spread Constraints .

Value type Example
int 1

haproxy.topologySpreadConstraints.topologyKey

The key of node labels for the Kubernetes Pod Topology Spread Constraints .

Value type Example
string kubernetes.io/hostname

haproxy.topologySpreadConstraints.whenUnsatisfiable

What to do with a Pod if it doesn’t satisfy the Kubernetes Pod Topology Spread Constraints .

Value type Example
string DoNotSchedule

haproxy.affinity.topologyKey

The Operator topology key node anti-affinity constraint.

Value type Example
string kubernetes.io/hostname

haproxy.affinity.advanced

If available it makes a topologyKey node affinity constraint to be ignored.

Value type Example
subdoc

haproxy.tolerations

Kubernetes Pod tolerations .

Value type Example
subdoc node.alpha.kubernetes.io/unreachable

haproxy.podDisruptionBudget.maxUnavailable

The Kubernetes podDisruptionBudget specifies the number of Pods from the set unavailable after the eviction.

Value type Example
int 1

haproxy.podDisruptionBudget.minAvailable

The Kubernetes podDisruptionBudget Pods that must be available after an eviction.

Value type Example
int 0

haproxy.gracePeriod

The Kubernetes grace period when terminating a Pod .

Value type Example
int 30

haproxy.exposePrimary.enabled

Enables or disables the HAProxy primary instance Service.

Value type Example
boolean false

haproxy.exposePrimary.type

Specifies the type of Kubernetes Service to be used for HAProxy primary instance Service.

Value type Example
string ClusterIP

haproxy.exposePrimary.externalTrafficPolicy

Specifies whether Service for HAProxy should route external traffic to cluster-wide or to node-local endpoints (it can influence the load balancing effectiveness).

Value type Example
string Cluster

haproxy.exposePrimary.internalTrafficPolicy

Specifies whether Service for HAProxy primary instance should route internal traffic to cluster-wide or to node-local endpoints (it can influence the load balancing effectiveness).

Value type Example
string Cluster

haproxy.exposePrimary.loadBalancerSourceRanges

The range of client IP addresses from which the load balancer should be reachable (if not set, there is no limitations).

Value type Example
string 10.0.0.0/8

haproxy.exposePrimary.loadBalancerIP

The static IP-address for the load balancer.

Value type Example
string 127.0.0.1

haproxy.serviceLabels

The Kubernetes labels for the load balancer Service. This option is deprecated and will be removed in future releases. Use haproxy.exposePrimary.labels instead.

Value type Example
label rack: rack-22

haproxy.exposePrimary.labels

The Kubernetes labels for the load balancer Service.

Value type Example
label rack: rack-22

haproxy.serviceAnnotations

The Kubernetes annotations metadata for the load balancer Service. This option is deprecated and will be removed in future releases. Use haproxy.exposePrimary.annotations instead.

Value type Example
string service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp

haproxy.exposePrimary.annotations

The Kubernetes annotations metadata for the load balancer Service.

Value type Example
string service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp

haproxy.replicasServiceEnabled

Enables or disables haproxy-replicas Service. This Service (on by default) forwards requests to all Percona XtraDB Cluster instances, and it should not be used for write requests! This option is deprecated and will be removed in future releases. Use haproxy.exposeReplicas.enabled instead.

Value type Example
boolean false

haproxy.exposeReplicas.enabled

Enables or disables haproxy-replicas Service. This Service default forwards requests to all Percona XtraDB Cluster instances, and it should not be used for write requests!

Value type Example
boolean true

haproxy.exposeReplicas.onlyReaders

Setting it to true excludes current MySQL primary instance (writer) from the list of Pods, to which haproxy-replicas Service directs connections, leaving only the reader instances.

Value type Example
boolean false

haproxy.replicasLoadBalancerSourceRanges

The range of client IP addresses from which the load balancer should be reachable (if not set, no limitations). This option is deprecated and will be removed in future releases. Use haproxy.exposeReplicas.loadBalancerSourceRanges instead.

Value type Example
string 10.0.0.0/8

haproxy.exposeReplicas.loadBalancerSourceRanges

The range of client IP addresses from which the load balancer should be reachable (if not set, no limitations).

Value type Example
string 10.0.0.0/8

haproxy.replicasLoadBalancerIP

The static IP-address for the replicas load balancer. This option is deprecated and will be removed in future releases. Use haproxy.exposeReplicas.loadBalancerIP instead.

Value type Example
string 127.0.0.1

haproxy.exposeReplicas.loadBalancerIP

The static IP-address for the replicas load balancer.

Value type Example
string 127.0.0.1

haproxy.replicasServiceType

Specifies the type of Kubernetes Service to be used for HAProxy replicas. This option is deprecated and will be removed in future releases. Use haproxy.exposeReplicas.serviceType instead.

Value type Example
string ClusterIP

haproxy.exposeReplicas.serviceType

Specifies the type of Kubernetes Service to be used for HAProxy replicas.

Value type Example
string ClusterIP

haproxy.replicasExternalTrafficPolicy

Specifies whether Service for HAProxy replicas should route external traffic to cluster-wide or to node-local endpoints (it can influence the load balancing effectiveness). This option is deprecated and will be removed in future releases. Use haproxy.exposeReplicas.externalTrafficPolicy instead.

Value type Example
string Cluster

haproxy.exposeReplicas.externalTrafficPolicy

Specifies whether Service for HAProxy replicas should route external traffic to cluster-wide or to node-local endpoints (it can influence the load balancing effectiveness).

Value type Example
string Cluster

haproxy.exposeReplicas.internalTrafficPolicy

Specifies whether Service for HAProxy replicas should route internal traffic to cluster-wide or to node-local endpoints (it can influence the load balancing effectiveness).

Value type Example
string Cluster

haproxy.replicasServiceLabels

The Kubernetes labels for the haproxy-replicas Service. This option is deprecated and will be removed in future releases. Use haproxy.exposeReplicas.labels instead.

Value type Example
label rack: rack-22

haproxy.exposeReplicas.labels

The Kubernetes labels for the haproxy-replicas Service.

Value type Example
label rack: rack-22

haproxy.replicasServiceAnnotations

The Kubernetes annotations metadata for the haproxy-replicas Service. This option is deprecated and will be removed in future releases. Use haproxy.exposeReplicas.annotations instead.

Value type Example
string service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp

haproxy.exposeReplicas.annotations

The Kubernetes annotations metadata for the haproxy-replicas Service.

Value type Example
string service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp

haproxy.containerSecurityContext

A custom Kubernetes Security Context for a Container to be used instead of the default one.

Value type Example
subdoc privileged: true

haproxy.podSecurityContext

A custom Kubernetes Security Context for a Pod to be used instead of the default one.

Value type Example
subdoc
fsGroup: 1001
supplementalGroups: [1001, 1002, 1003]

haproxy.serviceAccountName

The Kubernetes Service Account for the HAProxy Pod.

Value type Example
string percona-xtradb-cluster-operator-workload

haproxy.runtimeClassName

Name of the Kubernetes Runtime Class for the HAProxy Pod.

Value type Example
string image-rc

haproxy.sidecars.image

Image for the custom sidecar container for the HAProxy Pod.

Value type Example
string busybox

haproxy.sidecars.command

Command for the custom sidecar container for the HAProxy Pod.

Value type Example
array ["/bin/sh"]

haproxy.sidecars.args

Command arguments for the custom sidecar container for the HAProxy Pod.

Value type Example
array ["-c", "while true; do trap 'exit 0' SIGINT SIGTERM SIGQUIT SIGKILL; done;"]

haproxy.sidecars.name

Name of the custom sidecar container for the HAProxy Pod.

Value type Example
string my-sidecar-1

haproxy.sidecars.resources.requests.memory

The Kubernetes memory requests for the sidecar HAProxy containers.

Value type Example
string 1G

haproxy.sidecars.resources.requests.cpu

Kubernetes CPU requests for the sidecar HAProxy containers.

Value type Example
string 500m

haproxy.sidecars.resources.limits.memory

Kubernetes memory limits for the sidecar HAProxy containers.

Value type Example
string 2G

haproxy.sidecars.resources.limits.cpu

Kubernetes CPU limits for the sidecar HAProxy containers.

Value type Example
string 600m

haproxy.lifecycle.preStop.exec.command

Command for the preStop lifecycle hook for HAProxy Pods.

Value type Example
array ["/bin/true"]

haproxy.lifecycle.postStart.exec.command

Command for the postStart lifecycle hook for HAProxy Pods.

Value type Example
array ["/bin/true"]

ProxySQL section

The proxysql section in the deploy/cr.yaml file contains configuration options for the ProxySQL daemon.

proxysql.enabled

Enables or disables load balancing with ProxySQL Services ProxySQL can be enabled only at cluster creation time; otherwise you will be limited to HAProxy load balancing.

Value type Example
boolean false

proxysql.size

The number of the ProxySQL daemons to provide load balancing . It should be 2 or more unless the spec.unsafeFlags.proxySize key is set to true.

Value type Example
int 2

proxysql.image

ProxySQL Docker image to use.

Value type Example
string percona/percona-xtradb-cluster-operator:1.16.0-proxysql

proxysql.imagePullPolicy

The policy used to update images .

Value type Example
string Always

proxysql.imagePullSecrets.name

The Kubernetes imagePullSecrets for the ProxySQL image.

Value type Example
string private-registry-credentials

proxysql.readinessDelaySec

Adds a delay before a run check to verify the application is ready to process traffic.

Value type Example
int 15

proxysql.livenessDelaySec

Adds a delay before the run check ensures the application is healthy and capable of processing requests.

Value type Example
int 300

proxysql.configuration

The custom ProxySQL configuration file contents.

Value type Example
string

proxysql.annotations

The Kubernetes annotations metadata.

Value type Example
label iam.amazonaws.com/role: role-arn

proxysql.labels

Labels are key-value pairs attached to objects .

Value type Example
label rack: rack-22

proxysql.expose.enabled

Enable or disable exposing ProxySQL nodes with dedicated IP addresses.

Value type Example
boolean false

proxysql.serviceType

Specifies the type of Kubernetes Service to be used. This option is deprecated and will be removed in future releases. Use proxysql.expose.type instead.

Value type Example
string ClusterIP

proxysql.expose.type

Specifies the type of Kubernetes Service to be used.

Value type Example
string ClusterIP

proxysql.externalTrafficPolicy

Specifies whether Service for ProxySQL should route external traffic to cluster-wide or to node-local endpoints (it can influence the load balancing effectiveness). This option is deprecated and will be removed in future releases. Use proxysql.expose.externalTrafficPolicy instead.

Value type Example
string Local

proxysql.expose.externalTrafficPolicy

Specifies whether Service for ProxySQL should route external traffic to cluster-wide or to node-local endpoints (it can influence the load balancing effectiveness).

Value type Example
string Local

proxysql.expose.internalTrafficPolicy

Specifies whether Service for ProxySQL should route internal traffic to cluster-wide or to node-local endpoints (it can influence the load balancing effectiveness).

Value type Example
string Local

proxysql.serviceAnnotations

The Kubernetes annotations metadata for the load balancer Service. This option is deprecated and will be removed in future releases. Use proxysql.expose.annotations instead.

Value type Example
label service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp

proxysql.expose.annotations

The Kubernetes annotations metadata for the load balancer Service.

Value type Example
label service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp

proxysql.serviceLabels

The Kubernetes labels for the load balancer Service. This option is deprecated and will be removed in future releases. Use proxysql.expose.labels instead.

Value type Example
label rack: rack-22

proxysql.expose.labels

The Kubernetes labels for the load balancer Service.

Value type Example
label rack: rack-22

proxysql.loadBalancerSourceRanges

The range of client IP addresses from which the load balancer should be reachable (if not set, there is no limitations). This option is deprecated and will be removed in future releases. Use proxysql.expose.loadBalancerSourceRanges instead.

Value type Example
string 10.0.0.0/8

proxysql.expose.loadBalancerSourceRanges

The range of client IP addresses from which the load balancer should be reachable (if not set, there is no limitations).

Value type Example
string 10.0.0.0/8

proxysql.expose.loadBalancerIP

The static IP-address for the load balancer.

Value type Example
string 127.0.0.1

proxysql.resources.requests.memory

The Kubernetes memory requests for the main ProxySQL container.

Value type Example
string 1G

proxysql.resources.requests.cpu

Kubernetes CPU requests for the main ProxySQL container.

Value type Example
string 600m

proxysql.resources.limits.memory

Kubernetes memory limits for the main ProxySQL container.

Value type Example
string 1G

proxysql.resources.limits.cpu

Kubernetes CPU limits for the main ProxySQL container.

Value type Example
string 700m

proxysql.envVarsSecret

A secret with environment variables, see Define environment variables for details.

Value type Example
string my-env-var-secrets

proxysql.priorityClassName

The Kubernetes Pod Priority class for ProxySQL.

Value type Example
string high-priority

proxysql.schedulerName

The Kubernetes Scheduler .

Value type Example
string mycustom-scheduler

proxysql.nodeSelector

Kubernetes nodeSelector .

Value type Example
label disktype: ssd

proxysql.topologySpreadConstraints.labelSelector.matchLabels

The Label selector for the Kubernetes Pod Topology Spread Constraints .

Value type Example
label app.kubernetes.io/name: percona-xtradb-cluster-operator

proxysql.topologySpreadConstraints.maxSkew

The degree to which Pods may be unevenly distributed under the Kubernetes Pod Topology Spread Constraints .

Value type Example
int 1

proxysql.topologySpreadConstraints.topologyKey

The key of node labels for the Kubernetes Pod Topology Spread Constraints .

Value type Example
string kubernetes.io/hostname

proxysql.topologySpreadConstraints.whenUnsatisfiable

What to do with a Pod if it doesn’t satisfy the Kubernetes Pod Topology Spread Constraints .

Value type Example
string DoNotSchedule

proxysql.affinity.topologyKey

The Operator topology key node anti-affinity constraint.

Value type Example
string kubernetes.io/hostname

proxysql.affinity.advanced

If available it makes a topologyKey node affinity constraint to be ignored.

Value type Example
subdoc

proxysql.tolerations

Kubernetes Pod tolerations .

Value type Example
subdoc node.alpha.kubernetes.io/unreachable

proxysql.volumeSpec.emptyDir

The Kubernetes emptyDir volume The directory created on a node and accessible to the Percona XtraDB Cluster Pod containers.

Value type Example
string {}

proxysql.volumeSpec.hostPath.path

Kubernetes hostPath The volume that mounts a directory from the host node’s filesystem into your Pod. The path property is required.

Value type Example
string /data

proxysql.volumeSpec.hostPath.type

The Kubernetes hostPath . An optional property for the hostPath.

Value type Example
string Directory

proxysql.volumeSpec.persistentVolumeClaim.storageClassName

Set the Kubernetes storage class to use with the Percona XtraDB Cluster PersistentVolumeClaim .

Value type Example
string standard

proxysql.volumeSpec.persistentVolumeClaim.accessModes

The Kubernetes PersistentVolumeClaim access modes for the Percona XtraDB cluster.

Value type Example
array [ReadWriteOnce]

proxysql.volumeSpec.resources.requests.storage

The Kubernetes PersistentVolumeClaim size for the Percona XtraDB cluster.

Value type Example
string 6Gi

proxysql.podDisruptionBudget.maxUnavailable

The Kubernetes podDisruptionBudget specifies the number of Pods from the set unavailable after the eviction.

Value type Example
int 1

proxysql.podDisruptionBudget.minAvailable

The Kubernetes podDisruptionBudget Pods that must be available after an eviction.

Value type Example
int 0

proxysql.gracePeriod

The Kubernetes grace period when terminating a Pod .

Value type Example
int 30

proxysql.containerSecurityContext

A custom Kubernetes Security Context for a Container to be used instead of the default one.

Value type Example
subdoc privileged: true

proxysql.podSecurityContext

A custom Kubernetes Security Context for a Pod to be used instead of the default one.

Value type Example
subdoc
fsGroup: 1001
supplementalGroups: [1001, 1002, 1003]

proxysql.serviceAccountName

The Kubernetes Service Account for the ProxySQL Pod.

Value type Example
string percona-xtradb-cluster-operator-workload

proxysql.runtimeClassName

Name of the Kubernetes Runtime Class for the ProxySQL Pod.

Value type Example
string image-rc

proxysql.sidecars.image

Image for the custom sidecar container for the ProxySQL Pod.

Value type Example
string busybox

proxysql.sidecars.command

Command for the custom sidecar container for the ProxySQL Pod.

Value type Example
array ["/bin/sh"]

proxysql.sidecars.args

Command arguments for the custom sidecar container for the ProxySQL Pod.

Value type Example
array ["-c", "while true; do trap 'exit 0' SIGINT SIGTERM SIGQUIT SIGKILL; done;"]

proxysql.sidecars.name

Name of the custom sidecar container for the ProxySQL Pod.

Value type Example
string my-sidecar-1

proxysql.sidecars.resources.requests.memory

The Kubernetes memory requests for the sidecar ProxySQL containers.

Value type Example
string 1G

proxysql.sidecars.resources.requests.cpu

Kubernetes CPU requests for the sidecar ProxySQL containers.

Value type Example
string 500m

proxysql.sidecars.resources.limits.memory

Kubernetes memory limits for the sidecar ProxySQL containers.

Value type Example
string 2G

proxysql.sidecars.resources.limits.cpu

Kubernetes CPU limits for the sidecar ProxySQL containers.

Value type Example
string 600m

proxysql.lifecycle.preStop.exec.command

Command for the preStop lifecycle hook for ProxySQL Pods.

Value type Example
array ["/bin/true"]

proxysql.lifecycle.postStart.exec.command

Command for the postStart lifecycle hook for ProxySQL Pods.

Value type Example
array ["/bin/true"]

Log Collector section

The logcollector section in the deploy/cr.yaml file contains configuration options for Fluent Bit Log Collector .

logcollector.enabled

Enables or disables cluster-level logging with Fluent Bit.

Value type Example
boolean true

logcollector.image

Log Collector Docker image to use.

Value type Example
string percona/percona-xtradb-cluster-operator:1.6.0-logcollector

logcollector.configuration

Additional configuration options (see Fluent Bit official documentation for details).

Value type Example
subdoc

logcollector.resources.requests.memory

The Kubernetes memory requests for a Log Collector sidecar container in a Percona XtraDB Cluster Pod.

Value type Example
string 100M

logcollector.resources.requests.cpu

Kubernetes CPU requests for a Log collector sidecar container in a Percona XtraDB Cluster Pod.

Value type Example
string 200m

Users section

The users section in the deploy/cr.yaml file contains various configuration options to configure custom MySQL users via the Custom Resource.

users.name

The username of the MySQL user.

Value type Example
string my-user

users.dbs

Databases that the user authenticates against. If the specified database is not present, the Operator will create it. When no databases specified, it defaults to all databases (*). If the user sets administrative grants like SHUTDOWN, this field has to be omitted because administrative privileges are set on a global level.

Value type Example
array
- db1
-db2

users.hosts

Hosts that the users are supposed to connect from (if not specified, defaults to ‘%’ - similar to what is happening in MySQL).

Value type Example
array - localhost

users.passwordSecretRef.name

Name of the secret that contains the user’s password. If not provided, the Operator will create the <cluster-name>-<custom-user-name>-secret secret and generate password automatically.

Value type Example
string my-user-password

users.passwordSecretRef.key

Key in the secret that corresponds to the value of the user’s password (password by default).

Value type Example
string password

spec.users.withGrantOption

Defines if the user has grant options.

Value type Example
boolean false

users.grants

Privileges granted to the user.

Value type Example
array
- SELECT
- DELETE
- INSERT

PMM section

The pmm section in the deploy/cr.yaml file contains configuration options for Percona Monitoring and Management.

pmm.enabled

Enables or disables monitoring Percona XtraDB cluster with PMM .

Value type Example
boolean false

pmm.image

PMM client Docker image to use.

Value type Example
string percona/pmm-client:2.44.0

pmm.serverHost

Address of the PMM Server to collect data from the cluster.

Value type Example
string monitoring-service

pmm.serverUser

The PMM Serve_User . The PMM Server password should be configured using Secrets.

Value type Example
string admin

pmm.resources.requests.memory

The Kubernetes memory requests for a PMM container.

Value type Example
string 150M

pmm.resources.requests.cpu

Kubernetes CPU requests for a PMM container.

Value type Example
string 300m

pmm.pxcParams

Additional parameters which will be passed to the pmm-admin add mysql command for pxc Pods.

Value type Example
string --disable-tablestats-limit=2000

pmm.proxysqlParams

Additional parameters which will be passed to the pmm-admin add proxysql command for proxysql Pods.

Value type Example
string --custom-labels=CUSTOM-LABELS

pmm.containerSecurityContext

A custom Kubernetes Security Context for a Container to be used instead of the default one.

Value type Example
subdoc privileged: false

Backup section

The backup section in the deploy/cr.yaml file contains the following configuration options for the regular Percona XtraDB Cluster backups.

backup.allowParallel

Enables or disables running backup jobs in parallel. By default, parallel backup jobs are enabled. A user can disable them to prevent the cluster overload.

Value type Example
string true

backup.image

The Percona XtraDB cluster Docker image to use for the backup.

Value type Example
string percona/percona-xtradb-cluster-operator:1.16.0-backup

backup.backoffLimit

The number of retries to make a backup (by default, 10 retries are made).

Value type Example
int 6

backup.activeDeadlineSeconds

The timeout value in seconds, after which backup job will automatically fail.

Value type Example
int 3600

backup.imagePullSecrets.name

The Kubernetes imagePullSecrets for the specified image.

Value type Example
string private-registry-credentials

backup.storages.STORAGE-NAME.type

The cloud storage type used for backups. Only s3, azure, and filesystem types are supported.

Value type Example
string s3

backup.storages.STORAGE-NAME.verifyTLS

Enable or disable verification of the storage server TLS certificate. Disabling it may be useful e.g. to skip TLS verification for private S3-compatible storage with a self-issued certificate.

Value type Example
boolean true

backup.storages.STORAGE-NAME.s3.credentialsSecret

The Kubernetes secret for backups. It should contain AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY keys.

Value type Example
string my-cluster-name-backup-s3

backup.storages.STORAGE-NAME.s3.bucket

The Amazon S3 bucket name for backups.

Value type Example
string

backup.storages.STORAGE-NAME.s3.region

The AWS region to use. Please note this option is mandatory for Amazon and all S3-compatible storages.

Value type Example
string us-east-1

backup.storages.STORAGE-NAME.s3.endpointUrl

The endpoint URL of the S3-compatible storage to be used (not needed for the original Amazon S3 cloud).

Value type Example
string

backup.storages.STORAGE-NAME.persistentVolumeClaim.type

The persistent volume claim storage type.

Value type Example
string filesystem

backup.storages.STORAGE-NAME.persistentVolumeClaim.storageClassName

Set the Kubernetes Storage Class to use with the Percona XtraDB Cluster backups PersistentVolumeClaims for the filesystem storage type.

Value type Example
string standard

backup.storages.STORAGE-NAME.volume.persistentVolumeClaim.accessModes

The Kubernetes PersistentVolume access modes .

Value type Example
array [ReadWriteOne]

backup.storages.STORAGE-NAME.volume.persistentVolumeClaim.resources.requests.storage

Storage size for the PersistentVolume.

Value type Example
string 6Gi

backup.storages.STORAGE-NAME.annotations

The Kubernetes annotations .

Value type Example
label iam.amazonaws.com/role: role-arn

backup.storages.STORAGE-NAME.labels

Labels are key-value pairs attached to objects .

Value type Example
label rack: rack-22

backup.storages.STORAGE-NAME.resources.requests.memory

The Kubernetes memory requests for a Percona XtraBackup container.

Value type Example
string 1G

backup.storages.STORAGE-NAME.resources.requests.cpu

Kubernetes CPU requests for a Percona XtraBackup container.

Value type Example
string 600m

backup.storages.STORAGE-NAME.resources.limits.memory

Kubernetes memory limits for a Percona XtraBackup container.

Value type Example
string 1.5G

backup.storages.STORAGE-NAME.resources.limits.cpu

Kubernetes CPU limits for a Percona XtraBackup container.

Value type Example
string 700m

backup.storages.STORAGE-NAME.nodeSelector

Kubernetes nodeSelector .

Value type Example
label disktype: ssd

backup.storages.STORAGE-NAME.topologySpreadConstraints.labelSelector.matchLabels

The Label selector for the Kubernetes Pod Topology Spread Constraints .

Value type Example
label app.kubernetes.io/name: percona-xtradb-cluster-operator

backup.storages.STORAGE-NAME.topologySpreadConstraints.maxSkew

The degree to which Pods may be unevenly distributed under the Kubernetes Pod Topology Spread Constraints .

Value type Example
int 1

backup.storages.STORAGE-NAME.topologySpreadConstraints.topologyKey

The key of node labels for the Kubernetes Pod Topology Spread Constraints .

Value type Example
string kubernetes.io/hostname

backup.storages.STORAGE-NAME.topologySpreadConstraints.whenUnsatisfiable

What to do with a Pod if it doesn’t satisfy the Kubernetes Pod Topology Spread Constraints .

Value type Example
string DoNotSchedule

backup.storages.STORAGE-NAME.affinity.nodeAffinity

The Operator node affinity constraint.

Value type Example
subdoc

backup.storages.STORAGE-NAME.tolerations

Kubernetes Pod tolerations .

Value type Example
subdoc backupWorker

backup.storages.STORAGE-NAME.priorityClassName

The Kubernetes Pod priority class .

Value type Example
string high-priority

backup.storages.STORAGE-NAME.schedulerName

The Kubernetes Scheduler .

Value type Example
string mycustom-scheduler

backup.storages.STORAGE-NAME.containerSecurityContext

A custom Kubernetes Security Context for a Container to be used instead of the default one.

Value type Example
subdoc privileged: true

backup.storages.STORAGE-NAME.podSecurityContext

A custom Kubernetes Security Context for a Pod to be used instead of the default one.

Value type Example
subdoc
fsGroup: 1001
supplementalGroups: [1001, 1002, 1003]

backup.storages.STORAGE-NAME.containerOptions.env

The environment variables set as key-value pairs for the backup container.

Value type Example
subdoc
- name: VERIFY_TLS
value: “false”

backup.storages.STORAGE-NAME.containerOptions.args.xtrabackup

Custom command line options for the xtrabackup Percona XtraBackup tool.

Value type Example
subdoc
- “–someflag=abc”

backup.storages.STORAGE-NAME.containerOptions.args.xbcloud

Custom command line options for the xbcloud Percona XtraBackup tool.

Value type Example
subdoc
- “–someflag=abc”

backup.storages.STORAGE-NAME.containerOptions.args.xbstream

Custom command line options for the xbstream Percona XtraBackup tool.

Value type Example
subdoc
- “–someflag=abc”

backup.schedule.name

The backup name.

Value type Example
string sat-night-backup

backup.schedule.schedule

Scheduled time to make a backup specified in the crontab format .

Value type Example
string 0 0 \* \* 6

backup.schedule.keep

The amount of most recent backups to store. Older backups are automatically deleted. Set keep to zero or completely remove it to disable automatic deletion of backups.

Value type Example
int 3

backup.schedule.storageName

The name of the storage for the backups configured in the storages or fs-pvc subsection.

Value type Example
string s3-us-west

backup.pitr.enabled

Enables or disables point-in-time-recovery functionality.

Value type Example
boolean false

backup.pitr.storageName

The name of the storage for the backups configured in the storages subsection, which will be reused to store binlog for point-in-time-recovery.

Value type Example
string s3-us-west

backup.pitr.timeBetweenUploads

Seconds between running the binlog uploader.

Value type Example
int 60

backup.pitr.timeoutSeconds

Timeout in seconds for the binlog to be uploaded; the binlog uploader container will be restarted after exceeding this timeout |

Value type Example
int 60

backup.pitr.resources.requests.memory

The Kubernetes memory requests for a binlog collector Pod.

Value type Example
string 0.1G

backup.pitr.resources.requests.cpu

Kubernetes CPU requests for a binlog collector Pod.

Value type Example
string 100m

backup.pitr.resources.limits.memory

Kubernetes memory limits for a binlog collector Pod. | Value type | Example | | ----------- | ---------- | | string | 1G |

backup.pitr.resources.limits.cpu

Kubernetes CPU limits for a binlog collector Pod.

Value type Example
string 700m

PerconaXtraDBClusterRestore Custom Resource options

Percona XtraDB Cluster Restore options are managed by the Operator via the PerconaXtraDBClusterRestore Custom Resource and can be configured via the deploy/backup/restore.yaml configuration file. This Custom Resource contains the following options:

Key Value type Description Required
metadata.name string The name of the restore true
spec.pxcCluster string Percona XtraDB Cluster name (the name of your running cluster) true
spec.backupName string The name of the backup which should be restored false
spec.resources subdoc Defines resources limits for the restore job false
spec.backupSource subdoc Defines configuration for different restore sources false
spec.pitr subdoc Defines configuration for PITR restore false

resources section

Key Value type Description Required
requests.memory string The Kubernetes memory requests for the restore job (the specified value is used if memory limits are not set) false
requests.cpu string Kubernetes CPU requests for the restore job (the specified value is used if CPU limits are not set) false
limits.memory string The Kubernetes memory limits for the restore job (if set, the value will be used for memory requests as well) false
limits.cpu string Kubernetes CPU limits for the restore job (if set, the value will be used for CPU requests as well) false

backupSource section

Key Value type Description Required
destination string Path to the backup false
storageName string The storage name from CR spec.backup.storages false
verifyTLS boolean Enable or disable verification of the storage server TLS certificate. Disabling it may be useful e.g. to skip TLS verification for private S3-compatible storage with a self-issued certificate true
s3 subdoc Define configuration for S3 compatible storages false
azure subdoc Define configuration for azure blob storage false

backupSource.s3 subsection

Key Value type Description Required
bucket string The bucket with a backup true
credentialsSecret string The Secret name for the backup true
endpointUrl string A valid endpoint URL false
region string The region corresponding to the S3 bucket false

backupSource.azure subsection

Key Value type Description Required
credentialsSecret string The Secret name for the azure blob storage true
container string The container name of the azure blob storage true
endpointUrl string A valid endpoint URL false
storageClass string The storage class name of the azure storage false

pitr subsection

Key Value type Description Required
type string The type of PITR recover true
date string The exact date of recovery true
gtid string The exact GTID for PITR recover true
spec.backupSource subdoc Percona XtraDB Cluster backups section true
s3 subdoc Defines configuration for S3 compatible storages false
azure subdoc Defines configuration for azure blob storage false

Get expert help

If you need assistance, visit the community forum for comprehensive and free database knowledge, or contact our Percona Database Experts for professional support and services. Join K8S Squad to benefit from early access to features and “ask me anything” sessions with the Experts.


Last update: 2024-12-19