PostgreSQL Kube-ed: HA databases in Kubernetes at Zalando
The talk describes Zalando approach to automating HA PostgreSQL deployment and maintenance in Kubernetes.
Kubernetes is an emerging standard for building PaaS systems based on open-source technologies. It provides automation for rolling out high-availability services on a vast variety of platforms, from AWS and Google to bare metal servers, and schedules running applications between available servers in order to efficiently utilize available resources.
We are going to tell how Zalando DB team has automated the deployment of HA PostgreSQL clusters in Kubernetes by developing a postgres operator that rolls out DB clusters and manages them, executing maintenance tasks from changing the number of replicas to performing database restarts at developers convenience.
Our solution is currently running for staging databases and will shortly go in production. It is based on several time-proven components, namely Spilo and Patroni. We have added the operator that manages PostgreSQL cluster’s life-cycle. All components we are going to talk about are open-source; one can easily try them out on a local computer.