homelab/kubernetes: cloudnative-pg how to copy existing db
- add documentation regarding how to copy existing DB using cloudnative-pg
This commit is contained in:
49
kubernetes/cloud-native-pg/create-cluster-main.yaml
Normal file
49
kubernetes/cloud-native-pg/create-cluster-main.yaml
Normal file
@ -0,0 +1,49 @@
|
||||
apiVersion: postgresql.cnpg.io/v1
|
||||
kind: Cluster
|
||||
metadata:
|
||||
name: master-postgres
|
||||
spec:
|
||||
instances: 1
|
||||
bootstrap:
|
||||
initdb:
|
||||
import:
|
||||
type: monolith
|
||||
databases:
|
||||
- giteadb
|
||||
- reservemaster
|
||||
roles:
|
||||
- gitea
|
||||
- postgres
|
||||
- taqi
|
||||
source:
|
||||
externalCluster: pg-main
|
||||
storage:
|
||||
size: 5Gi
|
||||
storageClass: longhorn-2x
|
||||
externalClusters:
|
||||
- name: pg-main
|
||||
connectionParameters:
|
||||
host: 192.168.1.142
|
||||
user: postgres
|
||||
dbname: postgres
|
||||
password:
|
||||
name: my-postgres-postgresql
|
||||
key: postgres-password
|
||||
# Backup properties for MinIO
|
||||
backup:
|
||||
barmanObjectStore:
|
||||
destinationPath: s3://pgmain
|
||||
endpointURL: ${MINIO_ENDPOINT_URL}
|
||||
s3Credentials:
|
||||
accessKeyId:
|
||||
name: minio-creds
|
||||
key: ACCESS_KEY_ID
|
||||
secretAccessKey:
|
||||
name: minio-creds
|
||||
key: ACCESS_SECRET_KEY
|
||||
wal:
|
||||
compression: gzip
|
||||
data:
|
||||
compression: gzip
|
||||
retentionPolicy: "15d"
|
||||
|
||||
10
kubernetes/cloud-native-pg/pg-main-backup.yaml
Normal file
10
kubernetes/cloud-native-pg/pg-main-backup.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
apiVersion: postgresql.cnpg.io/v1
|
||||
kind: ScheduledBackup
|
||||
metadata:
|
||||
name: pg-main-backup
|
||||
spec:
|
||||
immediate: true
|
||||
schedule: "0 0 0 * * *" # At midnight every day
|
||||
backupOwnerReference: self
|
||||
cluster:
|
||||
name: master-postgres
|
||||
12
kubernetes/cloud-native-pg/pgmain-svc.yaml
Normal file
12
kubernetes/cloud-native-pg/pgmain-svc.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: pgmain-svc
|
||||
spec:
|
||||
type: LoadBalancer
|
||||
ports:
|
||||
- port: 5432
|
||||
targetPort: 5432
|
||||
selector:
|
||||
cnpg.io/cluster: master-postgres
|
||||
|
||||
Reference in New Issue
Block a user