Skip to main content
Une version plus récente de ce produit est disponible.
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Gérer les crochets d'exécution de l'application

Contributeurs

Un crochet d'exécution est une action personnalisée que vous pouvez configurer pour s'exécuter conjointement avec une opération de protection des données d'une application gérée. Par exemple, si vous disposez d'une application de base de données, vous pouvez utiliser un crochet d'exécution pour suspendre toutes les transactions de base de données avant un instantané et reprendre les transactions une fois l'instantané terminé. Les snapshots sont ainsi cohérents au niveau des applications.

Types de crochets d'exécution

Astra Control prend en charge les types de crochets d'exécution suivants, en fonction du moment où ils peuvent être exécutés :

  • Pré-instantané

  • Post-snapshot

  • Avant sauvegarde

  • Post-sauvegarde

  • Post-restauration

Filtres de crochet d'exécution

Lorsque vous ajoutez ou modifiez un crochet d'exécution à une application, vous pouvez ajouter des filtres à un crochet d'exécution pour gérer les conteneurs auxquels le crochet correspond. Les filtres sont utiles pour les applications qui utilisent la même image de conteneur sur tous les conteneurs, mais ils peuvent utiliser chaque image à des fins différentes (comme Elasticsearch). Les filtres vous permettent de créer des scénarios dans lesquels des crochets d'exécution s'exécuteront sur certains de ces conteneurs identiques, mais pas nécessairement tous. Si vous créez plusieurs filtres pour un seul crochet d'exécution, ils sont combinés avec un opérateur ET logique. Vous pouvez avoir jusqu'à 10 filtres actifs par crochet d'exécution.

Chaque filtre que vous ajoutez à un crochet d'exécution utilise une expression régulière pour faire correspondre les conteneurs de votre cluster. Lorsqu'un crochet correspond à un conteneur, le crochet exécute son script associé sur ce conteneur.

Remarque Les expressions régulières pour les filtres utilisent la syntaxe de l'expression régulière 2 (RE2), qui ne prend pas en charge la création d'un filtre qui exclut les conteneurs de la liste des correspondances.

Pour plus d'informations sur la syntaxe prise en charge par Astra Control pour les expressions régulières dans les filtres de crochet d'exécution, voir "Prise en charge de la syntaxe de l'expression régulière 2 (RE2)".

Remarques importantes sur les crochets d'exécution personnalisés

Lors de la planification de crochets d'exécution pour vos applications, tenez compte des points suivants.

Remarque

Puisque les crochets d'exécution réduisent souvent ou désactivent complètement la fonctionnalité de l'application contre laquelle ils sont en cours d'exécution, vous devez toujours essayer de réduire le temps d'exécution de vos crochets d'exécution personnalisés.
Si vous démarrez une opération de sauvegarde ou d'instantané avec les crochets d'exécution associés, mais que vous l'annulez, les crochets sont toujours autorisés à s'exécuter si l'opération de sauvegarde ou d'instantané a déjà commencé. Cela signifie que la logique utilisée dans un crochet d'exécution post-sauvegarde ne peut pas présumer que la sauvegarde a été effectuée.

  • Un crochet d'exécution doit utiliser un script pour effectuer des actions. De nombreux crochets d'exécution peuvent référencer le même script.

  • Astra Control exige que les scripts utilisés par les crochets d'exécution soient écrits au format de scripts shell exécutables.

  • La taille du script est limitée à 96 Ko.

  • Astra Control utilise les paramètres de crochet d'exécution et tout critère de correspondance pour déterminer quels crochets s'appliquent à une opération de snapshot, de sauvegarde ou de restauration.

  • Toutes les défaillances de crochet d'exécution sont des pannes logicielles ; d'autres crochets et l'opération de protection des données sont toujours tentées même en cas de défaillance d'un crochet. Cependant, lorsqu'un crochet échoue, un événement d'avertissement est enregistré dans le journal des événements de la page activité.

  • Pour créer, modifier ou supprimer des crochets d'exécution, vous devez être un utilisateur disposant des autorisations propriétaire, administrateur ou membre.

  • Si l'exécution d'un crochet d'exécution prend plus de 25 minutes, le crochet échoue, créant une entrée de journal d'événements avec un code retour « N/A ». Tout instantané affecté expire et sera marqué comme ayant échoué, avec une entrée du journal des événements qui en résulte indiquant le délai d'attente.

  • Pour les opérations de protection de données ad hoc, tous les événements hook sont générés et enregistrés dans le journal des événements de la page Activity. Cependant, pour les opérations planifiées de protection des données, seuls les événements de défaillance de type « hook » sont enregistrés dans le journal des événements (les événements générés par les opérations de protection des données planifiées sont toujours enregistrés).

  • Si Astra Control Center bascule une application source répliquée vers l'application de destination, tous les crochets d'exécution post-restauration activés pour l'application source sont exécutés pour l'application de destination une fois le basculement terminé.

  • Si vous ajoutez un filtre d'espace de noms à un crochet d'exécution qui s'exécute après une opération de restauration ou de clonage et que la source et la destination de restauration ou de clonage sont dans des espaces de noms différents, le filtre d'espace de noms est appliqué uniquement à l'espace de noms de destination.

