EDB CloudNativePG Cluster v1
The EDB Postgres for Kubernetes operator is a fork based on CloudNativePG. It provides additional value such as compatibility with Oracle using EDB Postgres Advanced Server and additional supported platforms such as IBM Power and OpenShift. It is designed, developed, and supported by EDB and covers the full lifecycle of a highly available Postgres database clusters with a primary/standby architecture, using native streaming replication.
EDB Postgres for Kubernetes was made generally available on February 4, 2021. Earlier versions were made available to selected customers prior to the GA release.
Note
The operator has been renamed from Cloud Native PostgreSQL. Existing users of Cloud Native PostgreSQL will not experience any change, as the underlying components and resources have not changed.
Key features in common with CloudNativePG
- Kubernetes API integration for high availability
- CloudNativePG uses the
postgresql.cnpg.io/v1
API version - EDB Postgres for Kubernetes uses the
postgresql.k8s.enterprisedb.io/v1
API version
- CloudNativePG uses the
- Self-healing through failover and automated recreation of replicas
- Capacity management with scale up/down capabilities
- Planned switchovers for scheduled maintenance
- Read-only and read-write Kubernetes services definitions
- Rolling updates for Postgres minor versions and operator upgrades
- Continuous backup and point-in-time recovery
- Connection Pooling with PgBouncer
- Integrated metrics exporter out of the box
- PostgreSQL replication across multiple Kubernetes clusters
- Separate volume for WAL files
Features unique to EDB Postgres of Kubernetes
- Long Term Support
- Support on IBM Power and z/Linux through partnership with IBM
- Oracle compatibility through EDB Postgres Advanced Sever
- Transparent Data Encryption (TDE) through EDB Postgres Advanced Server
- Cold backup support with Kasten and Velero/OADP
- Generic adapter for third-party Kubernetes backup tools
You can evaluate EDB Postgres for Kubernetes for free as part of a trial subscription. You need a valid EDB subscription to use EDB Postgres for Kubernetes in production.
Note
Based on the Operator Capability Levels model, users can expect a "Level V - Auto Pilot" set of capabilities from the EDB Postgres for Kubernetes Operator.
Long Term Support
EDB is committed to declaring a Long Term Support (LTS) version of EDB Postgres for Kubernetes annually. 1.22 is the current LTS version. 1.18 was our first. Each LTS version will receive maintenance releases and be supported for an additional 12 months beyond the last community release of CloudNativePG for the same version.
For example, the 1.22 release of CloudNativePG will reach End-of-Life on July 24, 2024, for the open source community. Because it was declared an LTS version of EDB Postgres for Kubernetes, it will be supported for an additional 12 months, until July 24, 2025.
In addition, customers will always have at least 6 months to move between LTS versions. This means a new LTS version will be available by January 24, 2025 at the latest.
While we encourage customers to regularly upgrade to the latest version of the operator to take advantage of new features, having LTS versions allows customers desiring additional stability to stay on the same version for 12-18 months before upgrading.
Licensing
EDB Postgres for Kubernetes works with both PostgreSQL, EDB Postgres Extended and EDB Postgres Advanced server, and is available under the EDB Limited Use License.
You can evaluate EDB Postgres for Kubernetes for free as part of a trial subscription. You need a valid EDB subscription to use EDB Postgres for Kubernetes in production.
Supported releases and Kubernetes distributions
For a list of the minor releases of EDB Postgres for Kubernetes that are supported by EDB, please refer to the "Platform Compatibility" page. Here you can also find which Kubernetes distributions and versions are supported for each of them and the EOL dates.
Multiple architectures
The EDB Postgres for Kubernetes Operator container images support the multi-arch
format for the following platforms: linux/amd64
, linux/arm64
, linux/ppc64le
, linux/s390x
.
Warning
EDB Postgres for Kubernetes requires that all nodes in a Kubernetes cluster have the
same CPU architecture, thus a hybrid CPU architecture Kubernetes cluster is not
supported. Additionally, EDB supports linux/ppc64le
and linux/s390x
architectures
on OpenShift only.
Supported Postgres versions
The following versions of Postgres are currently supported:
- PostgreSQL: 12 - 17
- EDB Postgres Advanced: 12 - 16
- EDB Postgres Extended: 12 - 16
PostgreSQL and EDB Postgres Advanced are available on the following platforms:
linux/amd64
, linux/ppc64le
, linux/s390x
. \
In addition, PostgreSQL is also supported on linux/arm64
. \
EDB Postgres Extended is supported only on linux/amd64
. \
EDB supports operand images for linux/ppc64le
and linux/s390x
architectures
on OpenShift only.
About this guide
Follow the instructions in the "Quickstart" to test EDB Postgres for Kubernetes on a local Kubernetes cluster using Kind, or Minikube.
In case you are not familiar with some basic terminology on Kubernetes and PostgreSQL, please consult the "Before you start" section.
Note
Although the guide primarily addresses Kubernetes, all concepts can be extended to OpenShift as well.
Postgres, PostgreSQL and the Slonik Logo are trademarks or registered trademarks of the PostgreSQL Community Association of Canada, and used with their permission.