diff options
Diffstat (limited to 'kubernetes/postgres')
-rwxr-xr-x | kubernetes/postgres/deploy.sh | 9 | ||||
-rw-r--r-- | kubernetes/postgres/postgres-data-volume.yaml | 12 | ||||
-rw-r--r-- | kubernetes/postgres/postgres-deployment.yaml | 74 | ||||
-rw-r--r-- | kubernetes/postgres/postgres-secret.yaml | 12 |
4 files changed, 107 insertions, 0 deletions
diff --git a/kubernetes/postgres/deploy.sh b/kubernetes/postgres/deploy.sh new file mode 100755 index 0000000..0397ea4 --- /dev/null +++ b/kubernetes/postgres/deploy.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh + +kubectl apply -f ./postgres-secret.yaml +kubectl apply -f ./postgres-data-volume.yaml +kubectl apply -f ./postgres-deployment.yaml + +# kubectl delete pod mongodb +# kubectl delete pvc +# kubectl delete pv diff --git a/kubernetes/postgres/postgres-data-volume.yaml b/kubernetes/postgres/postgres-data-volume.yaml new file mode 100644 index 0000000..a758366 --- /dev/null +++ b/kubernetes/postgres/postgres-data-volume.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + creationTimestamp: null + name: postgres-data +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 500Mi +status: {} diff --git a/kubernetes/postgres/postgres-deployment.yaml b/kubernetes/postgres/postgres-deployment.yaml new file mode 100644 index 0000000..2711117 --- /dev/null +++ b/kubernetes/postgres/postgres-deployment.yaml @@ -0,0 +1,74 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: postgres + labels: + app: postgres +spec: + replicas: 1 + selector: + matchLabels: + app: postgres + template: + metadata: + labels: + app: postgres + spec: + containers: + - name: postgres + image: postgres:14.2-alpine3.15 + ports: + - containerPort: 5432 + env: + # - name: POSTGRES_USER + # valueFrom: + # secretKeyRef: + # name: postgres-secrets + # key: postgres-user + # optional: false + # - name: POSTGRES_DB + # valueFrom: + # secretKeyRef: + # name: postgres-secrets + # key: postgres-db + # optional: false + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: postgres-secrets + key: postgres-password + optional: false + # - name: POSTGRES_INITDB_ARGS + # valueFrom: + # secretKeyRef: + # name: postgres-secrets + # key: postgres-initdb-args + # optional: false + - name: POSTGRES_HOST_AUTH_METHOD + valueFrom: + secretKeyRef: + name: postgres-secrets + key: postgres-host-auth-method + optional: false + volumeMounts: + - name: postgres-data + mountPath: /var/lib/postgres/data + volumes: + - name: postgres-data + persistentVolumeClaim: + claimName: postgres-data +--- +apiVersion: v1 +kind: Service +metadata: + name: postgres-service +spec: + selector: + app: postgres + type: LoadBalancer + ports: + - protocol: TCP + name: "5432" + port: 5432 + targetPort: 5432 + nodePort: 30432 diff --git a/kubernetes/postgres/postgres-secret.yaml b/kubernetes/postgres/postgres-secret.yaml new file mode 100644 index 0000000..b47853b --- /dev/null +++ b/kubernetes/postgres/postgres-secret.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Secret +metadata: + name: postgres-secrets +type: Opaque +data: + postgres-password: ZGV2aQo= + postgres-user: ZGV2aQo= + postgres-db: ZGV2aQo= + # postgres-host-auth-method: c2NyYW0tc2hhLTI1Ngo= + postgres-host-auth-method: bWQ1Cg== + postgres-initdb-args: LWF1dGgtaG9zdD1zY3JhbS1zaGEtMjU2Cg== |