Ordre d'exécution

Lors de l'exécution d'une opération de protection des données, les événements de hook d'exécution ont lieu dans l'ordre suivant :

  1. Tous les crochets d'exécution de pré-opération personnalisés applicables sont exécutés sur les conteneurs appropriés. Vous pouvez créer et exécuter autant de crochets de pré-opération personnalisés que vous le souhaitez, mais l'ordre d'exécution de ces crochets avant que l'opération ne soit ni garantie ni configurable.

  2. L'opération de protection des données est effectuée.

  3. Tous les crochets d'exécution de post-opération personnalisés applicables sont exécutés sur les conteneurs appropriés. Vous pouvez créer et exécuter autant de crochets post-opération personnalisés que vous le souhaitez, mais l'ordre d'exécution de ces crochets après l'opération n'est ni garanti ni configurable.

Si vous créez plusieurs crochets d'exécution du même type (par exemple, pré-instantané), l'ordre d'exécution de ces crochets n'est pas garanti. Cependant, l'ordre d'exécution des crochets de différents types est garanti. Par exemple, l'ordre d'exécution d'une configuration comportant les cinq types différents de crochets se présente comme suit :

  1. Crochets de pré-secours exécutés

  2. Crochets pré-instantanés exécutés

  3. Crochets post-snapshot exécutés

  4. Crochets post-secours exécutés

  5. Crochets post-restauration exécutés

Vous pouvez voir un exemple de cette configuration dans le scénario numéro 2 dans le tableau de la Déterminez si un crochet va courir.

Remarque Vous devez toujours tester vos scripts d'exécution avant de les activer dans un environnement de production. Vous pouvez utiliser la commande 'kubectl exec' pour tester aisément les scripts. Une fois que vous avez activé les crochets d'exécution dans un environnement de production, testez les snapshots et les sauvegardes obtenus pour vous assurer qu'ils sont cohérents. Pour ce faire, vous pouvez cloner l'application dans un espace de noms temporaire, restaurer le snapshot ou la sauvegarde, puis tester l'application.

Déterminez si un crochet va courir

Utilisez le tableau suivant pour déterminer si un crochet d'exécution personnalisé sera exécuté pour votre application.

Notez que toutes les opérations générales liées aux applications consistent à exécuter l'une des opérations de base de la copie Snapshot, de la sauvegarde ou de la restauration. Selon le scénario, une opération de clonage peut se composer de différentes combinaisons de ces opérations, de sorte que les crochets d'exécution d'une opération de clonage varient.

Les opérations de restauration sur place requièrent un snapshot ou une sauvegarde existante. Elles n'exécutent donc pas de snapshot ni de crochets de sauvegarde.

Remarque

