The source code and default configuration of the Building Block is available on our code.syseleven.de. Infos on release notes and new features please follow Release note on CloudnativePG.
The Building Block consists of:
CloudNativePG is a comprehensive open source platform designed to seamlessly manage PostgreSQL databases within Kubernetes environments, covering the entire operational lifecycle from initial deployment to ongoing maintenance. The main component is the CloudNativePG operator (as cited in here).
The Building Block as a DBMS-Application is preconfigured as scalable setup. This means you need at least three (3) Nodes to efficiently run this application.
Make sure that:
For the best experience it is recommended to use the Kube-Prometheus-Stack Building Block.
CPU/vCPU | Memory | Storage |
---|---|---|
9 | 18472MiB | up to 100 GB |
You are good to go with the recommended cluster configuration to meet the pg-operator recommended configuration. Keep in mind that it also needs to fit your use case and your requirements.
First add a pg-operator directory inside our control repo. e.g.
mkdir syseleven-cloudnative-pg
cd syseleven-cloudnative-pg
Create a .gitlab-ci.yaml inside this directory and paste the following content.
include:
- project: syseleven/building-blocks/helmfiles/cloudnative-pg
file: JobDevelopment.yaml
ref: 0
For this Building Block you need to fulfill some prerequisites if you would like to follow our recommendation to configure an automatic backup.
To get your S3 keys use the openstack cmd.
openstack ec2 credentials list
# get your access key within the first coloum called **Acccess**
openstack ec2 credentials show <Access>
# fetch the values from the field **access** for the AWS_ACCESS_KEY_ID and secret for the AWS_SECRET_ACCESS_KEY
see a detailed instruction and more here
Go to your gitlab repository Settings -> CICD - Variables
and enter the above requested attributes as the environment variables S3_ACCESS_KEY
S3_SECRET_KEY
. They are used in the values-cloudnative-pg-cluster.yaml.gotmpl
to create the values for the keys backups.s3.accessKey
and backups.s3.secretKey
.
When done, add the following Value to to values-cloudnative-pg-cluster(-$ENVIRONMENT)
whereas $ENVIRONMENT
are the supported cluster environments. We provide templates for the environments development
, staging
and operation
:
#e.g. values-cloudnative-pg-cluster.yaml
backups:
enabled: true
The Building Block is designed for the default Storageclass sys11-quobyte-external-provisioner
.
if you want to use local storage, please follow the Instructions on local-path-provisioner and add the configuration on cluster.affinity
.
Please find more infos on release notes and new features Release notes CloudnativePG.