From 0b33a15e87338222dfc2fc3615374cacdec5cee8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Pailharey?= <rpailharey@grandlyon.com> Date: Thu, 2 Feb 2023 18:01:38 +0100 Subject: [PATCH] doc: updated k8s --- k8s/README.md | 13 +++++ k8s/deployments/busybox-deployment.yml | 44 ++++++++++++++++ .../database-restore-deployment.yml | 51 +++++++++++++++++++ 3 files changed, 108 insertions(+) create mode 100644 k8s/deployments/busybox-deployment.yml create mode 100644 k8s/deployments/database-restore-deployment.yml diff --git a/k8s/README.md b/k8s/README.md index f6902a7..f203343 100644 --- a/k8s/README.md +++ b/k8s/README.md @@ -82,6 +82,12 @@ Configuration: - Copier le contenu du fichier k8s/services/ecolyo-agent-database-service.yml dedans - Lancer `oc apply -f ecolyo-agent-database-service.yml` +## Déployer un container de restauration de dump MySQL + +- Depuis VS Code, créer un fichier database-restore-deployment.yml +- Copier le contenu du fichier k8s/deployments/database-restore-deployment.yml dedans +- Lancer `oc apply -f database-restore-deployment.yml` + ### Déployer la base de données Meilisearch - Depuis VS Code, créer un fichier ecolyo-agent-meilisearch-deployment.yml @@ -145,3 +151,10 @@ Configuration: ```s -F *.sql.gz | head -n -72 | xargs -r rm``` - Répéter l'opération pour **mysql-dump-cronjob-daily** et **mysql-dump-cronjob-weekly** + +## Restaurer un dump +- Monter un pod du déploiement "database-restore" +- Rentrer dans le terminal de ce pod +- Aller dans le dossier des dumps horaires `cd /dump/hourly` ou journaliers `cd /dump/hourly` ou hebdomadaires `cd /dump/weekly` +- Décompresser le dump souhaité `gz -d YYYY-MM-dd_hh:mm:ss.sql.gz` +- Restorer ce dump `mysql -uroot -p$MYSQL_ROOT_PASSWORD -h$DATABASE_HOST $MYSQL_DATABASE < YYYY-MM-dd_hh:mm:ss.sql` diff --git a/k8s/deployments/busybox-deployment.yml b/k8s/deployments/busybox-deployment.yml new file mode 100644 index 0000000..51e32c4 --- /dev/null +++ b/k8s/deployments/busybox-deployment.yml @@ -0,0 +1,44 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: busybox + namespace: ns-selfdata-d01-syn +spec: + selector: + matchLabels: + app: httpd + replicas: 1 + template: + metadata: + labels: + app: httpd + spec: + volumes: + - name: data + persistentVolumeClaim: + claimName: pvc-4-ns-selfdata-d01-syn-claim + - name: mysql + persistentVolumeClaim: + claimName: pvc-3-ns-selfdata-d01-syn-claim + containers: + - name: busybox + image: 'busybox:latest' + command: + - sh + - '-c' + - tail -f /dev/null + resources: + limits: + cpu: 100m + memory: 8Mi + requests: + cpu: 100m + memory: 8Mi + volumeMounts: + - name: data + mountPath: /mnt/data + - name: mysql + mountPath: /mnt/mysql + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + imagePullPolicy: Always \ No newline at end of file diff --git a/k8s/deployments/database-restore-deployment.yml b/k8s/deployments/database-restore-deployment.yml new file mode 100644 index 0000000..48e7241 --- /dev/null +++ b/k8s/deployments/database-restore-deployment.yml @@ -0,0 +1,51 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: database-restore + namespace: ns-selfdata-d01-syn +spec: + selector: + matchLabels: + app: httpd + replicas: 0 + template: + metadata: + labels: + app: httpd + spec: + volumes: + - name: pvc-4-ns-selfdata-d01-syn-claim + persistentVolumeClaim: + claimName: pvc-4-ns-selfdata-d01-syn-claim + containers: + - name: mysql-restore + image: 'mysql:5' + env: + - name: MYSQL_DATABASE + valueFrom: + secretKeyRef: + name: ecolyo-agent-database + key: name + - name: MYSQL_ROOT_PASSWORD + valueFrom: + secretKeyRef: + name: ecolyo-agent-database + key: password + - name: DATABASE_HOST + valueFrom: + secretKeyRef: + name: ecolyo-agent-database + key: host + - resources: + limits: + cpu: 100m + memory: 256Mi + requests: + cpu: 100m + memory: 256Mi + volumeMounts: + - name: pvc-4-ns-selfdata-d01-syn-claim + mountPath: /dump + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + imagePullPolicy: IfNotPresent \ No newline at end of file -- GitLab