Skip to content

Commit ecade19

Browse files
MariaDB Enterprise Operator 25.10.3 documentation
1 parent a893748 commit ecade19

File tree

6 files changed

+117
-46
lines changed

6 files changed

+117
-46
lines changed

tools/mariadb-enterprise-operator/api-reference.md

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ _Appears in:_
173173
| `maxRetention` _[Duration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#duration-v1-meta)_ | MaxRetention defines the retention policy for backups. Old backups will be cleaned up by the Backup Job.<br />It defaults to 30 days. | | |
174174
| `databases` _string array_ | Databases defines the logical databases to be backed up. If not provided, all databases are backed up. | | |
175175
| `ignoreGlobalPriv` _boolean_ | IgnoreGlobalPriv indicates to ignore the mysql.global_priv in backups.<br />If not provided, it will default to true when the referred MariaDB instance has Galera enabled and otherwise to false. | | |
176-
| `logLevel` _string_ | LogLevel to be used n the Backup Job. It defaults to 'info'. | info | |
176+
| `logLevel` _string_ | LogLevel to be used in the Backup Job. It defaults to 'info'. | info | Enum: [debug info warn error dpanic panic fatal] <br /> |
177177
| `backoffLimit` _integer_ | BackoffLimit defines the maximum number of attempts to successfully take a Backup. | | |
178178
| `restartPolicy` _[RestartPolicy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#restartpolicy-v1-core)_ | RestartPolicy to be added to the Backup Pod. | OnFailure | Enum: [Always OnFailure Never] <br /> |
179179
| `inheritMetadata` _[Metadata](#metadata)_ | InheritMetadata defines the metadata to be inherited by children resources. | | |
@@ -1316,8 +1316,8 @@ _Appears in:_
13161316
| `database` _string_ | Database is the name of the initial Database. | | |
13171317
| `username` _string_ | Username is the initial username to be created by the operator once MariaDB is ready.<br />The initial User will have ALL PRIVILEGES in the initial Database. | | |
13181318
| `passwordSecretKeyRef` _[GeneratedSecretKeyRef](#generatedsecretkeyref)_ | PasswordSecretKeyRef is a reference to a Secret that contains the password to be used by the initial User.<br />If the referred Secret is labeled with "enterprise.mariadb.com/watch", updates may be performed to the Secret in order to update the password. | | |
1319-
| `passwordHashSecretKeyRef` _[SecretKeySelector](#secretkeyselector)_ | PasswordHashSecretKeyRef is a reference to the password hash to be used by the initial User.<br />If the referred Secret is labeled with "enterprise.mariadb.com/watch", updates may be performed to the Secret in order to update the password hash.<br />It requires the 'skip-strict-password-validation' option to be set. See: https://mariadb.com/docs/server/ref/mdb/cli/mariadbd/strict-password-validation/. | | |
1320-
| `passwordPlugin` _[PasswordPlugin](#passwordplugin)_ | PasswordPlugin is a reference to the password plugin and arguments to be used by the initial User.<br />It requires the 'skip-strict-password-validation' option to be set. See: https://mariadb.com/docs/server/ref/mdb/cli/mariadbd/strict-password-validation/. | | |
1319+
| `passwordHashSecretKeyRef` _[SecretKeySelector](#secretkeyselector)_ | PasswordHashSecretKeyRef is a reference to the password hash to be used by the initial User.<br />If the referred Secret is labeled with "enterprise.mariadb.com/watch", updates may be performed to the Secret in order to update the password hash.<br />It requires the 'strict-password-validation=false' option to be set. See: https://mariadb.com/docs/server/server-management/variables-and-modes/server-system-variables#strict_password_validation. | | |
1320+
| `passwordPlugin` _[PasswordPlugin](#passwordplugin)_ | PasswordPlugin is a reference to the password plugin and arguments to be used by the initial User.<br />It requires the 'strict-password-validation=false' option to be set. See: https://mariadb.com/docs/server/server-management/variables-and-modes/server-system-variables#strict_password_validation. | | |
13211321
| `myCnf` _string_ | MyCnf allows to specify the my.cnf file mounted by Mariadb.<br />Updating this field will trigger an update to the Mariadb resource. | | |
13221322
| `myCnfConfigMapKeyRef` _[ConfigMapKeySelector](#configmapkeyselector)_ | MyCnfConfigMapKeyRef is a reference to the my.cnf config file provided via a ConfigMap.<br />If not provided, it will be defaulted with a reference to a ConfigMap containing the MyCnf field.<br />If the referred ConfigMap is labeled with "enterprise.mariadb.com/watch", an update to the Mariadb resource will be triggered when the ConfigMap is updated. | | |
13231323
| `timeZone` _string_ | TimeZone sets the default timezone. If not provided, it defaults to SYSTEM and the timezone data is not loaded. | | |
@@ -2001,6 +2001,7 @@ _Appears in:_
20012001
| `tolerations` _[Toleration](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#toleration-v1-core) array_ | Tolerations to be used in the Pod. | | |
20022002
| `priorityClassName` _string_ | PriorityClassName to be used in the Pod. | | |
20032003
| `mariaDbRef` _[MariaDBRef](#mariadbref)_ | MariaDBRef is a reference to a MariaDB object. | | Required: \{\} <br /> |
2004+
| `target` _[PhysicalBackupTarget](#physicalbackuptarget)_ | Target defines in which Pod the physical backups will be taken. It defaults to "Replica", meaning that the physical backups will only be taken in ready replicas. | | Enum: [Replica PreferReplica] <br /> |
20042005
| `compression` _[CompressAlgorithm](#compressalgorithm)_ | Compression algorithm to be used in the Backup. | | Enum: [none bzip2 gzip] <br /> |
20052006
| `stagingStorage` _[BackupStagingStorage](#backupstagingstorage)_ | StagingStorage defines the temporary storage used to keep external backups (i.e. S3) while they are being processed.<br />It defaults to an emptyDir volume, meaning that the backups will be temporarily stored in the node where the PhysicalBackup Job is scheduled.<br />The staging area gets cleaned up after each backup is completed, consider this for sizing it appropriately. | | |
20062007
| `storage` _[PhysicalBackupStorage](#physicalbackupstorage)_ | Storage defines the final storage for backups. | | Required: \{\} <br /> |
@@ -2012,6 +2013,7 @@ _Appears in:_
20122013
| `restartPolicy` _[RestartPolicy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#restartpolicy-v1-core)_ | RestartPolicy to be added to the PhysicalBackup Pod. | OnFailure | Enum: [Always OnFailure Never] <br /> |
20132014
| `inheritMetadata` _[Metadata](#metadata)_ | InheritMetadata defines the metadata to be inherited by children resources. | | |
20142015
| `successfulJobsHistoryLimit` _integer_ | SuccessfulJobsHistoryLimit defines the maximum number of successful Jobs to be displayed. It defaults to 5. | | Minimum: 0 <br /> |
2016+
| `logLevel` _string_ | LogLevel to be used in the PhysicalBackup Job. It defaults to 'info'. | info | Enum: [debug info warn error dpanic panic fatal] <br /> |
20152017

20162018

20172019
#### PhysicalBackupStorage
@@ -2033,6 +2035,23 @@ _Appears in:_
20332035
| `volumeSnapshot` _[PhysicalBackupVolumeSnapshot](#physicalbackupvolumesnapshot)_ | VolumeSnapshot is a Kubernetes VolumeSnapshot specification. | | |
20342036

20352037

2038+
#### PhysicalBackupTarget
2039+
2040+
_Underlying type:_ _string_
2041+
2042+
PhysicalBackupTarget defines in which Pod the physical backups will be taken.
2043+
2044+
2045+
2046+
_Appears in:_
2047+
- [PhysicalBackupSpec](#physicalbackupspec)
2048+
2049+
| Field | Description |
2050+
| --- | --- |
2051+
| `Replica` | PhysicalBackupTargetReplica indicates that the physical backup will be taken in a ready replica.<br /> |
2052+
| `PreferReplica` | PhysicalBackupTargetReplica indicates that the physical backup will preferably be taken in a ready replica.<br />If no ready replicas are available, physical backups will be taken in the primary.<br /> |
2053+
2054+
20362055
#### PhysicalBackupVolumeSnapshot
20372056

20382057

@@ -2473,7 +2492,7 @@ _Appears in:_
24732492
| `stagingStorage` _[BackupStagingStorage](#backupstagingstorage)_ | StagingStorage defines the temporary storage used to keep external backups (i.e. S3) while they are being processed.<br />It defaults to an emptyDir volume, meaning that the backups will be temporarily stored in the node where the Restore Job is scheduled. | | |
24742493
| `mariaDbRef` _[MariaDBRef](#mariadbref)_ | MariaDBRef is a reference to a MariaDB object. | | Required: \{\} <br /> |
24752494
| `database` _string_ | Database defines the logical database to be restored. If not provided, all databases available in the backup are restored.<br />IMPORTANT: The database must previously exist. | | |
2476-
| `logLevel` _string_ | LogLevel to be used n the Backup Job. It defaults to 'info'. | info | |
2495+
| `logLevel` _string_ | LogLevel to be used n the Backup Job. It defaults to 'info'. | info | Enum: [debug info warn error dpanic panic fatal] <br /> |
24772496
| `backoffLimit` _integer_ | BackoffLimit defines the maximum number of attempts to successfully perform a Backup. | 5 | |
24782497
| `restartPolicy` _[RestartPolicy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.34/#restartpolicy-v1-core)_ | RestartPolicy to be added to the Backup Job. | OnFailure | Enum: [Always OnFailure Never] <br /> |
24792498
| `inheritMetadata` _[Metadata](#metadata)_ | InheritMetadata defines the metadata to be inherited by children resources. | | |
@@ -3092,8 +3111,8 @@ _Appears in:_
30923111
| `cleanupPolicy` _[CleanupPolicy](#cleanuppolicy)_ | CleanupPolicy defines the behavior for cleaning up a SQL resource. | | Enum: [Skip Delete] <br /> |
30933112
| `mariaDbRef` _[MariaDBRef](#mariadbref)_ | MariaDBRef is a reference to a MariaDB object. | | Required: \{\} <br /> |
30943113
| `passwordSecretKeyRef` _[SecretKeySelector](#secretkeyselector)_ | PasswordSecretKeyRef is a reference to the password to be used by the User.<br />If not provided, the account will be locked and the password will expire.<br />If the referred Secret is labeled with "enterprise.mariadb.com/watch", updates may be performed to the Secret in order to update the password. | | |
3095-
| `passwordHashSecretKeyRef` _[SecretKeySelector](#secretkeyselector)_ | PasswordHashSecretKeyRef is a reference to the password hash to be used by the User.<br />If the referred Secret is labeled with "enterprise.mariadb.com/watch", updates may be performed to the Secret in order to update the password hash.<br />It requires the 'skip-strict-password-validation' option to be set. See: https://mariadb.com/docs/server/ref/mdb/cli/mariadbd/strict-password-validation/. | | |
3096-
| `passwordPlugin` _[PasswordPlugin](#passwordplugin)_ | PasswordPlugin is a reference to the password plugin and arguments to be used by the User.<br />It requires the 'skip-strict-password-validation' option to be set. See: https://mariadb.com/docs/server/ref/mdb/cli/mariadbd/strict-password-validation/. | | |
3114+
| `passwordHashSecretKeyRef` _[SecretKeySelector](#secretkeyselector)_ | PasswordHashSecretKeyRef is a reference to the password hash to be used by the User.<br />If the referred Secret is labeled with "enterprise.mariadb.com/watch", updates may be performed to the Secret in order to update the password hash.<br />It requires the 'strict-password-validation=false' option to be set. See: https://mariadb.com/docs/server/server-management/variables-and-modes/server-system-variables#strict_password_validation. | | |
3115+
| `passwordPlugin` _[PasswordPlugin](#passwordplugin)_ | PasswordPlugin is a reference to the password plugin and arguments to be used by the User.<br />It requires the 'strict-password-validation=false' option to be set. See: https://mariadb.com/docs/server/server-management/variables-and-modes/server-system-variables#strict_password_validation. | | |
30973116
| `require` _[TLSRequirements](#tlsrequirements)_ | Require specifies TLS requirements for the user to connect. See: https://mariadb.com/kb/en/securing-connections-for-client-and-server/#requiring-tls. | | |
30983117
| `maxUserConnections` _integer_ | MaxUserConnections defines the maximum number of simultaneous connections that the User can establish. | 10 | |
30993118
| `name` _string_ | Name overrides the default name provided by metadata.name. | | MaxLength: 80 <br /> |

tools/mariadb-enterprise-operator/backup-and-restore/physical_backup.md

Lines changed: 43 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,16 +75,19 @@ metadata:
7575
spec:
7676
mariaDbRef:
7777
name: mariadb
78+
waitForIt: true
7879
schedule:
7980
cron: "*/1 * * * *"
8081
suspend: false
8182
immediate: true
8283
```
8384

84-
If you want to immediatly trigger a backup after creating the `PhysicalBackup` resource, you can set the `immediate` field to `true`. This will create a backup immediately, regardless of the schedule.
85+
If you want to immediately trigger a backup after creating the `PhysicalBackup` resource, you can set the `immediate` field to `true`. This will create a backup immediately, regardless of the schedule.
8586

8687
If you want to suspend the schedule, you can set the `suspend` field to `true`. This will prevent any new backups from being created until the `PhysicalBackup` is resumed.
8788

89+
It is very important to note that, by default, backups will only be scheduled if the referred `MariaDB` resource is in ready state. You can override this behavior by setting `mariaDbRef.waitForIt=false` which will allow backups to be scheduled even if the `MariaDB` resource is not ready.
90+
8891
## Compression
8992

9093
When using physical backups based on `mariadb-backup`, you are able to choose the compression algorithm used to compress the backup files. The available options are:
@@ -122,9 +125,30 @@ spec:
122125
maxRetention: 720h # 30 days
123126
```
124127

125-
When using physical backups based on `mariadb-backup`, the operator will automatically delete backups files in the specified storage older than the retention period.
128+
When using physical backups based on `mariadb-backup`, the operator will automatically delete backups files in the specified storage older than the retention period. The cleanup process will be performed after each successful backup.
129+
130+
When using `VolumeSnapshots`, the operator will automatically delete the `VolumeSnapshot` resources older than the retention period using the Kubernetes API. The cleanup process will be performed after a `VolumeSnapshot` is successfully created.
131+
132+
## Target policy
133+
134+
You can define a target policy both for backups based on `mariadb-backup` and for `VolumeSnapshots`. The target policy allows you to specify in which `Pod` the backup should be taken. This can be defined via the `target` field in the `PhysicalBackup` resource:
135+
136+
```yaml
137+
apiVersion: enterprise.mariadb.com/v1alpha1
138+
kind: PhysicalBackup
139+
metadata:
140+
name: physicalbackup
141+
spec:
142+
mariaDbRef:
143+
name: mariadb
144+
target: Replica
145+
```
126146

127-
When using `VolumeSnapshots`, the operator will automatically delete the `VolumeSnapshot` resources older than the retention period using the Kubernetes API.
147+
The following target policies are available:
148+
- `Replica`: The backup will be taken in a ready replica. If no ready replicas are available, the backup will not be scheduled.
149+
- `PreferReplica`: The backup will be taken in a ready replica if available, otherwise it will be taken in the primary `Pod`.
150+
151+
When using the `PreferReplica` target policy, you may be willing to schedule the backups even if the `MariaDB` resource is not ready. In this case, you can set `mariaDbRef.waitForIt=false` to allow scheduling the backup even if no replicas are available.
128152

129153
## Restoration
130154

@@ -217,7 +241,22 @@ spec:
217241
timeout: 2h
218242
```
219243

220-
When timed out, the operator will delete the `Jobs` or `VolumeSnapshots` resources associated wit the `PhysicalBackup` resource. The operator will create new `Jobs` or `VolumeSnapshots` to retry the backup operation if the `PhysicalBackup` resource is still scheduled.
244+
When timed out, the operator will delete the `Jobs` or `VolumeSnapshots` resources associated with the `PhysicalBackup` resource. The operator will create new `Jobs` or `VolumeSnapshots` to retry the backup operation if the `PhysicalBackup` resource is still scheduled.
245+
246+
## Log level
247+
248+
When taking backups based on `mariadb-backup`, you can specify the log level to be used by the `mariadb-operator` container using the `logLevel` field in the `PhysicalBackup` resource:
249+
250+
```yaml
251+
apiVersion: enterprise.mariadb.com/v1alpha1
252+
kind: PhysicalBackup
253+
metadata:
254+
name: physicalbackup
255+
spec:
256+
mariaDbRef:
257+
name: mariadb
258+
logLevel: debug
259+
```
221260

222261
## Extra options
223262

tools/mariadb-enterprise-operator/docker-images.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ All the Docker images used by this operator are based on [Red Hat UBI](https://c
1818
MariaDB Enterprise Kubernetes Operator is compatible with the following Docker images:
1919
| Component | Image | Supported Tags | CPU Architecture |
2020
|-----------|-------|----------------|------------------|
21-
| MariaDB Enterprise Kubernetes Operator (ppc64le support) | docker.mariadb.com/mariadb-enterprise-operator | 25.10.2 <br> 25.10.1 <br> 25.10.0 <br> 25.8.0 <br> | amd64 <br> arm64 <br> ppc64le <br> |
21+
| MariaDB Enterprise Kubernetes Operator (ppc64le support) | docker.mariadb.com/mariadb-enterprise-operator | 25.10.3 <br> 25.10.2 <br> 25.10.1 <br> 25.10.0 <br> 25.8.0 <br> | amd64 <br> arm64 <br> ppc64le <br> |
2222
| MariaDB Enterprise Kubernetes Operator | docker.mariadb.com/mariadb-enterprise-operator | 1.0.0 <br> | amd64 <br> arm64 <br> |
23-
| MariaDB Enterprise Server (ppc64le support) | docker.mariadb.com/enterprise-server | 11.8.3-1 <br> 11.4.8-5 <br> 11.4.7-4.3 <br> 11.4.7-4.2 <br> 11.4.7-4.1 <br> 11.4 <br> 10.6.23-19 <br> 10.6.22-18.1 <br> 10.6 <br> | amd64 <br> arm64 <br> ppc64le <br> |
23+
| MariaDB Enterprise Server (ppc64le support) | docker.mariadb.com/enterprise-server | 11.8.5-2 <br> 11.8.3-1 <br> 11.4.8-5 <br> 11.4.7-4.3 <br> 11.4.7-4.2 <br> 11.4.7-4.1 <br> 11.4 <br> 10.6.23-19 <br> 10.6.22-18.1 <br> 10.6 <br> | amd64 <br> arm64 <br> ppc64le <br> |
2424
| MariaDB Enterprise Server | docker.mariadb.com/enterprise-server | 11.4.5-3 <br> 11.4.4-2 <br> 10.6.21-17 <br> 10.6.20-16.1 <br> 10.6.19-15.1 <br> 10.6.18-14.2 <br> 10.6.17-13.2 <br> | amd64 <br> arm64 <br> |
2525
| MaxScale Enterprise (ppc64le support) | docker.mariadb.com/maxscale | 25.10.0 <br> 25.01.4 <br> 25.01.3-1 <br> 25.01 <br> | amd64 <br> arm64 <br> ppc64le <br> |
2626
| MaxScale Enterprise | docker.mariadb.com/maxscale-enterprise | 25.01.2 <br> 25.01.1 <br> | amd64 <br> arm64 <br> |

tools/mariadb-enterprise-operator/installation/helm.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Configure your [customer credentials as described in the documentation](../custo
88

99
## Charts
1010

11-
MariaDB Enterprise Kubernetes Operator is splitted into two different helm charts for better convenience:
11+
MariaDB Enterprise Kubernetes Operator is split into two different helm charts for better convenience:
1212

1313
* `mariadb-enterprise-operator-crds`: Bundles the [CustomResourceDefinitions](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) required by the operator.
1414
* `mariadb-enterprise-operator`: Contains all the template manifests required to install the operator. Refer to the [operator helm values](helm.md#operator-helm-values) section for detailed information about the supported values.
@@ -246,7 +246,7 @@ helm uninstall mariadb-enterprise-operator-crds
246246
| config.exporterMaxscaleImage | string | `"mariadb/maxscale-prometheus-exporter-ubi:1.1.0"` | Default MaxScale exporter image |
247247
| config.galeraLibPath | string | `"/usr/lib64/galera/libgalera_enterprise_smm.so"` | Galera Enterprise library path to be used with Galera |
248248
| config.mariadbDefaultVersion | string | `"11.8"` | Default MariaDB Enterprise version to be used when unable to infer it via image tag |
249-
| config.mariadbImage | string | `"docker.mariadb.com/enterprise-server:11.8.3-1"` | Default MariaDB Enterprise image |
249+
| config.mariadbImage | string | `"docker.mariadb.com/enterprise-server:11.8.5-2"` | Default MariaDB Enterprise image |
250250
| config.mariadbImageName | string | `"docker.mariadb.com/enterprise-server"` | Default MariaDB Enterprise image name |
251251
| config.maxscaleImage | string | `"docker.mariadb.com/maxscale:25.10.0"` | Default MaxScale Enterprise image |
252252
| crds | object | `{"enabled":false}` | CRDs |
@@ -281,7 +281,7 @@ helm uninstall mariadb-enterprise-operator-crds
281281
| pprof.enabled | bool | `false` | Enable the pprof HTTP server. |
282282
| pprof.port | int | `6060` | The port where the pprof HTTP server listens. |
283283
| priorityClassName | string | `""` | priorityClassName to add to controller Pod |
284-
| rbac.aggregation.enabled | bool | `true` | Specifies whether the cluster roles aggrate to view and edit predefinied roles |
284+
| rbac.aggregation.enabled | bool | `true` | Specifies whether the cluster roles aggregate to view and edit predefinied roles |
285285
| rbac.enabled | bool | `true` | Specifies whether RBAC resources should be created |
286286
| resources | object | `{}` | Resources to add to controller container |
287287
| securityContext | object | `{}` | Security context to add to controller container |

0 commit comments

Comments
 (0)