dmhumph / postgres-operator

PostgreSQL Operator Creates/Configures/Manages PostgreSQL Clusters on Kubernetes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Crunchy Data PostgreSQL Operator

Latest Release: 3.4.0 2023-12-17

General

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

Documentation

Please view the official Crunchy Data PostgreSQL Operator documentation here. If you are interested in contributing or making an update to the documentation, please view the Contributing Guidelines.

Official Documentation

If you are looking for the latest documentation, please see the develop branch which is considered unstable. The development documentation can be reviewed here

Installation

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

If you’re seeking to upgrade your existing Operator installation, please visit the Upgrading the Operator page. Also, read the Release Notes as to details on recent changes to the Operator.

What is the Operator?

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 How It Works page.

Requirements

The postgres-operator runs on any Kubernetes and Openshift platform that supports Custom Resource Definitions.

The Operator project builds and operates with the following containers -

This Operator is developed and tested on the following operating systems but is known to run on other operating systems -

  • CentOS 7

  • RHEL 7

Installation

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

If you’re seeking to upgrade your existing Operator installation, please visit the Upgrading the Operator 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.

Getting Started

postgres-operator commands are documented on the Getting Started page.

About

PostgreSQL Operator Creates/Configures/Manages PostgreSQL Clusters on Kubernetes

License:Apache License 2.0


Languages

Language:Go 49.3%Language:CSS 21.1%Language:JavaScript 19.3%Language:HTML 7.6%Language:Shell 1.9%Language:Roff 0.4%Language:Makefile 0.4%Language:Smarty 0.1%