Si vous démarrez mais annulez ensuite une sauvegarde qui inclut un instantané et qu'il y a des crochets d'exécution associés, certains crochets peuvent s'exécuter, et d'autres peuvent ne pas. Autrement dit, un crochet d'exécution post-sauvegarde ne peut pas présumer que la sauvegarde est terminée. Gardez à l'esprit les points suivants pour les sauvegardes annulées avec les crochets d'exécution associés :

  • Les crochets de pré-secours et post-secours sont toujours exécutés.

  • Si la sauvegarde inclut un nouvel instantané et que l'instantané a démarré, les crochets pré-instantané et post-instantané sont exécutés.

  • Si la sauvegarde est annulée avant le démarrage de l'instantané, les crochets pré-instantané et post-instantané ne sont pas exécutés.

Scénario Fonctionnement Snapshot existant Sauvegarde existante Espace de noms Cluster Les crochets de snapshot sont exécutés Les crochets de secours sont en place Restaurer la course des crochets

1

Clonage

N

N

Nouveau

Identique

Y

N

Y

2

Clonage

N

N

Nouveau

Différente

Y

Y

Y

3

Cloner ou restaurer

Y

N

Nouveau

Identique

N

N

Y

4

Cloner ou restaurer

N

Y

Nouveau

Identique

N

N

Y

5

Cloner ou restaurer

Y

N

Nouveau

Différente

N

N

Y

6

Cloner ou restaurer

N

Y

Nouveau

Différente

N

N

Y

7

Restaurer

Y

N

Existant

Identique

N

N

Y

8

Restaurer

N

Y

Existant

Identique

N

N

Y

9

Snapshot

S/O

S/O

S/O

S/O

Y

S/O

S/O

10

Sauvegarde

N

S/O

S/O

S/O

Y

Y

S/O

11

Sauvegarde

Y

S/O

S/O

S/O

N

N

S/O

Exemples de crochet d'exécution

Consultez le "Projet GitHub NetApp Verda" Pour télécharger des crochets d'exécution réels pour des applications courantes telles qu'Apache Cassandra et Elasticsearch. Vous pouvez également voir des exemples et obtenir des idées pour structurer vos propres crochets d'exécution personnalisés.

Afficher les crochets d'exécution existants

Vous pouvez afficher les crochets d'exécution personnalisés existants pour une application.

Étapes
  1. Accédez à applications, puis sélectionnez le nom d'une application gérée.

  2. Sélectionnez l'onglet crochets d'exécution.

    Vous pouvez afficher tous les crochets d'exécution activés ou désactivés dans la liste résultante. Vous pouvez voir l'état d'un crochet, le nombre de conteneurs correspondant, le temps de création et le moment où il s'exécute (pré ou post-opération). Vous pouvez sélectionner le + icône en regard du nom du crochet pour développer la liste des conteneurs sur lequel il sera exécuté. Pour afficher les journaux d'événements entourant les crochets d'exécution de cette application, accédez à l'onglet activité.

Afficher les scripts existants

Vous pouvez afficher les scripts chargés existants. Vous pouvez également voir quels scripts sont en cours d'utilisation, et quels crochets les utilisent, sur cette page.

Étapes
  1. Accédez à compte.

  2. Sélectionnez l'onglet scripts.

    Cette page affiche la liste des scripts chargés existants. La colonne utilisé par indique les crochets d'exécution qui utilisent chaque script.

Ajouter un script

Chaque crochet d'exécution doit utiliser un script pour effectuer des actions. Vous pouvez ajouter un ou plusieurs scripts que les crochets d'exécution peuvent référencer. De nombreux crochets d'exécution peuvent référencer le même script ; cela vous permet de mettre à jour de nombreux crochets d'exécution en ne changeant qu'un seul script.

Étapes
  1. Accédez à compte.

  2. Sélectionnez l'onglet scripts.

  3. Sélectionnez Ajouter.

  4. Effectuez l'une des opérations suivantes :

    • Charger un script personnalisé.

      1. Sélectionnez l'option Télécharger le fichier.

      2. Accédez à un fichier et téléchargez-le.

      3. Donnez un nom unique au script.

      4. (Facultatif) Entrez toutes les notes que les autres administrateurs doivent connaître au sujet du script.

      5. Sélectionnez Enregistrer le script.

    • Coller dans un script personnalisé à partir du presse-papiers.

      1. Sélectionnez l'option Coller ou type.

      2. Sélectionnez le champ de texte et collez le texte du script dans le champ.

      3. Donnez un nom unique au script.

      4. (Facultatif) Entrez toutes les notes que les autres administrateurs doivent connaître au sujet du script.

  5. Sélectionnez Enregistrer le script.

