Today we are proud to announce the general availability of EDB Postgres on Kubernetes 2.5, which includes many new features such as EDB Postgres Kubernetes Operator. More and more organizations are developing cloud native applications using containerized databases and need a simpler way to put the power of Postgres in developers’ hands. EDB Postgres Kubernetes Operator does just that—it reduces complexity by managing and automating the database lifecycle.
Release 2.5 also formalizes the rebranding of our offering from EDB Postgres Platform for Containers to EDB Postgres on Kubernetes. We made this name change because Kubernetes is clearly the winner in container orchestration and because our customers’ new application development strategies are built around Kubernetes.
Problems that an Operator Solves
Have you ever deployed a Postgres cluster on Kubernetes? Doing so often requires you to tweak YAML files, install Helm charts, or kick off the right Jenkins jobs. This is not an easy process because there are a number of steps involved, especially if you want to set up standbys or add load balancing. The task can be daunting, because if you are a developer you need to know both Postgres and Kubernetes. It would be better to abstract Kubernetes and leverage your existing Postgres knowledge so you can fire up a database on demand and focus on writing code. EDB Postgres Kubernetes Operator encapsulates the knowledge of your DBAs or Site Reliability Engineers into a process that can get you up and running quickly and reliably. It improves the Postgres user experience without having to know much about Kubernetes or Docker.
What is a Kubernetes Operator?
CoreOS, now part of Red Hat, introduced Operators as “an application-specific controller that extends the Kubernetes API to create, configure, and manage instances of complex stateful applications on behalf of a Kubernetes user.” In simpler words, the Operator is a process (running in a pod) that uses custom Kubernetes resources (resources that don’t exist in Kubernetes by default) and communicates with the Kubernetes API Server to manage and automate the application’s lifecycle. Typical lifecycle actions for databases are deployment, monitoring, scaling up/down, recovery, and upgrades. Operators are useful for managing stateless and stateful applications such as databases and monitoring systems. Databases are complex applications because they require application domain knowledge to correctly scale, upgrade, and reconfigure, while protecting against data loss or unavailability. Each Postgres cluster can have its own Operator, or a single instance of the Operator can manage multiple clusters, enabling developers to deploy, configure, and manage Postgres without deep Kubernetes knowledge. Operators can keep applications up-to-date for security purposes, simplifying application lifecycle management.
EDB Postgres Kubernetes Operator Benefits
With EDB Postgres Kubernetes Operator, you can consistently and effortlessly deploy and manage Postgres, all through a simple, declarative configuration. Kubernetes users can utilize the EDB Postgres Kubernetes Operator on self-managed infrastructure—whether on-premise or in the cloud. Key features and benefits include:
- Deploy Postgres clusters of any size, including streaming replication clusters, to maintain high availability.
- Scale up Postgres clusters with extra replicas to optimize for read availability during peak workloads.
- Enforce standardized cluster configurations such as security settings, resilience, resource limits, and more for better governance.
- Reduce configuration drift across application environments (dev, stage, production) or infrastructure (on-premise or cloud).
- DevOps teams can create client applications, test, and launch them knowing that database behavior will be consistent.
- Leverage CI/CD pipelines and bring Postgres to your DevOps practice.
EDB Postgres on Kubernetes
We anticipate that EDB Postgres Kubernetes Operator will help reduce the time it takes to create and deploy new applications and assist in keeping Postgres in the desired state. EDB Postgres Kubernetes Operator is one of the containers included with EDB Postgres on Kubernetes. These containers are offered as one solution because they are designed, tested, and integrated to deliver enterprise features, including high availability and disaster recovery. You can use EDB Postgres on Kubernetes with upstream Kubernetes or popular platforms such as Red Hat OpenShift and Google Kubernetes Engine. Why not try it today?