9. Postgrescluster

A postgres cluster Helm chart for Graphistry on Kubernetes

9.1. Install Postgres Cluster

NOTE: This chart requires the Postgres Operator to be installed. See Postgres-operator for information on how to install the Postgres Operator.

git clone https://github.com/graphistry/graphistry-helm && cd graphistry-helm
helm upgrade -i  postgres-cluster ./charts/postgres-cluster --namespace graphistry --create-namespace

9.2. Configuring Postgres Cluster

After Cluster is deployed, find the pv that is created and add the following label to it. This will allow the cluster to bind the pv to the pod upon redeployment.

kubectl get pv -n graphistry && kubectl label pv <pv name for the postgres instance> pgo-postgres-cluster=graphistry-postgres

Change the postgres password if needed. The default password is randomly generated AlphaNumeric string.

kubectl patch secret -n postgres-operator postgres-pguser-graphistry -p '{"stringData":{"password":"<password>","verifier":""}}'

9.3. Configuration

The following table lists the configurable parameters of the Postgrescluster chart and their default values.

Parameter

Description

Default

global.provisioner

storage class provisioner

"kubernetes.io/aws-ebs"

global.multiNode

multinode selector switch to determine if going multi/single node

false

global.containerregistry.name

"acrgraphistryk8s.azurecr.io"

global.devMode

dev mode for debugging with nexus, postgres and nginx

false

global.postgres.repository

postgres repository name

"graphistry-postgres"

global.postgres.name

postgres db name

"graphistry"

global.postgres.user

postgres db user

"graphistry"

global.postgres.port

port for postgres service to listen on

5432

global.postgres.host

hostname for postgres

"postgres"

global.tag

tag for the docker image

"latest"

global.imagePullPolicy

image pull policy could also be Always

"IfNotPresent"

global.restartPolicy

restart policy

"Always"

global.imagePullSecrets

image pull secrets name

[]

global.nodeSelector

node selector to determine which node to deploy cluster to

null

global.logs.LogLevel

"INFO"

global.logs.GraphistryLogLevel

"INFO"

global.postgresVolumeLabel

postgres volume label

null

For more information on the CrunchyData Postgres Cluster visit the PGO documentation: CrunchyData PGO Documentation