Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

K8SPXC-1476 1.16.0 release #189

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions docs/ReleaseNotes/Kubernetes-Operator-for-PXC-RN1.16.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# *Percona Operator for MySQL based on Percona XtraDB Cluster* 1.16.0

* **Date**

December 18, 2024

* **Installation**

[Installing Percona Operator for MySQL based on Percona XtraDB Cluster](../System-Requirements.md#installation-guidelines)

## Release Highlights

### Declarative user management (technical preview)

Before the Operator version 1.16.0 custom MySQL users had to be created manually. Now the declarative creation of custom MongoDB users [is supported](../users.md#unprivileged-users) via the `users` subsection in the Custom Resource. You can specify a new user in `deploy/cr.yaml` manifest, setting the user’s login name and hosts this user is allowed to connect from, PasswordSecretRef (a reference to a key in a Secret resource containing user’s password) and as well as databases the user is going to have access to and the appropriate permissions:

```yaml
...
users:
- name: my-user
dbs:
- db1
- db2
hosts:
- localhost
grants:
- SELECT
- DELETE
- INSERT
withGrantOption: true
passwordSecretRef:
name: my-user-pwd
key: my-user-pwd-key
...
```

See [documentation](../users.md#unprivileged-users) to find more details about this feature with additional explanations and the list of current limitations.

## New Features

* {{ k8spxcjira(377) }}: It is now possible to create and manage users via the Custom Resource
* {{ k8spxcjira(1456) }}: Now the user can run Percona XtraDB Cluster Pods initContainers [with a security context different](../operator.md#initcontainercontainersecuritycontext) from the Pods security context, which may be useful to make customization for tuned Kubernetes environments (Thanks to Vlad Gusev for contribution)

## Improvements

* {{ k8spxcjira(1411) }}: Enabling/disabling TLS on a running cluster [is now possible](../TLS.md#enabling-or-disabling-tls-on-a-running-cluster) simply by toggling the appropriate Custom Resource option
* {{ k8spxcjira(1451) }}: The [automated storage scaling](../scaling.md#automated-scaling-with-volume-expansion-capability) by default and need to be explicitly enabled with the `enableVolumeExpansion` Custom Resource option
* {{ k8spxcjira(1503) }}: Logic improvement saves logs from a number of temporary non-critical errors related to ProxySQL user sync and non-presence of point-in-time recovery files (Thanks to dcaputo-harmoni for contribution)
* {{ k8spxcjira(1500) }}: A new `backup.activeDeadlineSeconds` Custom Resource option was added to fail the backup job automatically after the specified timeout (Thanks to Vlad Gusev for contribution)

## Bugs Fixed

* {{ k8spxcjira(1398) }}: Fix a bug which sporadically prevented the scheduled backup job Pod from successfully completing the process
* {{ k8spxcjira(1413) }} and {{ k8spxcjira(1458) }}: Fix the Operator Pod segfault which was occurring when restoring a backup without backupSource Custom Resource subsection or without storage specified in the backupSource
* {{ k8spxcjira(1416) }}: Fix a bug where disabling parallel backups in Custom Resource caused all backups to stuck in presence of any failed backup
* {{ k8spxcjira(1420) }}: Fix a bug where HAProxy exposed at the time of point-in-time restore could make conflicting transactions, causing the PITR Pod stuck on the duplicate key error
* {{ k8spxcjira(1422) }}: Fix the cluster endpoint change from the external IP to the service name when upgrading the Operator
* {{ k8spxcjira(1443) }}: Operator can't survive system users "Host" part change **Needs checking**
* {{ k8spxcjira(1444) }}: Fix a bug where Percona XtraDB Cluster initial creation state was changing to "error" if the backup restore was taking too long
* {{ k8spxcjira(1454) }}: Fix a bug where the Operator erroneously generated SSL secrets when upgrading from 1.14.0 to 1.15.0 with `allowUnsafeConfigurations: true`Custom Resource option

## Supported Platforms

The Operator was developed and tested with Percona XtraDB Cluster versions 8.4.2-2.1 (Tech preview), 8.0.39-30.1, and 5.7.44-31.65. Other options may also work but have not been tested. Other software components include:

* Percona XtraBackup versions 8.4.0-1, 8.0.35-30.1 and 2.4.29
* HAProxy 2.8.11
* ProxySQL 2.7.1
* LogCollector based on fluent-bit 3.2.2
* PMM Client 2.43.2

Percona Operators are designed for compatibility with all [CNCF-certified :octicons-link-external-16:](https://www.cncf.io/training/certification/software-conformance/) Kubernetes distributions. Our release process includes targeted testing and validation on major cloud provider platforms and OpenShift, as detailed below for Operator version 1.16.0:

* [Google Kubernetes Engine (GKE) :octicons-link-external-16:](https://cloud.google.com/kubernetes-engine) 1.28 - 1.30
* [Amazon Elastic Container Service for Kubernetes (EKS) :octicons-link-external-16:](https://aws.amazon.com) 1.28 - 1.31
* [Azure Kubernetes Service (AKS) :octicons-link-external-16:](https://azure.microsoft.com/en-us/services/kubernetes-service/) 1.28 - 1.31
* [OpenShift :octicons-link-external-16:](https://www.redhat.com/en/technologies/cloud-computing/openshift) 4.14.42 - 4.17.8
* [Minikube :octicons-link-external-16:](https://minikube.sigs.k8s.io/docs/) 1.34.0 based on Kubernetes 1.31.0

This list only includes the platforms that the Percona Operators are specifically tested on as part of the release process. Other Kubernetes flavors and versions depend on the backward compatibility offered by Kubernetes itself.
1 change: 1 addition & 0 deletions docs/ReleaseNotes/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Percona Operator for MySQL based on Percona XtraDB Cluster Release Notes

* [*Percona Operator for MySQL based on Percona XtraDB Cluster* 1.16.0 (2024-12-18)](Kubernetes-Operator-for-PXC-RN1.16.0.md)
* [*Percona Operator for MySQL based on Percona XtraDB Cluster* 1.15.1 (2024-10-16)](Kubernetes-Operator-for-PXC-RN1.15.1.md)
* [*Percona Operator for MySQL based on Percona XtraDB Cluster* 1.14.1 (2024-10-16)](Kubernetes-Operator-for-PXC-RN1.14.1.md)
* [*Percona Operator for MySQL based on Percona XtraDB Cluster* 1.15.0 (2024-08-20)](Kubernetes-Operator-for-PXC-RN1.15.0.md)
Expand Down
12 changes: 6 additions & 6 deletions docs/System-Requirements.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
# System requirements

The Operator was developed and tested with Percona XtraDB Cluster versions 8.0.36-28.1 and 5.7.44-31.65. Other options may also work but have not been tested.
The Operator was developed and tested with Percona XtraDB Cluster versions 8.4.2-2.1 (Tech preview), 8.0.39-30.1, and 5.7.44-31.65 Other options may also work but have not been tested.

## Supported platforms

The following platforms were tested and are officially supported by the Operator
{{ release }}:

* [Google Kubernetes Engine (GKE) :octicons-link-external-16:](https://cloud.google.com/kubernetes-engine) 1.27 - 1.30
* [Amazon Elastic Container Service for Kubernetes (EKS) :octicons-link-external-16:](https://aws.amazon.com) 1.28 - 1.30
* [Azure Kubernetes Service (AKS) :octicons-link-external-16:](https://azure.microsoft.com/en-us/services/kubernetes-service/) 1.28 - 1.30
* [OpenShift :octicons-link-external-16:](https://www.redhat.com/en/technologies/cloud-computing/openshift) 4.13.46 - 4.16.7
* [Minikube :octicons-link-external-16:](https://minikube.sigs.k8s.io/docs/) 1.33.1 based on Kubernetes 1.30.0
* [Google Kubernetes Engine (GKE) :octicons-link-external-16:](https://cloud.google.com/kubernetes-engine) 1.28 - 1.30
* [Amazon Elastic Container Service for Kubernetes (EKS) :octicons-link-external-16:](https://aws.amazon.com) 1.28 - 1.31
* [Azure Kubernetes Service (AKS) :octicons-link-external-16:](https://azure.microsoft.com/en-us/services/kubernetes-service/) 1.28 - 1.31
* [OpenShift :octicons-link-external-16:](https://www.redhat.com/en/technologies/cloud-computing/openshift) 4.14.42 - 4.17.8
* [Minikube :octicons-link-external-16:](https://minikube.sigs.k8s.io/docs/) 1.34.0 based on Kubernetes 1.31.0

Other Kubernetes platforms may also work but have not been tested.

Expand Down
2 changes: 2 additions & 0 deletions docs/versions.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Cluster components:

| Operator | [MySQL :octicons-link-external-16:](https://www.percona.com/software/mysql-database/percona-server) | [Percona XtraBackup :octicons-link-external-16:](https://www.percona.com/software/mysql-database/percona-xtrabackup) | [HA Proxy :octicons-link-external-16:](https://www.haproxy.org/) | [ProxySQL :octicons-link-external-16:](https://proxysql.com/) |
|:--------|:--------|:-----|:-------|:-------|
| [1.16.0](ReleaseNotes/Kubernetes-Operator-for-PXC-RN1.16.0.md) | 8.4 (Tech preview), 8.0, 5.7 | 8.4.0-1 for MySQL 8.4, 8.0.35-30.1 for MySQL 8.0, 2.4.29 for MySQL 5.7 | 2.8.11 | 2.7.1 |
| [1.15.1](ReleaseNotes/Kubernetes-Operator-for-PXC-RN1.15.1.md) | 8.0, 5.7 | 8.0.35-30.1 for MySQL 8.0, 2.4.29-1 for MySQL 5.7 | 2.8.5 | 2.5.5 |
| [1.14.1](ReleaseNotes/Kubernetes-Operator-for-PXC-RN1.14.1.md) | 8.0, 5.7 | 8.0.35-30.1 for MySQL 8.0, 2.4.29-1 for MySQL 5.7 | 2.8.5-1 | 2.5.5-1.1 |
| [1.15.0](ReleaseNotes/Kubernetes-Operator-for-PXC-RN1.15.0.md) | 8.0, 5.7 | 8.0.35-30.1 for MySQL 8.0, 2.4.29-1 for MySQL 5.7 | 2.8.5 | 2.5.5 |
Expand All @@ -28,6 +29,7 @@ Platforms:

| Operator | [GKE :octicons-link-external-16:](https://cloud.google.com/kubernetes-engine) | [EKS :octicons-link-external-16:](https://aws.amazon.com) | [Openshift :octicons-link-external-16:](https://www.redhat.com/en/technologies/cloud-computing/openshift) | [AKS :octicons-link-external-16:](https://azure.microsoft.com/en-us/services/kubernetes-service/) | [Minikube :octicons-link-external-16:](https://github.com/kubernetes/minikube) |
|:--------|:------------|:------------|:------------|:--------------|:--------------------|
| [1.16.0](ReleaseNotes/Kubernetes-Operator-for-PXC-RN1.16.0.md) | 1.28 - 1.30 | 1.28 - 1.31 | 4.15.42 - 4.17.8 | 1.28 - 1.31 | 1.34.0 |
| [1.15.1](ReleaseNotes/Kubernetes-Operator-for-PXC-RN1.15.1.md) | 1.27 - 1.30 | 1.28 - 1.30 | 4.13.46 - 4.16.7 | 1.28 - 1.30 | 1.33.1 |
| [1.14.1](ReleaseNotes/Kubernetes-Operator-for-PXC-RN1.14.1.md) | 1.25 - 1.29 | 1.24 - 1.29 | 4.12.50 - 4.14.13 | 1.26 - 1.28 | 1.32.0 |
| [1.15.0](ReleaseNotes/Kubernetes-Operator-for-PXC-RN1.15.0.md) | 1.27 - 1.30 | 1.28 - 1.30 | 4.13.46 - 4.16.7 | 1.28 - 1.30 | 1.33.1 |
Expand Down
19 changes: 11 additions & 8 deletions mkdocs-base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -136,17 +136,19 @@ extra: # Used in main.html template and can't be externalized
updated_text: '<i class="uil uil-refresh"></i> Page updated'
commandName: 'kubectl'
clusterName: 'cluster1'
release: '1.15.1'
apiversion: '1-15-1'
release: '1.16.0'
apiversion: '1-16-0'
certmanagerversion: '1.15.2'
fluentbitrecommended: '3.1.4'
haproxyrecommended: '2.8.5'
proxysqlrecommended: '2.5.5'
pxb80recommended: '8.0.35'
fluentbitrecommended: '3.2.2'
haproxyrecommended: '2.8.11'
proxysqlrecommended: '2.7.1'
pxb84recommended: '8.4.0-1'
pxb80recommended: '8.0.35-30.1'
pxb57recommended: '2.4.29'
pxc57recommended: '5.7.44-31.65'
pxc80recommended: '8.0.36-28.1'
pmm2recommended: '2.42.0'
pxc80recommended: '8.0.39-30.1'
pxc84recommended: '8.4.2-2.1'
pmm2recommended: '2.43.2'
gkerecommended: '1.30'
version:
provider: mike
Expand Down Expand Up @@ -245,6 +247,7 @@ nav:
- "Trademark policy": trademark-policy.md
- Release Notes:
- "Release notes index": ReleaseNotes/index.md
- "Percona Operator for MySQL based on Percona XtraDB Cluster 1.16.0 (2024-12-18)": ReleaseNotes/Kubernetes-Operator-for-PXC-RN1.16.0.md
- "Percona Operator for MySQL based on Percona XtraDB Cluster 1.15.1 (2024-10-16)": ReleaseNotes/Kubernetes-Operator-for-PXC-RN1.15.1.md
- "Percona Operator for MySQL based on Percona XtraDB Cluster 1.14.1 (2024-10-16)": ReleaseNotes/Kubernetes-Operator-for-PXC-RN1.14.1.md
- "Percona Operator for MySQL based on Percona XtraDB Cluster 1.15.0 (2024-08-20)": ReleaseNotes/Kubernetes-Operator-for-PXC-RN1.15.0.md
Expand Down