Aller au contenu principal
Version: 1.0.0

MariaDB/MySQL

Le service Managed MariaDB offre une solution de base de données relationnelle puissante et largement utilisée. Ce service permet de créer et gérer facilement un cluster MariaDB répliqué.


Exemple de Configuration

Voici un exemple de configuration YAML pour un déploiement MariaDB avec deux réplicas et des sauvegardes activées :

apiVersion: apps.cozystack.io/v1alpha1
kind: MySQL
metadata:
name: mariadb-example
spec:
external: true
size: 20Gi
replicas: 2
storageClass: "replicated"
users:
admin:
password: "secure-password"
databases:
mydb:
roles:
admin:
- admin
backup:
enabled: false
# s3Region: "us-east-1"
# s3Bucket: "s3.tenant.hikube.cloud/mariadb-backups"
# schedule: "0 2 * * *"
# cleanupStrategy: "--keep-last=3 --keep-daily=3 --keep-within-weekly=1m"
# s3AccessKey: "your-s3-access-key"
# s3SecretKey: "your-s3-secret-key"
# resticPassword: "your-restic-password"

À l'aide du kubeconfig fourni par Hikube et de ce yaml d'exemple, enregistré sous un fichier manifest.yaml, vous pouvez facilement tester le déploiement de l'application à l'aide de la commande suivante :

kubectl apply -f manifest.yaml

Paramètres Configurables

Paramètres Généraux

NomDescriptionValeur Par Défaut
externalPermet l'accès externe depuis l'extérieur du cluster.false
sizeTaille du volume persistant pour les données.10Gi
replicasNombre de réplicas MariaDB.2
storageClassClasse de stockage utilisée."replicated" ou "local"

Paramètres de Configuration

NomDescriptionValeur Par Défaut
usersConfiguration des utilisateurs.{}
databasesConfiguration des bases de données.{}

Paramètres de Backup

NomDescriptionValeur Par Défaut
backup.enabledActive ou désactive les sauvegardes périodiques.false
backup.s3RegionRégion AWS S3 pour les sauvegardes.us-east-1
backup.s3BucketBucket S3 utilisé pour les sauvegardes.s3.example.org/mariadb-backups
backup.schedulePlanification des sauvegardes (format Cron).0 2 * * *
backup.cleanupStrategyStratégie pour nettoyer les anciennes sauvegardes.--keep-last=3 --keep-daily=3 --keep-within-weekly=1m
backup.s3AccessKeyClé d'accès AWS S3 pour l'authentification.oobaiRus9pah8PhohL1ThaeTa4UVa7gu
backup.s3SecretKeyClé secrète AWS S3 pour l'authentification.ju3eum4dekeich9ahM1te8waeGai0oog
backup.resticPasswordMot de passe pour le chiffrement Restic.ChaXoveekoh6eigh4siesheeda2quai0

Tutoriels

Bascule Master/Slave

  1. Modifiez l'instance MariaDB pour définir une nouvelle réplique principale. Utilisez la commande suivante pour éditer l'instance :
kubectl edit mariadb <instance>
  1. Modifiez la configuration pour définir le pod principal :
spec.replication.primary.podIndex: 1
  1. Vérifiez l'état du cluster :
kubectl get mariadb

Restaurer un Backup

  1. Trouvez un snapshot disponible dans votre bucket S3 :
restic -r s3:s3.tenant.hikube.cloud/mariadb-backups/database_name snapshots
  1. Restaurez le dernier snapshot :
restic -r s3:s3.tenant.hikube.cloud/mariadb-backups/database_name restore latest --target /tmp/

Ressources Additionnelles

Pour approfondir vos connaissances sur MariaDB et son opérateur, consultez les ressources suivantes :