Like last Christmas, Zalando's Postgres as a Service team is closing the year 2020 with a new release of the Postgres Operator for Kubernetes. Is this a tradition now? Lets see what we have for 'ya.
This release includes support for the newest major version of PostgreSQL - Spilo 13 with Patroni 2.0 . With this new release and the new Spilo image we trial easy in place upgrade, currently manual execution. The upgrade has become a lot easier now. It can be initiated via changing the version number in the PostgreSQL cluster manifest and requires manually running an upgrade script on the master instance after pods are rotated. Not fully automatic yet, but still a lot faster than cloning existing clusters.
So far, online volume resize (without failover) was only supported on AWS and required privileged containers to update the file system. With the new storage_resize_mode
option, users can choose to update only the PersistentVolumeClaims
and let Kubernetes handle the resize propagation to volumes. This is the new default and you can disable the spilo_privileged
option if you still use it.
To avoid easy deletes of Postgres manifests which can have a big impact despite easy but timely restore from e.g. AWS S3 you can now enable delete protection. This safeguards you from unintentional deletions of the manifests. The delete is only executed if the manifest is marked for delete via annotations. Ideally you supplement this on K8s admission controller level.
The connection pooler can now be enabled via the Postgres manifest for replica and master services alike, so that you can also easily scale your read workload to larger application connection counts.
Many more improvements have been made since the last release in May. We are still very happy to see a lot of contributions coming from our developer and Postgres community. Among others it brought us:
NodeAffinity
supportExternalTrafficPolicy
for servicescram-sha-256
hash support for password encryptionFurthermore, our team provided the following additions:
search_path
for default roles of databases in the manifestHave a closer look on our detailed changelog and the docs. There are a few breaking changes to allow major version upgrades that will e.g. change your WAL backup path.
Enjoy this new release. We are happy for your feedback and further contribution!
Stay healthy!