diff --git a/kubernetes/05-storage-db.yml b/kubernetes/05-storage-db.yml index 48637bd..631e51e 100644 --- a/kubernetes/05-storage-db.yml +++ b/kubernetes/05-storage-db.yml @@ -1,131 +1,131 @@ --- apiVersion: v1 kind: PersistentVolume metadata: name: storage-db-pv spec: capacity: storage: 10Gi volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Delete storageClassName: storage-db local: path: /srv/softwareheritage-kube/dev/storage-db nodeAffinity: required: nodeSelectorTerms: - matchExpressions: # TODO adapt for your needs - key: kubernetes.io/os operator: In values: - linux --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: storage-db-pvc spec: accessModes: - ReadWriteOnce storageClassName: storage-db resources: requests: storage: 10Gi --- ## TODO Change this to your real postgresql password apiVersion: v1 kind: Secret metadata: name: storage-db type: Opaque # data: # POSTGRES_PASSWORD: | # "echo 'strong password' | base64" stringData: POSTGRES_PASSWORD: swh --- apiVersion: v1 kind: ConfigMap metadata: name: storage-db data: # property-like keys; each key maps to a simple value POSTGRES_USER: swh POSTGRES_DB: swh --- apiVersion: apps/v1 kind: Deployment metadata: name: storage-db labels: app: storage-db spec: replicas: 1 selector: matchLabels: app: storage-db template: metadata: labels: app: storage-db spec: containers: - name: storage-db image: postgres:13.0 imagePullPolicy: Always ports: - containerPort: 5432 args: - "-c" - "shared_buffers=512MB" - "-c" - "effective_cache_size=512MB" - "-c" - "random_page_cost=1.5" - "-c" - "max_wal_size=512MB" env: - name: POSTGRES_USER valueFrom: configMapKeyRef: name: storage-db key: POSTGRES_USER - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: storage-db key: POSTGRES_PASSWORD - name: POSTGRES_DB valueFrom: configMapKeyRef: name: storage-db key: POSTGRES_DB volumeMounts: - - mountPath: "/var/lib/postgresql" + - mountPath: "/var/lib/postgresql/data" name: storage-db-pvc resources: requests: memory: "512Mi" cpu: "250m" limits: memory: "1024Mi" cpu: "500m" volumes: - name: storage-db-pvc persistentVolumeClaim: claimName: storage-db-pvc --- apiVersion: v1 kind: Service metadata: name: storage-db spec: type: ClusterIP selector: app: storage-db ports: - port: 5432 targetPort: 5432 diff --git a/kubernetes/15-scheduler-db.yml b/kubernetes/15-scheduler-db.yml index 0847158..4ef68c6 100644 --- a/kubernetes/15-scheduler-db.yml +++ b/kubernetes/15-scheduler-db.yml @@ -1,129 +1,129 @@ --- apiVersion: v1 kind: PersistentVolume metadata: name: scheduler-db-pv spec: capacity: storage: 10Gi volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Delete storageClassName: scheduler-db local: path: /srv/softwareheritage-kube/dev/scheduler-db nodeAffinity: required: nodeSelectorTerms: - matchExpressions: # TODO adapt for your needs - key: kubernetes.io/os operator: In values: - linux --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: scheduler-db-pvc spec: accessModes: - ReadWriteOnce storageClassName: scheduler-db resources: requests: storage: 10Gi --- ## TODO Change this to your real postgresql password apiVersion: v1 kind: Secret metadata: name: scheduler-db type: Opaque stringData: POSTGRES_PASSWORD: swh --- apiVersion: v1 kind: ConfigMap metadata: name: scheduler-db data: # property-like keys; each key maps to a simple value POSTGRES_USER: swh POSTGRES_DB: swh-scheduler --- apiVersion: apps/v1 kind: Deployment metadata: name: scheduler-db labels: app: scheduler-db spec: replicas: 1 selector: matchLabels: app: scheduler-db template: metadata: labels: app: scheduler-db spec: containers: - name: scheduler-db image: postgres:13.0 imagePullPolicy: Always ports: - containerPort: 5432 args: - "-c" - "shared_buffers=512MB" - "-c" - "effective_cache_size=512MB" - "-c" - "random_page_cost=1.5" - "-c" - "max_wal_size=512MB" env: - name: POSTGRES_USER valueFrom: configMapKeyRef: name: scheduler-db key: POSTGRES_USER - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: scheduler-db key: POSTGRES_PASSWORD - name: POSTGRES_DB valueFrom: configMapKeyRef: name: scheduler-db key: POSTGRES_DB volumeMounts: - - mountPath: "/var/lib/postgresql" + - mountPath: "/var/lib/postgresql/data" name: scheduler-db-pvc resources: requests: memory: "512Mi" cpu: "250m" limits: memory: "1024Mi" cpu: "500m" volumes: - name: scheduler-db-pvc persistentVolumeClaim: claimName: scheduler-db-pvc --- apiVersion: v1 kind: Service metadata: name: scheduler-db spec: type: ClusterIP selector: app: scheduler-db ports: - port: 5432 targetPort: 5432 diff --git a/kubernetes/29-web-db.yml b/kubernetes/29-web-db.yml index f3975d6..c5b7bb4 100644 --- a/kubernetes/29-web-db.yml +++ b/kubernetes/29-web-db.yml @@ -1,142 +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=512MB" - "-c" - "effective_cache_size=512MB" - "-c" - "random_page_cost=1.5" - "-c" - "max_wal_size=512MB" 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" + - mountPath: "/var/lib/postgresql/data" name: web-db-pvc resources: requests: memory: "512Mi" cpu: "250m" limits: memory: "1024Mi" cpu: "500m" 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 -