Résultat

Le nouveau script apparaît dans la liste de l'onglet scripts.

Supprimer un script

Vous pouvez supprimer un script du système s'il n'est plus nécessaire et s'il n'est pas utilisé par les crochets d'exécution.

Étapes
  1. Accédez à compte.

  2. Sélectionnez l'onglet scripts.

  3. Choisissez un script à supprimer et sélectionnez le menu dans la colonne actions.

  4. Sélectionnez Supprimer.

Remarque Si le script est associé à un ou plusieurs crochets d'exécution, l'action Delete n'est pas disponible. Pour supprimer le script, modifiez d'abord les crochets d'exécution associés et associez-les à un autre script.

Créer un crochet d'exécution personnalisé

Vous pouvez créer un crochet d'exécution personnalisé pour une application. Reportez-vous à la section Exemples de crochet d'exécution pour des exemples de crochet. Vous devez disposer d'autorisations propriétaire, administrateur ou membre pour créer des crochets d'exécution.

Remarque Lorsque vous créez un script de shell personnalisé à utiliser comme crochet d'exécution, n'oubliez pas de spécifier le shell approprié au début du fichier, sauf si vous exécutez des commandes spécifiques ou fournissez le chemin complet à un exécutable.
Étapes
  1. Sélectionnez applications, puis le nom d'une application gérée.

  2. Sélectionnez l'onglet crochets d'exécution.

  3. Sélectionnez Ajouter.

  4. Dans la zone Détails du crochet :

    1. Déterminez quand le crochet doit fonctionner en sélectionnant un type d'opération dans le menu déroulant opération.

    2. Saisissez un nom unique pour le crochet.

    3. (Facultatif) saisissez les arguments à transmettre au crochet pendant l'exécution, en appuyant sur la touche entrée après chaque argument que vous entrez pour enregistrer chacun.

  5. (Facultatif) dans la zone Détails du filtre de crochet, vous pouvez ajouter des filtres pour contrôler les conteneurs sur lesquels le crochet d'exécution s'exécute :

    1. Sélectionnez Ajouter filtre.

    2. Dans la colonne Type de filtre Hook, choisissez un attribut sur lequel filtrer dans le menu déroulant.

    3. Dans la colonne Regex, entrez une expression régulière à utiliser comme filtre. Astra Control utilise le "Expression régulière 2 (RE2) syntaxe regex".

      Remarque Si vous filtrez sur le nom exact d'un attribut (tel qu'un nom de pod) sans autre texte dans le champ expression régulière, une correspondance de sous-chaîne est effectuée. Pour faire correspondre un nom exact et ce nom uniquement, utilisez la syntaxe de correspondance de chaîne exacte (par exemple, ^exact_podname$).
    4. Pour ajouter d'autres filtres, sélectionnez Ajouter filtre.

      Remarque Plusieurs filtres pour un crochet d'exécution sont combinés à un opérateur ET logique. Vous pouvez avoir jusqu'à 10 filtres actifs par crochet d'exécution.
  6. Lorsque vous avez terminé, sélectionnez Suivant.

  7. Dans la zone script, effectuez l'une des opérations suivantes :

    • Ajouter un nouveau script.

      1. Sélectionnez Ajouter.

      2. Effectuez l'une des opérations suivantes :

        • Charger un script personnalisé.

          1. Sélectionnez l'option Télécharger le fichier.

          2. Accédez à un fichier et téléchargez-le.

          3. Donnez un nom unique au script.

          4. (Facultatif) Entrez toutes les notes que les autres administrateurs doivent connaître au sujet du script.

          5. Sélectionnez Enregistrer le script.

        • Coller dans un script personnalisé à partir du presse-papiers.

          1. Sélectionnez l'option Coller ou type.

          2. Sélectionnez le champ de texte et collez le texte du script dans le champ.

          3. Donnez un nom unique au script.

          4. (Facultatif) Entrez toutes les notes que les autres administrateurs doivent connaître au sujet du script.

    • Sélectionnez un script existant dans la liste.

      Cela indique au crochet d'exécution d'utiliser ce script.

  8. Sélectionnez Suivant.

  9. Vérifiez la configuration du crochet d'exécution.

  10. Sélectionnez Ajouter.

Vérifier l'état d'un crochet d'exécution

Une fois qu'une opération de snapshot, de sauvegarde ou de restauration a terminé, vous pouvez vérifier l'état des crochets d'exécution qui ont été exécutés dans le cadre de l'opération. Vous pouvez utiliser ces informations d'état pour déterminer si vous souhaitez maintenir le crochet d'exécution, le modifier ou le supprimer.

Étapes
  1. Sélectionnez applications, puis le nom d'une application gérée.

  2. Sélectionnez l'onglet protection des données.

  3. Sélectionnez snapshots pour voir exécution de snapshots ou sauvegardes pour voir exécution de sauvegardes.

    L'état Hook indique l'état de la séquence de crochet d'exécution une fois l'opération terminée. Vous pouvez passer le curseur de la souris sur l'état pour plus de détails. Par exemple, si des échecs de crochet d'exécution se produisent au cours d'un snapshot, le fait de passer le curseur sur l'état de crochet pour ce snapshot donne une liste des crochets d'exécution ayant échoué. Pour voir les raisons de chaque échec, vous pouvez consulter la page activité dans la zone de navigation de gauche.

Afficher l'utilisation du script

Vous pouvez voir quels crochets d'exécution utilisent un script particulier dans l'interface utilisateur Web Astra Control.

Étapes
  1. Sélectionnez compte.

  2. Sélectionnez l'onglet scripts.

    La colonne utilisé par de la liste des scripts contient des détails sur les crochets qui utilisent chaque script de la liste.

  3. Sélectionnez les informations de la colonne utilisé par pour un script qui vous intéresse.

    Une liste plus détaillée s'affiche, avec les noms des crochets qui utilisent le script et le type d'opération avec lesquels ils sont configurés pour s'exécuter.

Modifier un crochet d'exécution

Vous pouvez modifier un crochet d'exécution si vous souhaitez modifier ses attributs, filtres ou le script qu'il utilise. Vous devez disposer d'autorisations propriétaire, administrateur ou membre pour modifier les crochets d'exécution.

Étapes
  1. Sélectionnez applications, puis le nom d'une application gérée.

  2. Sélectionnez l'onglet crochets d'exécution.

  3. Sélectionnez le menu Options dans la colonne actions pour un crochet que vous souhaitez modifier.

  4. Sélectionnez Modifier.

  5. Apportez les modifications nécessaires en sélectionnant Suivant après avoir terminé chaque section.

  6. Sélectionnez Enregistrer.

Désactivez un crochet d'exécution

Vous pouvez désactiver un crochet d'exécution si vous souhaitez l'empêcher temporairement de s'exécuter avant ou après un instantané d'une application. Vous devez disposer d'autorisations propriétaire, administrateur ou membre pour désactiver les crochets d'exécution.

Étapes
  1. Sélectionnez applications, puis le nom d'une application gérée.

  2. Sélectionnez l'onglet crochets d'exécution.

  3. Sélectionnez le menu Options dans la colonne actions pour un crochet que vous souhaitez désactiver.

  4. Sélectionnez Désactiver.

Supprimer un crochet d'exécution

Vous pouvez supprimer entièrement un crochet d'exécution si vous n'en avez plus besoin. Vous devez disposer d'autorisations propriétaire, administrateur ou membre pour supprimer les crochets d'exécution.

Étapes
  1. Sélectionnez applications, puis le nom d'une application gérée.

  2. Sélectionnez l'onglet crochets d'exécution.

  3. Sélectionnez le menu Options dans la colonne actions pour un crochet que vous souhaitez supprimer.

  4. Sélectionnez Supprimer.

  5. Dans la boîte de dialogue qui s'affiche, tapez « Supprimer » pour confirmer.

  6. Sélectionnez Oui, supprimez le crochet d'exécution.

Pour en savoir plus