Files
docker-images/apps/postgresql-deploy.yaml
Udo Waechter c6a8464bb2
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
why _?111git statuskubectl apply -n kube-system -f descheduler-cronjob.yaml
2024-09-13 20:09:41 +02:00

129 lines
2.8 KiB
YAML

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: postgres
labels:
app: postgres
env: live
spec:
selector:
matchLabels:
app: postgres
env: live
serviceName: postgres-service
replicas: 1
template:
metadata:
labels:
app: postgres
env: live
spec:
containers:
- name: postgres-exporter
image: quay.io/prometheuscommunity/postgres-exporter
ports:
- containerPort: 9187
protocol: TCP
env:
- name: DATA_SOURCE_NAME
value: "postgresql://postgres:pg2020@localhost:5432/postgres?sslmode=disable"
#value: "port=5432 host=127.0.0.1"
- name: postgres
image: postgres:13
ports:
- containerPort: 5432
protocol: TCP
volumeMounts:
- name: postgres-disk
mountPath: /var/lib/postgresql/data
env:
- name: POSTGRES_PASSWORD
value: pg2020
- name: PGDATA
value: /var/lib/postgresql/data/pgdata
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- prometheus
- loki
topologyKey: kubernetes.io/hostname
# - name: prometheus-exporter
# image: wrouesnel/postgres_exporter
# env:
# - name: DATA_SOURCE_NAME
# value: postgresql://postgres:pg2020@localhost:5432/postgres?sslmode=disable
volumes:
- name: postgres-disk
persistentVolumeClaim:
claimName: postgres-data
# volumeClaimTemplates:
# - metadata:
# name: postgres-disk
# spec:
# accessModes:
# - ReadWriteOnce
# resources:
# requests:
# storage: 10Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgres-data
labels:
app: postgres
spec:
storageClassName: nfs-ssd
volumeName: postgres-data
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 40Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: postgres-data
spec:
storageClassName: "nfs-ssd"
nfs:
path: /data/raid1-ssd/k8s-data/postgres-data
server: ebin01
capacity:
storage: 40Gi
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
persistentVolumeReclaimPolicy: Retain
claimRef:
kind: PersistentVolumeClaim
name: postgres-data
namespace: live-env
---
apiVersion: v1
kind: Service
metadata:
name: postgres
labels:
app: postgres
env: live
spec:
selector:
env: live
type: LoadBalancer
loadBalancerIP: 172.23.255.4
ports:
- name: postgres
port: 5432
targetPort: 5432
- name: exporter
port: 9187
targetPort: 9187