Nenhuma Descrição

postgres.yaml 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. ---
  2. # Here I have used a hostpath
  3. # Local volumes can only be used as a statically created PersistentVolume. Dynamic provisioning is not supported.
  4. # If you need to go with Dynamic volumes you may choose AWS EBS or EFS
  5. kind: PersistentVolume
  6. apiVersion: v1
  7. metadata:
  8. name: postgres-pv-volume
  9. labels:
  10. app: {{ .Values.postgres.app }}
  11. spec:
  12. storageClassName: pv
  13. capacity:
  14. storage: 5Gi
  15. accessModes:
  16. - ReadWriteMany
  17. hostPath:
  18. path: /var/lib/data
  19. ---
  20. kind: PersistentVolumeClaim
  21. apiVersion: v1
  22. metadata:
  23. name: postgres-pv-claim
  24. labels:
  25. app: {{ .Values.postgres.app }}
  26. spec:
  27. storageClassName: pv
  28. accessModes:
  29. - ReadWriteMany
  30. resources:
  31. requests:
  32. storage: 5Gi
  33. ---
  34. apiVersion: apps/v1
  35. kind: Deployment
  36. metadata:
  37. name: {{ .Values.postgres.name }}
  38. spec:
  39. replicas: {{ .Values.postgres.replicaCount }}
  40. selector:
  41. matchLabels:
  42. app: {{ .Values.postgres.app }}
  43. template:
  44. metadata:
  45. labels:
  46. app: {{ .Values.postgres.app }}
  47. spec:
  48. securityContext:
  49. {{- toYaml .Values.postgres.podSecurityContext | nindent 8 }}
  50. containers:
  51. - name: {{ .Values.postgres.name }}
  52. securityContext:
  53. {{- toYaml .Values.postgres.securityContext | nindent 12 }}
  54. resources:
  55. {{- toYaml .Values.postgres.resources | nindent 12 }}
  56. image: "{{ .Values.postgres.image}}:{{ .Values.postgres.tag }}"
  57. imagePullPolicy: "{{ .Values.postgres.imagePullPolicy }}"
  58. env:
  59. - name: POSTGRES_DB # Setting Database name
  60. value: {{ .Values.postgres.POSTGRES_DB | quote }}
  61. - name: POSTGRES_USER # Setting Database username
  62. value: {{ .Values.postgres.POSTGRES_USER | quote }}
  63. - name: POSTGRES_PASSWORDD # Setting Database password
  64. value: {{ .Values.postgres.POSTGRES_PASSWORD | quote }}
  65. - name: POSTGRES_ADMIN_USER # Setting Database admin user
  66. value: {{ .Values.postgres.POSTGRES_ADMIN_USER | quote }}
  67. - name: POSTGRES_ADMIN_PASSWORD # Setting Database admin password
  68. value: {{ .Values.postgres.POSTGRES_ADMIN_PASSWORD | quote }}
  69. - name: POSTGRES_PORT # Setting Database port
  70. value: {{ .Values.postgres.POSTGRES_PORT | quote }}
  71. - name: POSTGRES_HOST_AUTH_METHOD
  72. value: trust
  73. ports:
  74. - containerPort: 5432
  75. volumeMounts:
  76. - mountPath: /var/lib/postgresql/data
  77. name: postgredb
  78. volumes:
  79. - name: postgredb
  80. persistentVolumeClaim:
  81. claimName: postgres-pv-claim
  82. ---
  83. apiVersion: v1
  84. kind: Service
  85. metadata:
  86. name: {{ .Values.postgres.name }}
  87. labels:
  88. app: {{ .Values.postgres.app }}
  89. spec:
  90. type: ClusterIP
  91. ports:
  92. - port: {{ .Values.postgres.service.port }}
  93. selector:
  94. app: {{ .Values.postgres.app }}
  95. ---