Custom Resource options reference¶
Percona Operator for MySQL uses Custom Resources to manage options for the various components of the cluster.
PerconaServerMySQL
Custom Resource with options for the cluster,PerconaServerMySQLBackup
Custom Resource contains options for Percona XtraBackup used to backup Percona Server for MySQLPerconaServerMySQLRestore
Custom Resource contains options for restoring Percona Server for MySQL from backups.
PerconaServerMySQL Custom Resource options¶
Percona Server for MySQL managed by the Operator is configured via the spec section of the deploy/cr.yaml file.
The metadata part of PerconaServerMySQL Custom Resource contains the following keys:
-
name
(cluster1
by default) sets the name of your Percona Server for MySQL 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-mysql-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-mysql-pvc
if present, activates the Finalizer which deletes Persistent Volume Claims for Percona Server for MySQL Pods 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 elements of the deploy/cr.yaml are the following ones:
initImage
¶
An alternative init image for the Operator.
Value type | Example |
---|---|
string | perconalab/percona-server-mysql-operator:0.10.0 |
secretsName
¶
A name for users secrets.
Value type | Example |
---|---|
string | cluster1-secrets |
sslSecretName
¶
A secret with TLS certificate generated for external communications, see Transport Layer Security (TLS) for details.
Value type | Example |
---|---|
string | cluster1-ssl |
ignoreAnnotations
¶
The list of annotations to be ignored by the Operator.
Value type | Example |
---|---|
subdoc | service.beta.kubernetes.io/aws-load-balancer-backend-protocol |
ignoreLabels
¶
The list of labels to be ignored by the Operator.
Value type | Example |
---|---|
subdoc | rack |
updateStrategy
¶
A strategy the Operator uses for upgrades.
Value type | Example |
---|---|
string | SmartUpdate |
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 |
allowUnsafeConfigurations
¶
Prevents users from configuring a cluster with unsafe parameters such as starting a group replication cluster with less than 3 or more than 9 Percona Server for MySQL instances. This option is deprecated and will be removed in future releases. Use unsafeFlags
subsection instead. Setting allowUnsafeConfigurations
won’t have any effect with the Operator version 0.8.0 and newer, and upgrading existing clusters with allowUnsafeConfigurations=true
will cause everything under the unsafeFlags subsection set to true
.
Value type | Example |
---|---|
boolean | false |
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. After switching to unsafe configurations permissive mode you will not be able to switch the cluster back by setting same keys to false
, the flags will be ignored.
unsafeFlags.mysqlSize
¶
Allows users to start the cluster with less than 3 MySQL instances or with more than 9 (the maximum safe size).
Value type | Example |
---|---|
boolean | false |
unsafeFlags.proxy
¶
Allows users to configure a cluster with disabled proxy (both HAProxy and Router).
Value type | Example |
---|---|
boolean | false |
unsafeFlags.proxySize
¶
Allows users to set proxy (HAProxy or Router) size to a value less than 2 Pods.
Value type | Example |
---|---|
boolean | false |
unsafeFlags.orchestrator
¶
Allows users to configure a cluster with disabled Orchestrator even if asynchronous replication is turned on.
Value type | Example |
---|---|
boolean | false |
unsafeFlags.orchestratorSize
¶
Allows users to set orchestrator.size option to a value less than the minimum safe size (3).
Value type | Example |
---|---|
boolean | false |
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.SANs
¶
Additional domains (SAN) to be added to the TLS certificate within the extended cert-manager configuration.
Value type | Example |
---|---|
subdoc |
tls.issuerConf.name
¶
Value type | Example |
---|---|
string | special-selfsigned-issuer |
tls.issuerConf.kind
¶
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 Server for MySQL version choice at the deployment time and during 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 images are picked up from the version service on initial start by the Operator. Never
or Disabled
will completely disable quering version service for images, otherwise it can be set to Latest
or Recommended
or to a specific version string of Percona Server for MySQL (e.g. 8.0.32-24
) that is wished to be version-locked (so that the user can control the version running) |
Value type | Example |
---|---|
string | Disabled |
Percona Server for MySQL section¶
The mysql
section in the deploy/cr.yaml file contains general
configuration options for the Percona Server for MySQL.
mysql.clusterType
¶
The cluster type: async
for Asynchronous replication , group-replication
for Group Replication .
Value type | Example |
---|---|
int | group-replication |
mysql.autoRecovery
¶
Enables or disables the Operator from attempting to fix the issue in the event of a full cluster crash .
Value type | Example |
---|---|
boolean | true |
mysql.size
¶
The number of the Percona Server for MySQL instances. This setting is required.
Value type | Example |
---|---|
int | 3 |
mysql.image
¶
The Docker image of the Percona Server for MySQL used (actual image names for Percona Server for MySQL 8.0 and Percona Server for MySQL 5.7 can be found in the list of certified images).
Value type | Example |
---|---|
string | percona/percona-server:8.0.42-33 |
mysql.imagePullSecrets.name
¶
The Kubernetes ImagePullSecret .
Value type | Example |
---|---|
string | private-registry-credentials |
mysql.imagePullPolicy
¶
The policy used to update images .
Value type | Example |
---|---|
string | Always |
mysql.initImage
¶
An alternative init image for MySQL Pods.
Value type | Example |
---|---|
string | perconalab/percona-server-mysql-operator:0.10.0 |
mysql.env.name
¶
The name of an environment variable for a MySQL container. The BOOTSTRAP_READ_TIMEOUT
variable controls the timeout for bootstrapping the cluster.
Value type | Example |
---|---|
string | BOOTSTRAP_READ_TIMEOUT |
mysql.env.value
¶
The value you set for the environment variables for a MySQL container.
Value type | Example |
---|---|
string | “600” |
mysql.resources.requests.memory
¶
The Kubernetes memory requests for a Percona Server for MySQL container.
Value type | Example |
---|---|
string | 512M |
mysql.resources.limits.memory
¶
Kubernetes memory limits for a Percona Server for MySQL container.
Value type | Example |
---|---|
string | 1G |
mysql.affinity.antiAffinityTopologyKey
¶
The Operator topology key node anti-affinity constraint.
Value type | Example |
---|---|
string | kubernetes.io/hostname |
mysql.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 |
mysql.topologySpreadConstraints.labelSelector.matchLabels
¶
The Label selector for the Kubernetes Pod Topology Spread Constraints .
Value type | Example |
---|---|
label | app.kubernetes.io/name: percona-server |
mysql.topologySpreadConstraints.maxSkew
¶
The degree to which Pods may be unevenly distributed under the Kubernetes Pod Topology Spread Constraints .
Value type | Example |
---|---|
int | 1 |
mysql.topologySpreadConstraints.topologyKey
¶
The key of node labels for the Kubernetes Pod Topology Spread Constraints .
Value type | Example |
---|---|
string | kubernetes.io/hostname |
mysql.topologySpreadConstraints.whenUnsatisfiable
¶
What to do with a Pod if it doesn’t satisfy the Kubernetes Pod Topology Spread Constraints .
Value type | Example |
---|---|
string | DoNotSchedule |
mysql.expose.enabled
¶
Enable or disable exposing Percona Server for MySQL nodes with dedicated IP addresses.
Value type | Example |
---|---|
boolean | false |
mysql.expose.type
¶
The Kubernetes Service Type used for exposure.
Value type | Example |
---|---|
string | ClusterIP |
mysql.expose.annotations
¶
The Kubernetes annotations .
Value type | Example |
---|---|
string | service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp |
mysql.expose.externalTrafficPolicy
¶
Specifies whether Service should route external traffic to cluster-wide (Cluster
) or node-local (Local
) endpoints; it can influence the load balancing effectiveness.
Value type | Example |
---|---|
string | Cluster |
mysql.expose.internalTrafficPolicy
¶
Specifies whether Service should route internal traffic to cluster-wide (Cluster
) or node-local (Local
) endpoints; it can influence the load balancing effectiveness.
Value type | Example |
---|---|
string | Cluster |
mysql.expose.labels
¶
Labels are key-value pairs attached to objects .
Value type | Example |
---|---|
label | rack: rack-22 |
mysql.expose.loadBalancerSourceRanges
¶
The range of client IP addresses from which the load balancer should be reachable (if not set, there are no limitations).
Value type | Example |
---|---|
string | 10.0.0.0/8 |
mysql.volumeSpec.persistentVolumeClaim.resources.requests.storage
¶
The Kubernetes PersistentVolumeClaim size for the Percona Server for MySQL.
Value type | Example |
---|---|
string | 2Gi |
mysql.configuration
¶
The my.cnf
file options to be passed to Percona Server for MySQL instances.
Value type | Example |
---|---|
string | | |
mysql.sidecars.image
¶
Image for the custom sidecar container for Percona Server for MySQL Pods.
Value type | Example |
---|---|
string | busybox |
mysql.sidecars.command
¶
Command for the custom sidecar container for Percona Server for MySQL Pods.
Value type | Example |
---|---|
array | ["sleep", "30d"] |
mysql.sidecars.name
¶
Name of the custom sidecar container for Percona Server for MySQL Pods.
Value type | Example |
---|---|
string | my-sidecar-1 |
mysql.sidecars.volumeMounts.mountPath
¶
Mount path of the custom sidecar container volume for Replica Set Pods.
Value type | Example |
---|---|
string | /volume1 |
mysql.sidecars.resources.requests.memory
¶
The Kubernetes memory requests for a Percona Server for MySQL sidecar container.
Value type | Example |
---|---|
string | 16M |
mysql.sidecars.volumeMounts.name
¶
Name of the custom sidecar container volume for Replica Set Pods.
Value type | Example |
---|---|
string | sidecar-volume-claim |
mysql.sidecarVolumes
¶
Volume specification for the custom sidecar container volume for Percona Server for MySQL Pods.
Value type | Example |
---|---|
subdoc |
mysql.sidecarPVCs
¶
Persistent Volume Claim for the custom sidecar container volume for Replica Set Pods |
Value type | Example |
---|---|
subdoc |
HAProxy subsection¶
The proxy.haproxy
subsection in the deploy/cr.yaml
file contains configuration options for the HAProxy service.
proxy.haproxy.enabled
¶
Enables or disables load balancing with HAProxy Services .
Value type | Example |
---|---|
boolean | true |
proxy.haproxy.size
¶
The number of the HAProxy Pods to provide load balancing. Safe configuration should have 2 or more. This setting is required.
Value type | Example |
---|---|
int | 3 |
proxy.haproxy.image
¶
HAProxy Docker image to use.
Value type | Example |
---|---|
string | percona/perconalab-xtradb-cluster-operator:0.10.0-haproxy |
proxy.haproxy.imagePullPolicy
¶
The policy used to update images .
Value type | Example |
---|---|
string | Always |
proxy.haproxy.resources.requests.memory
¶
The Kubernetes memory requests for the main HAProxy container.
Value type | Example |
---|---|
string | 1G |
proxy.haproxy.resources.requests.cpu
¶
Kubernetes CPU requests for the main HAProxy container.
Value type | Example |
---|---|
string | 600m |
proxy.haproxy.resources.limits.memory
¶
Kubernetes memory limits for the main HAProxy container.
Value type | Example |
---|---|
string | 1G |
proxy.haproxy.resources.limits.cpu
¶
Kubernetes CPU limits for the main HAProxy container.
Value type | Example |
---|---|
string | 700m |
proxy.haproxy.env.name
¶
Name of an environment variable for HAProxy.
Value type | Example |
---|---|
string | HA_CONNECTION_TIMEOUT |
proxy.haproxy.env.value
¶
Value of an environment variable for HAProxy.
Value type | Example |
---|---|
string | "1000" |
proxy.haproxy.envFrom.secretRef.name
¶
Name of a Secret with environment variables for HAProxy.
Value type | Example |
---|---|
string | haproxy-env-secret |
proxy.haproxy.readinessProbes.timeoutSeconds
¶
Number of seconds after which the readiness probe times out.
Value type | Example |
---|---|
int | 3 |
proxy.haproxy.readinessProbes.periodSeconds
¶
How often (in seconds) to perform the readiness probe .
Value type | Example |
---|---|
int | 5 |
proxy.haproxy.readinessProbes.successThreshold
¶
Minimum consecutive successes for the readiness probe to be considered successful after having failed.
Value type | Example |
---|---|
int | 3 |
proxy.haproxy.readinessProbes.failureThreshold
¶
When the readiness probe fails, Kubernetes will try this number of times before marking the Pod Unready.
Value type | Example |
---|---|
int | 1 |
proxy.haproxy.livenessProbes.timeoutSeconds
¶
Number of seconds after which the liveness probe times out.
Value type | Example |
---|---|
int | 3 |
proxy.haproxy.livenessProbes.periodSeconds
¶
How often (in seconds) to perform the liveness probe .
Value type | Example |
---|---|
int | 5 |
proxy.haproxy.livenessProbes.successThreshold
¶
Minimum consecutive successes for the liveness probe to be considered successful after having failed.
Value type | Example |
---|---|
int | 3 |
proxy.haproxy.readinessProbes.failureThreshold
¶
When the liveness probe fails, Kubernetes will try this number of times before marking the Pod Unready.
Value type | Example |
---|---|
int | 1 |
proxy.haproxy.configuration
¶
The custom HAProxy configuration file contents.
Value type | Example |
---|---|
string |
proxy.haproxy.antiAffinityTopologyKey
¶
The Operator topology key node anti-affinity constraint.
Value type | Example |
---|---|
string | kubernetes.io/hostname |
proxy.haproxy.affinity.advanced
¶
If available it makes a topologyKey node affinity constraint to be ignored.
Value type | Example |
---|---|
subdoc |
proxy.haproxy.topologySpreadConstraints.labelSelector.matchLabels
¶
The Label selector for the Kubernetes Pod Topology Spread Constraints .
Value type | Example |
---|---|
label | app.kubernetes.io/name: percona-server |
proxy.haproxy.topologySpreadConstraints.maxSkew
¶
The degree to which Pods may be unevenly distributed under the Kubernetes Pod Topology Spread Constraints .
Value type | Example |
---|---|
int | 1 |
proxy.haproxy.topologySpreadConstraints.topologyKey
¶
The key of node labels for the Kubernetes Pod Topology Spread Constraints .
Value type | Example |
---|---|
string | kubernetes.io/hostname |
proxy.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 |
proxy.haproxy.expose.type
¶
The Kubernetes Service Type used for HAProxy exposure.
Value type | Example |
---|---|
string | ClusterIP |
proxy.haproxy.expose.annotations
¶
The Kubernetes annotations for HAProxy.
Value type | Example |
---|---|
string | service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp |
proxy.haproxy.expose.externalTrafficPolicy
¶
Specifies whether Service for HAProxy should route external traffic to cluster-wide (Cluster
) or node-local (Local
) endpoints; it can influence the load balancing effectiveness.
Value type | Example |
---|---|
string | Cluster |
proxy.haproxy.expose.internalTrafficPolicy
¶
Specifies whether Service for HAProxy should route internal traffic to cluster-wide (Cluster
) or node-local (Local
) endpoints; it can influence the load balancing effectiveness.
Value type | Example |
---|---|
string | Cluster |
proxy.haproxy.expose.labels
¶
Labels are key-value pairs attached to objects for HAProxy.
Value type | Example |
---|---|
label | rack: rack-22 |
proxy.haproxy.expose.loadBalancerIP
¶
The static IP-address for the load balancer. This field is deprecated in Kuberntetes 1.24+ and removed from the Operator starting with version 0.10.0. If you have defined it, refer to the Kubernetes documentation for recommendations.
Value type | Example |
---|---|
string | 127.0.0.1 |
proxy.haproxy.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 |
Router subsection¶
The proxy.router
subsection in the deploy/cr.yaml file contains configuration options for the MySQL Router , which can act as a proxy for Group replication.
proxy.router.enabled
¶
Enables or disables MySQL Router.
Value type | Example |
---|---|
boolean | false |
proxy.router.size
¶
The number of the Router Pods to provide routing to MySQL Servers. This setting is required.
Value type | Example |
---|---|
int | 3 |
proxy.router.image
¶
Router Docker image to use.
Value type | Example |
---|---|
string | perconalab/percona-server-mysql-operator:0.10.0-router |
proxy.router.imagePullPolicy
¶
The policy used to update images .
Value type | Example |
---|---|
string | Always |
proxy.router.initImage
¶
An alternative init image for MySQL Router Pods.
Value type | Example |
---|---|
string | perconalab/percona-server-mysql-operator:0.10.0 |
proxy.router.resources.requests.memory
¶
The Kubernetes memory requests for MySQL Router container.
Value type | Example |
---|---|
string | 256M |
proxy.router.resources.limits.memory
¶
Kubernetes memory limits for MySQL Router container.
Value type | Example |
---|---|
string | 256M |
proxy.router.affinity.antiAffinityTopologyKey
¶
The Operator topology key node anti-affinity constraint.
Value type | Example |
---|---|
string | kubernetes.io/hostname |
proxy.router.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 |
proxy.router.topologySpreadConstraints.labelSelector.matchLabels
¶
The Label selector for the Kubernetes Pod Topology Spread Constraints .
Value type | Example |
---|---|
label | app.kubernetes.io/name: percona-server |
proxy.router.topologySpreadConstraints.maxSkew
¶
The degree to which Pods may be unevenly distributed under the Kubernetes Pod Topology Spread Constraints .
Value type | Example |
---|---|
int | 1 |
proxy.router.topologySpreadConstraints.topologyKey
¶
The key of node labels for the Kubernetes Pod Topology Spread Constraints .
Value type | Example |
---|---|
string | kubernetes.io/hostname |
proxy.router.topologySpreadConstraints.whenUnsatisfiable
¶
What to do with a Pod if it doesn’t satisfy the Kubernetes Pod Topology Spread Constraints .
Value type | Example |
---|---|
string | DoNotSchedule |
proxy.router.configuration
¶
Custom configuration options to be passed to MySQL Router.
Value type | Example |
---|---|
string | | |
proxy.router.expose.type
¶
The Kubernetes Service Type used for MySQL Router instances exposure.
Value type | Example |
---|---|
string | ClusterIP |
proxy.router.expose.annotations
¶
The Kubernetes annotations for MySQL Router.
Value type | Example |
---|---|
string | service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp |
proxy.router.expose.externalTrafficPolicy
¶
Specifies whether Service for MySQL Router should route external traffic to cluster-wide (Cluster
) or node-local (Local
) endpoints; it can influence the load balancing effectiveness.
Value type | Example |
---|---|
string | Cluster |
proxy.router.expose.internalTrafficPolicy
¶
Specifies whether Service for MySQL Router should route internal traffic to cluster-wide (Cluster
) or node-local (Local
) endpoints; it can influence the load balancing effectiveness.
Value type | Example |
---|---|
string | Cluster |
proxy.router.expose.labels
¶
Labels are key-value pairs attached to objects for MySQL Router.
Value type | Example |
---|---|
label | rack: rack-22 |
proxy.router.expose.loadBalancerIP
¶
The static IP-address for the load balancer. This field is deprecated in Kuberntetes 1.24+ and removed from the Operator starting with version 0.10.0. If you have defined it, refer to the Kubernetes documentation for recommendations.
Value type | Example |
---|---|
string | 127.0.0.1 |
proxy.router.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 |
Orchestrator section¶
The orchestrator
section in the deploy/cr.yaml file contains
configuration options for the Orchestrator - a replication topology manager, used if asynchronous replication is turned on.
orchestrator.enabled
¶
Enables or disables the Orchestrator.
Value type | Example |
---|---|
boolean | true |
orchestrator.size
¶
The number of the Orchestrator Pods to provide load balancing. This setting is required.
Value type | Example |
---|---|
int | 3 |
orchestrator.image
¶
Orchestrator Docker image to use.
Value type | Example |
---|---|
string | perconalab/percona-server-mysql-operator:0.10.0-orchestrator |
orchestrator.imagePullPolicy
¶
The policy used to update images .
Value type | Example |
---|---|
string | Always |
orchestrator.serviceAccountName
¶
The Kubernetes Service Account for the Orchestrator Pods.
Value type | Example |
---|---|
string | ercona-server-mysql-operator-orchestrator |
orchestrator.initImage
¶
An alternative init image for Orchestrator Pods.
Value type | Example |
---|---|
string | perconalab/percona-server-mysql-operator:0.10.0 |
orchestrator.affinity.antiAffinityTopologyKey
¶
The Operator topology key node anti-affinity constraint.
Value type | Example |
---|---|
string | kubernetes.io/hostname |
orchestrator.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 |
orchestrator.topologySpreadConstraints.labelSelector.matchLabels
¶
The Label selector for the Kubernetes Pod Topology Spread Constraints .
Value type | Example |
---|---|
label | app.kubernetes.io/name: percona-server |
orchestrator.topologySpreadConstraints.maxSkew
¶
The degree to which Pods may be unevenly distributed under the Kubernetes Pod Topology Spread Constraints .
Value type | Example |
---|---|
int | 1 |
orchestrator.topologySpreadConstraints.topologyKey
¶
The key of node labels for the Kubernetes Pod Topology Spread Constraints .
Value type | Example |
---|---|
string | kubernetes.io/hostname |
orchestrator.topologySpreadConstraints.whenUnsatisfiable
¶
What to do with a Pod if it doesn’t satisfy the Kubernetes Pod Topology Spread Constraints .
Value type | Example |
---|---|
string | DoNotSchedule |
orchestrator.expose.type
¶
The Kubernetes Service Type used for Orchestrator instances exposure.
Value type | Example |
---|---|
string | ClusterIP |
orchestrator.expose.annotations
¶
The Kubernetes annotations for the Orchestrator.
Value type | Example |
---|---|
string | service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp |
orchestrator.expose.externalTrafficPolicy
¶
Specifies whether Service for the Orchestrator should route external traffic to cluster-wide (Cluster
) or node-local (Local
) endpoints; it can influence the load balancing effectiveness.
Value type | Example |
---|---|
string | Cluster |
orchestrator.expose.internalTrafficPolicy
¶
Specifies whether Service for the Orchestrator should route internal traffic to cluster-wide (Cluster
) or node-local (Local
) endpoints; it can influence the load balancing effectiveness.
Value type | Example |
---|---|
string | Cluster |
orchestrator.expose.labels
¶
Labels are key-value pairs attached to objects for the Orchestrator.
Value type | Example |
---|---|
label | rack: rack-22 |
orchestrator.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 |
orchestrator.resources.requests.memory
¶
The Kubernetes memory requests for an Orchestrator container.
Value type | Example |
---|---|
string | 128M |
orchestrator.resources.limits.memory
¶
Kubernetes memory limits for an Orchestrator container.
Value type | Example |
---|---|
string | 256M |
orchestrator.volumeSpec.persistentVolumeClaim.resources.requests.storage
¶
The Kubernetes PersistentVolumeClaim size for the Orchestrator |
Value type | Example |
---|---|
string | 1Gi |
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 Server for MySQL with PMM.
Value type | Example |
---|---|
boolean | false |
pmm.image
¶
PMM client Docker image to use.
Value type | Example |
---|---|
string | percona/pmm-client:3.2.0 |
pmm.imagePullPolicy
¶
The policy used to update images .
Value type | Example |
---|---|
string | Always |
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.resources.limits.memory
¶
Kubernetes memory limits for a PMM container.
Value type | Example |
---|---|
string | 256M |
pmm.resources.limits.cpu
¶
Kubernetes CPU limits for a PMM container.
Value type | Example |
---|---|
string | 400m |
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 |
Backup section¶
The backup
section in the deploy/cr.yaml
file contains the following configuration options for the regular Percona XtraDB Cluster backups.
backup.enabled
¶
Enables or disables making backups.
Value type | Example |
---|---|
boolean | true |
backup.image
¶
The Percona XtraBackup Docker image to use for the backup.
Value type | Example |
---|---|
string | percona/percona-server-mysql-operator:0.10.0-backup |
backup.imagePullPolicy
¶
The policy used to update images .
| Value | string |
| Example | Always
|
backup.initImage
¶
An alternative init image for Percona XtraBackup Pods.
Value type | Example |
---|---|
string | perconalab/percona-server-mysql-operator:0.10.0 |
backup.containerSecurityContext
¶
A custom Kubernetes Security Context for the xtrabackup
container to be used instead of the default one.
Value type | Example |
---|---|
subdoc | privileged: true |
backup.backoffLimit
¶
The number of retries to make a backup (by default, 6 retries are made).
Value type | Example |
---|---|
int | 6 |
backup.storages.STORAGE-NAME.type
¶
The cloud storage type used for backups. Only s3
and azure
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.nodeSelector
¶
Value type | Example |
---|---|
label | disktype: ssd |
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.affinity.nodeAffinity
¶
The Operator node affinity constraint.
Value type | Example |
---|---|
subdoc |
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-server |
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.tolerations
¶
Value type | Example |
---|---|
subdoc |
backup.storages.STORAGE-NAME.schedulerName
¶
The Kubernetes Scheduler .
Value type | Example |
---|---|
string | mycustom-scheduler |
backup.storages.STORAGE-NAME.priorityClassName
¶
The Kubernetes Pod priority class .
Value type | Example |
---|---|
string | high-priority |
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 |
backup.storages.STORAGE-NAME.annotations
¶
The Kubernetes annotations .
Value type | Example |
---|---|
label | testName: scheduled-backup |
backup.storages.STORAGE-NAME.labels
¶
Labels are key-value pairs attached to objects .
Value type | Example |
---|---|
label | backupWorker: 'True' |
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-west-2 |
backup.storages.STORAGE-NAME.s3.prefix
¶
The path (sub-folder) to the backups inside the bucket .
Value type | Example |
---|---|
string | "" |
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.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.schedule.name
¶
Name of the scheduled backup.
Value type | Example |
---|---|
string | sat-night-backup |
backup.schedule.schedule
¶
Scheduled time of the 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
subsection.
Value type | Example |
---|---|
string | s3-us-west |
Percona Toolkit section¶
The toolkit
section in the deploy/cr.yaml file contains configuration
options for Percona Toolkit .
toolkit.image
¶
Percona Toolkit client Docker image to use.
Value type | Example |
---|---|
string | percona/pmm-client:3.2.0 |
toolkit.imagePullPolicy
¶
The policy used to update images .
Value type | Example |
---|---|
string | Always |
toolkit.resources.requests.memory
¶
The Kubernetes memory requests for a Percona Toolkit container.
Value type | Example |
---|---|
string | 150M |
toolkit.resources.requests.cpu
¶
Kubernetes CPU requests for a Percona Toolkit container.
Value type | Example |
---|---|
string | 100m |
toolkit.resources.limits.memory
¶
Kubernetes memory limits for a Percona Toolkit container.
Value type | Example |
---|---|
string | 256M |
toolkit.resources.limits.cpu
¶
Kubernetes CPU limits for a Percona Toolkit container |
Value type | Example |
---|---|
string | 400m |
PerconaServerMySQLRestore Custom Resource options¶
Percona Server for MySQL Restore options are managed by the Operator via the
PerconaServerMySQLRestore
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.clusterName | string | MySQL Cluster name (the name of your running cluster) | true |
spec.backupName | string | The name of the backup which should be restored | false |
spec.backupSource | subdoc | Defines configuration for different restore sources | 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 |
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 |