103 lines
2.5 KiB
YAML
103 lines
2.5 KiB
YAML
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
name: databases
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: pgbouncer
|
|
namespace: databases
|
|
spec:
|
|
serviceName: "pgbouncer"
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: pgbouncer
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: pgbouncer
|
|
spec:
|
|
containers:
|
|
- name: pgbouncer
|
|
image: bitnami/pgbouncer:latest
|
|
ports:
|
|
- containerPort: 5432
|
|
env:
|
|
- name: POSTGRESQL_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: secrets
|
|
key: POSTGRES_PASSWORD
|
|
- name: PGBOUNCER_PORT
|
|
value: "5432"
|
|
- name: PGBOUNCER_USER
|
|
value: "postgres"
|
|
- name: PGBOUNCER_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: secrets
|
|
key: POSTGRES_PASSWORD
|
|
- name: POSTGRESQL_HOST
|
|
value: postgres.databases
|
|
- name: PGBOUNCER_DATABASE
|
|
value: nocodelytics_production
|
|
- name: PGBOUNCER_DEFAULT_POOL_SIZE
|
|
value: "100"
|
|
- name: PGBOUNCER_MAX_CLIENT_CONN
|
|
value: "700"
|
|
- name: PGBOUNCER_SERVER_IDLE_TIMEOUT
|
|
value: "60"
|
|
- name: PGBOUNCER_POOL_MODE
|
|
value: session
|
|
- name: PGBOUNCER_RESERVE_POOL_SIZE
|
|
value: "10"
|
|
- name: PGBOUNCER_RESERVE_POOL_TIMEOUT
|
|
value: "5"
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: pgbouncer-exporter
|
|
namespace: databases
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: pgbouncer-exporter
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: pgbouncer-exporter
|
|
annotations:
|
|
prometheus.io/scrape: "true"
|
|
prometheus.io/port: "9127"
|
|
spec:
|
|
containers:
|
|
- name: pgbouncer-exporter
|
|
image: prometheuscommunity/pgbouncer-exporter:latest
|
|
ports:
|
|
- containerPort: 9127
|
|
args:
|
|
- --pgBouncer.connectionString=postgres://postgres:$(POSTGRES_PASSWORD)@pgbouncer.databases:5432/pgbouncer?sslmode=disable
|
|
- --web.listen-address=:9127
|
|
env:
|
|
- name: POSTGRES_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: secrets
|
|
key: POSTGRES_PASSWORD
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: pgbouncer
|
|
namespace: databases
|
|
spec:
|
|
ports:
|
|
- port: 5432
|
|
targetPort: 5432
|
|
selector:
|
|
app: pgbouncer
|