4.3.2
Crunchy Data announces the release of the PostgreSQL Operator 4.3.2 on May 27, 2020.
The PostgreSQL Operator is released in conjunction with the Crunchy Container Suite.
Version 4.3.2 of the PostgreSQL Operator contains bug fixes to the installer container and changes to how CPU/memory requests and limits can be specified.
PostgreSQL Operator is tested with Kubernetes 1.13 - 1.18, OpenShift 3.11+, OpenShift 4.3+, Google Kubernetes Engine (GKE), and VMware Enterprise PKS 1.3+.
Changes
Resource Limit Flags
PostgreSQL Operator 4.3.0 introduced some new options to tune the resource requests for PostgreSQL instances under management and other associated deployments, including pgBackRest and pgBouncer. From some of our learnings of running PostgreSQL in Kubernetes, we heavily restricted how the limits on the Pods could be set, and tied them to be the same as the requests.
Due to feedback from a variety of sources, this caused more issues than it helped, and as such, we decided to introduce a breaking change into a patch release and remove the --enable-*-limit and --disable-*-limit series of flags and replace them with flags that allow you to specifically choose CPU and memory limits.
This release introduces several new flags to various commands, including:
- pgo create cluster --cpu-limit
- pgo create cluster --memory-limit
- pgo create cluster --pgbackrest-cpu-limit
- pgo create cluster --pgbackrest-memory-limit
- pgo create cluster --pgbouncer-cpu-limit
- pgo create cluster --pgbouncer-memory-limit
- pgo update cluster --cpu-limit
- pgo update cluster --memory-limit
- pgo update cluster --pgbackrest-cpu-limit
- pgo update cluster --pgbackrest-memory-limit
- pgo create pgbouncer --cpu-limit
- pgo create pgbouncer --memory-limit
- pgo update pgbouncer --cpu-limit
- pgo update pgbouncer --memory-limit
Additionally, these values can be modified directly in a pgcluster Custom Resource and the PostgreSQL Operator will react and make the modifications.
Other Changes
- The pgo-deployercontainer can now run using an aribtrary UID.
- For deployments of the PostgreSQL Operator using the pgo-deployercontainer to OpenShift 3.11 environments, a new template YAML file,postgresql-operator-ocp311.ymlis provided. This YAML file requires that thepgo-deployeris run withcluster-adminrole for OpenShift 3.11 environments due to the lack of support of theescalateRBAC verb. Other environments (e.g. Kubernetes, OpenShift 4+) still do not requirecluster-admin.
- Allow for the resumption of download the pgoclient if theclient-setup.shscript gets interrupted. Contributed by Itay Grudev (@itay-grudev).
Fixes
- The pgo-deployercontainer now assigns the required Service Account all the appropriategetRBAC privileges via thepostgres-operator.ymlfile that it needs to properly install. This allows theinstallfunctionality to properly work across multiple runs.
- For OpenShift deploymments, the pgo-deployerleverages version 4.4 of theocclient.
- Use numeric UIDs for users in the PostgreSQL Operator management containers to support MustRunAsNonRootPod Security Policies and the like. Reported by Olivier Beyler (@obeyler).