diff --git a/kubernetes/29-web-db.yml b/kubernetes/29-web-db.yml index fe3ef2e..3cf5ac5 100644 --- a/kubernetes/29-web-db.yml +++ b/kubernetes/29-web-db.yml @@ -1,141 +1,141 @@ --- apiVersion: v1 kind: PersistentVolume metadata: name: web-db-pv spec: capacity: storage: 10Gi volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Delete storageClassName: web-db local: path: /srv/softwareheritage-kube/dev/web-db nodeAffinity: required: nodeSelectorTerms: - matchExpressions: # TODO adapt for your needs - key: kubernetes.io/os operator: In values: - linux --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: web-db-pvc spec: accessModes: - ReadWriteOnce storageClassName: web-db resources: requests: storage: 10Gi --- ## TODO Change this to your real postgresql password apiVersion: v1 kind: Secret metadata: name: web-db type: Opaque stringData: POSTGRES_PASSWORD: swh --- apiVersion: v1 kind: ConfigMap metadata: name: web-db data: # property-like keys; each key maps to a simple value POSTGRES_USER: swh POSTGRES_DB: swh-web --- apiVersion: apps/v1 kind: Deployment metadata: name: web-db labels: app: web-db spec: replicas: 1 selector: matchLabels: app: web-db template: metadata: labels: app: web-db spec: containers: - name: web-db image: postgres:13.0 imagePullPolicy: Always ports: - containerPort: 5432 args: - "-c" - "shared_buffers=128MB" - "-c" - "effective_cache_size=128MB" - "-c" - "random_page_cost=1.5" - "-c" - "max_wal_size=128MB" env: - name: POSTGRES_USER valueFrom: configMapKeyRef: name: web-db key: POSTGRES_USER - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: web-db key: POSTGRES_PASSWORD - name: POSTGRES_DB valueFrom: configMapKeyRef: name: web-db key: POSTGRES_DB volumeMounts: - mountPath: "/var/lib/postgresql/data" name: web-db-pvc resources: requests: memory: "50Mi" cpu: "10m" limits: memory: "100Mi" - cpu: "50m" + cpu: "200m" volumes: - name: web-db-pvc persistentVolumeClaim: claimName: web-db-pvc --- apiVersion: v1 kind: Service metadata: name: web-db spec: type: ClusterIP selector: app: web-db ports: - port: 5432 targetPort: 5432 --- apiVersion: v1 kind: Service metadata: name: web-db-dev spec: type: NodePort selector: app: web-db ports: - port: 5437 targetPort: 5432 # internal port of the service