Belaid Youba Hadj Arab, Etienne Deneuve
Feb 20, 2024 · 2 min
read
Système de backup pour Kibana avec Cronjob
Qu’est ce qu’un cronjob ?
CronJob créer de job de façon périodique. il est destiné à l’exécution d’actions régulières programmées telles que les sauvegardes, la génération de rapports, etc. Il exécute périodiquement un travail selon un calendrier donné, écrit au format Cron.
Persistent Volume & Persistent Volume Claim
- Avant de déployer notre cronjob, nous devons d’abord préparer le terrain en déployant un
Persistent Volumeainsi qu’unPersistent Volume Claim. c’est grace a eux qu’on pourra lier notre dossier où iront les backup et notre storage account.
Voilà le premier
yamlqu’on nommerafileshare-pv.yamlqui sera lePersistent Volume:apiVersion: v1kind: PersistentVolumemetadata:annotations:pv.kubernetes.io/provisioned-by: file.csi.azure.comname: azurefilekibananamespace: <namespace-ou-est-déployé-kibana>spec:capacity:storage: 10GiaccessModes:- ReadWriteManypersistentVolumeReclaimPolicy: RetainstorageClassName: azurefile-csicsi:driver: file.csi.azure.comreadOnly: falsevolumeHandle: unique-volumeidvolumeAttributes:resourceGroup:shareName:nodeStageSecretRef:name: azure-secretnamespace: <namespace-ou-est-déployé-kibana>mountOptions:- dir_mode=0777- file_mode=0777- uid=0- gid=0- mfsymlinks- cache=strict- nosharesock- nobrlLe deuxième yaml, qu’on nommera
fileshare-pvc.yamlsera quant a lui lePersistent Volume Claim:apiVersion: v1kind: PersistentVolumeClaimmetadata:name: azurefilekibananamespace: <namespace-ou-est-déployé-kibana>spec:accessModes:- ReadWriteManystorageClassName: azurefile-csiresources:requests:storage: 10GiEt le dernier yaml sera celui qui contiendra les
credentialspour pouvoir se lier a notrestorage account, on le nommerafileshare-secret.yaml:apiVersion: v1kind: Secretmetadata:name: azure-secretnamespace: estype: Opaquedata:azurestorageaccountkey: # doit être obligatoirement encodé en base64azurestorageaccountname: # doit être obligatoirement encodé en base64Pour récupérer la
azurestorageaccountkey, allez dans portal, puis dans lestorage account, et enfinAccess keys.
Le cronjob
- Pour que notre
cronjobpuisse fonctionner, il aura besoin de 3 composants :
- le
dockerconfigjsonqui sera utilisé pourpulll’image docker que nous avons crée et push dans le azure container registry
Backup Kibana Tutorial