Sauvegarder Azure Kubernetes Service à l’aide de Sauvegarde Azure
Cet article explique comment configurer et sauvegarder Azure Kubernetes Service (AKS).
Vous pouvez utiliser Sauvegarde Azure pour sauvegarder des clusters AKS (ressources de cluster et volumes persistants attachés au cluster) à l’aide de l’extension de sauvegarde, qui doit être installée dans le cluster. Le coffre de sauvegarde communique avec le cluster via l’extension de sauvegarde pour effectuer des opérations de sauvegarde et de restauration.
Remarque
La sauvegarde archivée et la restauration inter-région pour AKS avec Sauvegarde Azure sont actuellement en préversion.
Avant de commencer
- Actuellement, la Sauvegarde AKS prend uniquement en charge les volumes persistants basés sur le Stockage sur disque Azure activés par le pilote CSI. Les sauvegardes sont stockées dans un magasin de données opérationnel uniquement (les données de sauvegarde sont stockées dans votre tenant et ne sont pas déplacées vers un coffre). Le coffre de sauvegarde et le cluster AKS doivent se trouver dans la même région.
- La Sauvegarde AKS utilise un conteneur d’objets blob et un groupe de ressources pour stocker les sauvegardes. Le conteneur d’objets blob contient les ressources de cluster AKS. Les captures instantanées de volumes persistants sont stockées dans le groupe de ressources. Le cluster AKS et les emplacements de stockage doivent être dans la même région. Découvrez comment créer un conteneur d’objets blob.
- Actuellement, la Sauvegarde AKS prend en charge les sauvegardes une fois par jour. Il permet également d’effectuer des sauvegardes plus fréquentes (par intervalles de 4, 8 et 12 heures) par jour. Cette solution vous permet de conserver vos données à des fins de restauration pendant jusqu’à 360 jours. Découvrez comment créer une stratégie de sauvegarde.
- Vous devez installer l’extension de Sauvegarde pour configurer les opérations de sauvegarde et de restauration pour un cluster AKS. En savoir plus sur l’extension de sauvegarde.
- Assurez-vous que
Microsoft.KubernetesConfiguration
,Microsoft.DataProtection
etMicrosoft.ContainerService
sont inscrits pour votre abonnement avant de lancer la configuration de la sauvegarde et l’exécution des opérations de restauration. - Veillez à remplir toutes les conditions préalables avant de lancer une opération de sauvegarde ou de restauration pour la Sauvegarde AKS.
Pour plus d’informations sur les scénarios pris en charge, les limitations et les disponibilités, consultez la matrice de prise en charge.
Créer un coffre de sauvegarde
Un coffre de sauvegarde est une entité de gestion qui stocke les points de récupération traités au fil du temps. Un coffre de sauvegarde fournit également une interface pour effectuer les opérations de sauvegarde. Les opérations comprennent l’exécution de sauvegardes à la demande, le lancement de restaurations et la création de stratégies de sauvegarde. La Sauvegarde AKS nécessite que le coffre de Sauvegarde et le cluster AKS se trouvent dans la même région. Découvrez comment créer un coffre de sauvegarde.
Remarque
Un coffre de sauvegarde est une nouvelle ressource utilisée pour sauvegarder les sources de données nouvellement prises en charge. Un coffre de sauvegarde est différent d’un coffre Recovery Services.
Si vous souhaitez utiliser Sauvegarde Azure pour protéger vos clusters AKS contre une panne régionale, vous pouvez activer la Restauration inter-région. Pour activer la Restauration inter-région, vous devez :
Définir le paramètre Redondance du stockage de sauvegarde sur Géo-redondant pendant la création du coffre. Une fois la redondance d’un coffre définie, vous ne pouvez pas la désactiver.
Définissez le paramètre Restauration inter-régions sous Propriétés du coffre sur Activé. Une fois ce paramètre activé, vous ne pouvez pas le désactiver.
Créez une instance de sauvegarde à l’aide d’une stratégie de sauvegarde avec une durée de rétention définie pour le magasin de données standard du coffre. Chaque point de récupération stocké dans ce magasin de données se trouvera dans la région secondaire.
Créer une stratégie de sauvegarde
Avant de configurer les sauvegardes, vous devez créer une stratégie de Sauvegarde qui définit la fréquence des sauvegardes et la durée de conservation des sauvegardes.
Pour créer une stratégie de sauvegarde :
Accédez au coffre de Sauvegarde que vous avez créé, puis sélectionnez Gérer>Stratégies de Sauvegarde>Ajouter.
Entrez un nom pour la stratégie de sauvegarde.
Pour le Type de source de données, sélectionnez Services Kubernetes.
Sous l’onglet Planification + rétention, définissez la planification de sauvegarde.
- Fréquence de sauvegarde : sélectionnez la fréquence de sauvegarde (horaire ou quotidienne), puis choisissez la durée de conservation des sauvegardes.
- Paramètre de rétention : une nouvelle stratégie de sauvegarde a la règle Par défaut définie par défaut. Vous pouvez modifier cette règle, mais vous ne pouvez pas la supprimer. La règle par défaut définit la durée de conservation pour toutes les sauvegardes de niveau opérationnel effectuées. Vous pouvez également créer des règles de conservation supplémentaires pour stocker pendant une durée plus longue les sauvegardes effectuées quotidiennement ou hebdomadairement.
Vous pouvez également créer des règles de conservation supplémentaires pour stocker pendant une durée plus longue les sauvegardes effectuées quotidiennement ou hebdomadairement.
Remarque
- Outre la première sauvegarde réussie de la journée, vous pouvez définir les règles de conservation pour la première sauvegarde réussie de la semaine, du mois et de l’année. L’ordre de priorité est le suivant : année, mois, semaine et jour.
- Vous pouvez copier des sauvegardes dans la région secondaire (Région Appairée Azure) stockées dans le niveau Coffre, que vous pouvez utiliser pour restaurer des clusters AKS dans une région secondaire lorsque la région primaire n’est pas disponible. Pour choisir cette fonctionnalité, utilisez un coffre géoredondant avec Restauration inter-région activée.
Lorsque la fréquence des sauvegardes et les paramètres de conservation sont configurés, sélectionnez Suivant.
Sous l’onglet Examiner et créer, vérifiez les informations, puis sélectionnez Créer.
Installer l’extension de Sauvegarde et configurer la sauvegarde
Vous pouvez utiliser la Sauvegarde AKS pour sauvegarder un cluster entier ou des ressources spécifiques déployées dans le cluster. Vous pouvez également protéger un cluster plusieurs fois en fonction des exigences de planification et de rétention des applications déployées ou des exigences de sécurité.
Remarque
Pour configurer plusieurs instances de sauvegarde pour le même cluster AKS :
- Configurez la sauvegarde dans le même coffre de sauvegarde, mais en utilisant une stratégie de sauvegarde différente.
- Configurez la sauvegarde dans un autre coffre de sauvegarde.
Installer l’extension de Sauvegarde
Pour configurer des sauvegardes pour un cluster AKS :
Sur le Portail Azure, accédez au cluster AKS que vous souhaitez sauvegarder.
Dans le menu de service, sous Paramètres, sélectionnez Sauvegarde.
Pour préparer le cluster AKS à la sauvegarde ou à la restauration, sélectionnez Installer l’extension pour installer l’extension de sauvegarde dans le cluster.
Fournissez un compte de stockage et un conteneur d’objets blob comme entrée.
Vos sauvegardes de cluster AKS sont stockées dans ce conteneur d’objets blob. Le compte de stockage doit se trouver dans la même région et le même abonnement que le cluster.
Cliquez sur Suivant. Passez en revue les détails d’installation de l’extension, puis sélectionnez Créer.
L’installation de l’extension démarre.
Configurer une sauvegarde
Une fois l’extension de Sauvegarde installée, sélectionnez Configurer la sauvegarde.
Sélectionnez le coffre de Sauvegarde que vous avez créé précédemment. Accès approuvé doit être activé dans le coffre de sauvegarde pour que le cluster AKS soit sauvegardé. Pour activer l’Accès approuvé, sélectionnez Accorder l’autorisation. S’il est déjà activé, sélectionnez Suivant.
Dans l’onglet Stratégie de sauvegarde, sélectionnez la stratégie de sauvegarde, qui définit la planification des sauvegardes et leur période de rétention, puis sélectionnez Suivant.
Sous l’onglet Sources de données, sélectionnez Ajouter/Modifier pour définir la configuration de l’instance de sauvegarde.
Dans le volet Sélectionner des ressources à sauvegarder, définissez les ressources de cluster que vous souhaitez sauvegarder.
En savoir plus sur les configurations de sauvegarde.
Pour le Groupe de ressources d’instantanés, sélectionnez le groupe de ressources à utiliser pour stocker les instantanés de volume persistant (Stockage sur disque Azure), puis sélectionnez Valider.
Une fois la validation terminée, si les rôles requis ne sont pas affectés au coffre dans le groupe de ressources d’instantané, une erreur s’affiche :
Pour résoudre l’erreur, sous Nom de la source de données, sélectionnez la case à cocher pour la source de données, puis Affecter des rôles manquants.
Une fois l’attribution de rôle terminée, sélectionnez Suivant>Configurer la sauvegarde.
Configurations de sauvegarde
Sauvegarde Azure pour AKS vous permet de définir la limite d’application au sein du cluster AKS que vous souhaitez sauvegarder. Vous pouvez utiliser les filtres disponibles dans les configurations de sauvegarde pour choisir les ressources à sauvegarder et également pour exécuter des hooks personnalisés. Les configurations de sauvegarde définies sont référencées par la valeur du Nom de l’instance Sauvegarde. Les filtres ci-dessous sont disponibles pour définir la limite de votre application :
Sélectionnez Sélectionner des espaces de noms à sauvegarder. Vous pouvez sélectionner Tous pour sauvegarder tous les espaces de noms existants et futurs dans le cluster, ou vous pouvez sélectionner des espaces de noms spécifiques pour la sauvegarde.
Les espaces de noms suivants ne sont pas pris en compte dans les configurations de Sauvegarde :
kube-system
,kube-node-lease
etkube-public
.Développez Paramètres de ressources supplémentaires pour voir les filtres que vous pouvez utiliser pour choisir des ressources de cluster à sauvegarder. Vous pouvez choisir de sauvegarder des ressources en fonction des catégories suivantes :
- Étiquettes : vous pouvez filtrer des ressources AKS en utilisant des étiquettes que vous affectez aux types de ressources. Entrez des étiquettes sous forme de paires clé/valeur. Vous pouvez combiner plusieurs étiquettes à l’aide de la logique
AND
. Par exemple, si vous entrez les étiquettesenv=prod;tier!=web
, le processus sélectionne les ressources qui ont une étiquette avec la cléenv
et la valeurprod
et une étiquette avec la clétier
pour laquelle la valeur qui n’est pasweb
. - Groupes d’API : vous pouvez également inclure des ressources en fournissant le groupe d’API AKS et Kind. Par exemple, vous pouvez choisir pour des ressources AKS de sauvegarde telles que Déploiements. Vous pouvez accéder à la liste des groupes d’API définis par Kubernetes ici.
- Autres options : vous pouvez activer ou désactiver la sauvegarde pour des ressources associées au cluster, des volumes persistants et des secrets. Les ressources limitées au cluster et les volumes persistants sont activés par défaut.
- Étiquettes : vous pouvez filtrer des ressources AKS en utilisant des étiquettes que vous affectez aux types de ressources. Entrez des étiquettes sous forme de paires clé/valeur. Vous pouvez combiner plusieurs étiquettes à l’aide de la logique
Remarque
Vous devez ajouter les étiquettes à chaque fichier YAML déployé qui est à sauvegarder. Il s’agit de ressources à l’échelle de l’espace de noms, telles que les requêtes de volumes persistants, et de ressources à l’échelle du cluster, telles que les volumes persistants.
Utiliser des Hooks lors de la Sauvegarde AKS
Cette section décrit comment utiliser un crochet de sauvegarde pour créer un instantané cohérent avec les applications du cluster AKS avec MySQL déployé (un volume persistant qui contient l’instance MySQL).
Vous pouvez utiliser des hooks personnalisés dans la sauvegarde AKS pour effectuer des captures instantanées cohérentes avec les applications des volumes. Les volumes sont utilisés pour les bases de données déployées en tant que charges de travail en conteneur.
À l’aide d’un Hook de sauvegarde, vous pouvez définir les commandes pour figer et libérer un pod MySQL afin qu’un instantané d’application du volume puisse être pris. L’extension de sauvegarde orchestre ensuite les étapes d’exécution des commandes dans les crochets et prend la capture instantanée du volume.
Un instantané cohérent d’une application d’un volume avec MySQL déployé est effectué en effectuant les actions suivantes :
- Le pod exécutant MySQL est figé afin qu’aucune nouvelle transaction ne soit effectuée sur la base de données.
- Une capture instantanée est prise du volume en tant que sauvegarde.
- Le pod exécutant MySQL n’est pas configuré de manière à ce que les transactions puissent être effectuées à nouveau sur la base de données.
Pour activer un hook de sauvegarde dans le cadre du flux de configuration de la sauvegarde pour sauvegarder MySQL :
Écrivez la ressource personnalisée pour le Hook de sauvegarde avec des commandes pour figer et libérer un pod PostgreSQL.
Vous pouvez également utiliser l’exemple de script YAML suivant postgresbackuphook.yaml, qui a des commandes prédéfinies :
apiVersion: clusterbackup.dataprotection.microsoft.com/v1alpha1 kind: BackupHook metadata: # BackupHook CR Name and Namespace name: bkphookname0 namespace: default spec: # BackupHook Name. This is the name of the hook that will be executed during backup. # compulsory name: hook1 # Namespaces where this hook will be executed. includedNamespaces: - hrweb excludedNamespaces: labelSelector: # PreHooks is a list of BackupResourceHooks to execute prior to backing up an item. preHooks: - exec: command: - /sbin/fsfreeze - --freeze - /var/lib/postgresql/data container: webcontainer onError: Continue # PostHooks is a list of BackupResourceHooks to execute after backing up an item. postHooks: - exec: container: webcontainer command: - /sbin/fsfreeze - --unfreeze onError: Fail timeout: 10s
Avant de configurer une sauvegarde, vous devez déployer la ressource personnalisée du crochet de sauvegarde dans le cluster AKS.
Pour déployer le script, exécutez la commande suivante :
kubectl apply -f mysqlbackuphook.yaml
Lorsque le déploiement est terminé, vous pouvez configurer des sauvegardes pour le cluster AKS.
Remarque
Dans le cadre d’une configuration de sauvegarde, vous devez fournir le nom de la ressource personnalisée et l’espace de noms dans lequel la ressource est déployée.