jfusterm / postgres-operator

PostgreSQL Operator Creates/Configures/Manages PostgreSQL Clusters on Kubernetes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hyla Arborea

PostgreSQL Operator

v2.6, 2024-07-17

The postgres-operator is a controller that runs within a Kubernetes cluster that provides a means to deploy and manage PostgreSQL clusters.

Use the postgres-operator to:

  • deploy PostgreSQL containers including streaming replication clusters

  • scale up PostgreSQL clusters with extra replicas

  • add pgpool and metrics sidecars to PostgreSQL clusters

  • apply SQL policies to PostgreSQL clusters

  • assign metadata tags to PostgreSQL clusters

  • maintain PostgreSQL users and passwords

  • perform minor and major upgrades to PostgreSQL clusters

  • load simple CSV and JSON files into PostgreSQL clusters

  • perform database backups

Design

The postgres-operator design incorporates the following concepts:

  • adds Custom Resource Definitions for PostgreSQL to Kubernetes

  • adds controller logic that watches events on PostgreSQL resources

  • provides a command line client (pgo) and REST API for interfacing with the postgres-operator

  • provides for very customized deployments including container resources, storage configurations, and PostgreSQL custom configurations

More design information is found on the Design page.

Requirements

The postgres-operator runs on Kubernetes and Openshift platforms that support CRD (custom resource definitions).

Quickstart

Quickstart scripts are provided for GKE and Openshift currently. More information is found on the Quickstarts page.

Installation

To build and deploy the Operator on your Kubernetes system, follow the instructions documented on the Installation page.

Configuration

The operator is template-driven; this makes it simple to configure both the client and the operator. The configuration options are documented on the Configuration page.

Commands

postgres-operator commands are documented on the Commands page.

Building From Source

For people wanting to build from source, instructions are documented on the Build page.

About

PostgreSQL Operator Creates/Configures/Manages PostgreSQL Clusters on Kubernetes

License:Apache License 2.0


Languages

Language:Go 94.2%Language:Shell 4.6%Language:Makefile 0.9%Language:Python 0.2%Language:Smarty 0.1%