Skip to content

Instantly share code, notes, and snippets.

@andersonkxiass
Created March 29, 2020 01:12
Show Gist options
  • Save andersonkxiass/78893f0983ba58184b9b6c93f5ad7987 to your computer and use it in GitHub Desktop.
Save andersonkxiass/78893f0983ba58184b9b6c93f5ad7987 to your computer and use it in GitHub Desktop.
apiVersion: v1
kind: Secret
metadata:
name: pg-credentials
type: Opaque
data:
user: cG9zdGdyZXM=
password: cGFzcw==
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: postgres-pv
labels:
type: local
spec:
capacity:
storage: 2Gi
storageClassName: standard
accessModes:
- ReadWriteOnce
hostPath:
path: "/data/postgres-pv"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgres-pvc
labels:
type: local
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
volumeName: postgres-pv
storageClassName: standard
---
kind: Deployment
apiVersion: apps/v1
metadata:
name: postgres
namespace: default
labels:
app: database
name: postgres
spec:
replicas: 1
selector:
matchLabels:
app: database
task: postgres
template:
metadata:
labels:
app: database
task: postgres
spec:
containers:
- name: postgres
image: postgres:12-alpine
env:
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: pg-credentials
key: user
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: pg-credentials
key: password
volumeMounts:
- name: postgres-volume-mount
mountPath: /var/lib/postgresql/data
ports:
- containerPort: 5432
volumes:
- name: postgres-volume-mount
persistentVolumeClaim:
claimName: postgres-pvc
restartPolicy: Always
---
apiVersion: v1
kind: Service
metadata:
name: postgres
namespace: default
spec:
selector:
app: database
task: postgres
ports:
- name: http
port: 5432
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment