kubernetes_django_postgres_redis
kubernetes_django_postgres_redis copied to clipboard
Is there really a need to make your own postgres image?
Hello @waprin, thanks for making this project. I have encountered some issues making my own test project on minikube
for Django and looking for solutions I found yours.
You make your own postgres
image:
https://github.com/waprin/kubernetes_django_postgres_redis/blob/master/kubernetes_configs/postgres/postgres_image/Dockerfile
But as described on https://hub.docker.com/_/postgres/, you could set those environment variables with no need of making your own image:
apiVersion: v1
kind: Service
metadata:
name: postgres-master
labels:
app: postgres
tier: backend
role: master
spec:
selector:
app: postgres
tier: backend
role: master
ports:
- port: 5432
targetPort: 5432
clusterIP: None
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: postgres-data
spec:
accessModes:
- ReadWriteOnce
capacity:
storage: 1Gi
hostPath:
path: /data/postgres-data/
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgresdata-claim
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: Secret
metadata:
name: postgres-secret
type: Opaque
data:
username: dGVzdGluZwo=
password: dGVzdGluZwo=
database: dGVzdGluZwo=
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: postgres-master
spec:
replicas: 1
progressDeadlineSeconds: 600
minReadySeconds: 15
revisionHistoryLimit: 5
template:
metadata:
labels:
app: postgres
role: master
tier: backend
spec:
containers:
- image: postgres:9.6-alpine
imagePullPolicy: "IfNotPresent"
name: master
env:
- name: PGDATA
value: /var/lib/postgresql/data/pgdata
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: postgres-secret
key: username
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: postgres-secret
key: password
- name: POSTGRES_DB
valueFrom:
secretKeyRef:
name: postgres-secret
key: database
ports:
- containerPort: 5432
name: postgres-master
volumeMounts:
- name: postgres-data
mountPath: "/var/lib/postgresql/data"
volumes:
- name: postgres-data
persistentVolumeClaim:
claimName: postgresdata-claim
What are your thoughts on this? Thanks again.
Yep it was probably a mistake, need to take another pass at this repo.
To whoever inspired be the snippet above, please note that 'dGVzdGluZwo=' is a base64 version of 'testing\n', not 'testing'. Don't get a bite. :-)