Modifier

Protection des données d’application pour les charges de travail AKS sur Azure NetApp Files

Azure NetApp Files
Azure Kubernetes Service (AKS)
Réseau virtuel Azure

Cet article décrit une solution pour gérer exécuter la gestion des données d’application des applications conteneurisées avec état, leurs ressources et leurs données.

Architecture

Diagramme d’architecture qui montre comment déployer AKS avec Astra Control Service lorsque AKS et Azure NetApp Files se trouvent dans des réseaux virtuels distincts.

Téléchargez un fichier Visio de cette architecture.

Dataflow

  1. Un compte Azure NetApp Files est créé sur un abonnement Azure, et des pools de capacité sont définis. Ces pools correspondent aux niveaux de service dont l’implémentation a besoin, comme Standard, Premium et Ultra.

  2. Un ou plusieurs clusters AKS sont déployés. Les clusters doivent être :

  3. Un utilisateur s’inscrit pour obtenir un compte Astra Control Service. Astra Control Service utilise un identifiant de principal de service Azure qui dispose d’un accès contributeur pour localiser les clusters AKS à gérer. Astra Control Service installe Astra Trident et crée des StocrageClasses mappées à chaque niveau de service quand un cluster est ajouté à Astra Control Service. Astra Trident crée Kubernetes PersistentVolumes (PVS) à partir de l’application PersistentVolumeClaims (PVCs) à l’aide des objets StocrageClass (SC) déployés automatiquement qui mappent les pools de capacité Azure NetApp Files. Le mappage tient compte du niveau de service des pools de capacité.

  4. L’utilisateur installe des applications sur les clusters AKS. Les méthodes de déploiement possibles incluent les charts Helm, les opérateurs et les manifestes YAML. Les applications peuvent être regroupées par étiquettes ou espaces de noms. Astra Trident provisionne des volumes persistants en fonction de PersistentVolumeClaims à l’aide des objets StorageClass.

  5. Astra Control Service gère les applications et leurs ressources associées, telles que les pods, les services, les déploiements et les objets PersistentVolumeClaim (PVC). Il gère également le PersistentVolume (PV) lié au PVC. Les utilisateurs définissent des applications à l’aide de l’une des méthodes suivantes :

    • En les confinant à un espace de noms
    • En utilisant une étiquette Kubernetes personnalisée pour regrouper les ressources

Les utilisateurs peuvent également regrouper des objets délimités au cluster, tels que des storageclasses, avec une ou plusieurs applications spécifiques pour les gérer ensemble.

Astra Control Service orchestre des instantanés d’un instant dans le passé, des sauvegardes, des stratégies de sauvegarde et des clones actifs instantanés pour aider à protéger les charges de travail des applications. Astra Control Service assure cette protection en :

  • Création de stratégies de protection de Astra Control Service. Celles-ci peuvent être effectuées pour les instantané et/ou les sauvegardes et spécifier une planification et une cible de sauvegarde. Ces stratégies permettent de protéger automatiquement les applications selon une planification prédéfinie.

  • Prise d’instantanés à la demande pour un individu ou un groupe d’applications.

  • Faire des sauvegardes instantanées ou des clones pour un individu ou un groupe d’applications.

    En cas de sinistre ou de panne d’une application, les sauvegardes et les instantanés restaurent l’état des applications. Les utilisateurs peuvent cloner et migrer des applications entre les espaces de noms et les clusters AKS. Les clusters peuvent se trouver dans la même région ou dans des régions différentes.

Composants

  • AKS est un service Kubernetes complètement managé qui facilite le déploiement et la gestion des applications conteneurisées. AKS offre la technologie Kubernetes serverless, une expérience intégrée d’intégration continue et de livraison continue (CI/CD), ainsi qu’une sécurité et une gouvernance de classe entreprise.
  • Azure NetApp Files est un service de stockage Azure. Ce service fournit des partages de fichiers NFS (Network File System) et SMB (Server Message Block) de classe entreprise. Azure NetApp Files facilite la migration et l’exécution d’applications complexes basées sur des fichiers, sans modification du code. Ce service est bien adapté aux utilisateurs disposant de volumes persistants dans des environnements Kubernetes.
  • Le réseau virtuel Azure est le composant fondamental pour vos réseaux privés dans Azure. Par le biais de Réseau virtuel, les ressources Azure telles que les machines virtuelles peuvent communiquer de manière sécurisée entre elles, avec Internet et avec les réseaux locaux.
  • Astra Control Service est un service de gestion des données complètement managé et sensible aux applications. Astra Control Service vous aide à gérer, à protéger et à déplacer les charges de travail Kubernetes riches en données dans les clouds publics et les environnements locaux. Ce service assure la protection des données, la récupération d’urgence et la migration des charges de travail Kubernetes. Astra Control Service utilise la technologie de pointe de gestion des données d’Azure NetApp Files pour les instantanés, les sauvegardes, la réplication interrégionale et le clonage.

Autres solutions

Vous pouvez utiliser une approche personnalisée à plusieurs volets pour sauvegarder ou répliquer séparément les volumes persistants, les ressources Kubernetes et les autres ressources d’état de configuration dont vous avez besoin lorsque vous restaurez une application. Mais cette approche peut être :

  • Lourde.
  • Difficile à rendre compatible avec toutes les applications.
  • Difficile à mettre à l’échelle sur les multiples applications et environnements que compte une entreprise typique.

Dans certains environnements, vous pouvez réduire les coûts en évitant le trafic entre réseaux virtuels appairés. Pour éliminer ce trafic, simplifiez la solution. Plus précisément, regroupez les clusters AKS et le sous-réseau que vous déléguez pour Azure NetApp Files dans le même réseau virtuel, comme le montre ce diagramme :

Diagramme d’architecture qui montre comment utiliser AKS avec Astra Control Service dans un réseau virtuel unique.

Téléchargez un fichier Visio de cette architecture.

Détails du scénario

Avec les applications conteneurisées, il peut être difficile d’effectuer la protection des données d’application. L’application se compose de plusieurs microservices, qui doivent être gérés en tant qu’entité unique. Quand vous déployez des charges de travail critiques pour l’entreprise sur Kubernetes, la gestion des données d’applications doit être :

  • Simplement. La mise en place de stratégies de protection des données, des instantanés et les sauvegardes à la demande doit être intuitifs. Ces stratégies ne doivent pas dépendre des détails de l’infrastructure sous-jacente.
  • Portables. Pour rendre possible la mobilité interrégionale des applications, plusieurs clusters Kubernetes doivent être en mesure de consommer les sauvegardes.
  • Sensibles aux applications. Votre solution doit protéger l’ensemble de l’application, y compris les ressources Kubernetes standard, telles que les secrets, les objets ConfigMap et les volumes persistants. Vous devez également protéger les ressources Kubernetes personnalisées. Dans la mesure du possible, les procédures doivent mettre l’application au repos avant l’instantané et la sauvegarde. Cette pratique permet d’éviter la perte de données en vol pendant les sauvegardes.

NetApp Astra Control Service est une une solution de gestion des données d’application qui vous aide à atteindre ces objectifs. Astra Control Service offre des fonctionnalités de protection des données, de reprise d’activité après sinistre et de mobilité des applications. Il fournit aux charges de travail AKS avec état un riche ensemble de services de stockage et de gestion des données sensibles aux applications. Ces services reposent sur la technologie de protection des données d’Azure NetApp Files.

Cas d’usage potentiels

Cette solution s’applique aux systèmes qui exécutent des applications avec état :

  • Systèmes d’intégration continue (CI) tels que Jenkins
  • Charges de travail de base de données telles que MySQL, MongoDB et PostgreSQL
  • Composants d’intelligence artificielle et d’apprentissage automatique tels que TensorFlow et PyTorch
  • Déploiements d’Elasticsearch
  • Applications Kafka
  • Plateformes de gestion du code source telles que GitLab

Considérations

Ces considérations implémentent les piliers d’Azure Well-Architected Framework qui est un ensemble de principes directeurs qui permettent d’améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework.

Fiabilité

La fiabilité permet de s’assurer que votre application tient vos engagements auprès de vos clients. Pour plus d’informations, consultez la page Vue d’ensemble du pilier de fiabilité.

Lorsque vous déployez un cluster AKS, vous le déployez dans une seule région. Pour protéger les charges de travail des applications, il est préférable de déployer les charges de travail sur plusieurs clusters AKS qui s’étendent sur plusieurs régions. Les facteurs qui ont une incidence sur le déploiement comprennent la disponibilité des régions AKS et les régions appairées Azure. Lorsque vous déployez des clusters sur plusieurs zones de disponibilité, vous répartissez les nœuds sur plusieurs zones au sein d’une même région. Cette distribution des ressources de cluster AKS améliore la disponibilité du cluster, car les clusters sont résilients à la défaillance d’une zone spécifique.

Azure NetApp Files est hautement disponible de par sa conception. Il s’appuie sur un parc nu hautement disponible de systèmes de stockage flash. Pour connaître la garantie de disponibilité de ce service, consultez le contrat SLA pour Azure NetApp Files.

Azure NetApp Files prend en charge la réplication entre les régions pour la récupération d’urgence. Vous pouvez répliquer des volumes entre des paires de régions Azure en continu. Pour plus d’informations sur la réplication inter-région, consultez les ressources suivantes :

Optimisation des coûts

L’optimisation des coûts consiste à examiner les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.

Utilisez la calculatrice de prix Azure pour estimer le coût des composants suivants :

  • AKS
  • Azure NetApp Files
  • Réseau virtuel

Pour connaître les plans tarifaires Astra Control Service, consultez Tarifs. En adoptant Astra Control Service, vous pouvez vous concentrer sur votre application au lieu de consacrer du temps et des ressources à la création de solutions personnalisées qui ne se mettent pas à l’échelle. Astra Control Service est disponible sur Place de marché Azure.

Pour effectuer des calculs détaillés de la bande passante et de la tarification, utilisez le calculateur de la page Azure NetApp Files Performance Calculator. Des calculateurs de base et avancés sont disponibles.

Excellence opérationnelle

L’excellence opérationnelle couvre les processus d’exploitation qui déploient une application et maintiennent son fonctionnement en production. Pour plus d’informations, consultez Vue d’ensemble du pilier Excellence opérationnelle.

Lorsque vous utilisez le plan de contrôle Kubernetes, il est important de surveiller votre infrastructure et votre couche de plate-forme. Astra Control Service fournit un plan de contrôle unifié que vous pouvez utiliser pour définir et gérer les stratégies de protection des applications sur plusieurs clusters AKS. Un tableau de bord vous permet de gérer en continu les charges de travail entre les régions. Astra Trident fournit également un ensemble complet de métriques Prometheus que vous pouvez utiliser pour surveiller le stockage approvisionné.

Efficacité des performances

L’efficacité des performances est la capacité de votre charge de travail à s’adapter à la demande des utilisateurs de façon efficace. Pour plus d’informations, consultez Vue d’ensemble du pilier d’efficacité des performances.

Les clusters AKS peuvent ajouter des nœuds Worker supplémentaires pour accroître leur scalabilité. Pour mettre votre solution à l’échelle, vous pouvez ajouter des pools de nœuds ou mettre à l’échelle des pools de nœuds existants. Ces étapes augmentent le nombre de nœuds de votre cluster, le nombre total de cœurs et la mémoire disponible pour vos applications conteneurisées.

Dans chaque réseau virtuel, vous ne pouvez déléguer qu’un seul sous-réseau pour Azure NetApp Files.

Lorsque vous utilisez une configuration de base pour les fonctionnalités réseau d’Azure NetApp Files, il existe une limite de 1 000 adresses IP par réseau virtuel. La configuration standard des fonctionnalités réseau ne limite pas le nombre d’adresses IP. Pour plus d’informations, consultez Fonctionnalités réseau configurables. Pour obtenir une liste complète des limites de ressources pour Azure NetApp Files, consultez Limites de ressources pour Azure NetApp Files.

Azure NetApp Files offre plusieurs niveaux de performances. Lorsque vous utilisez Astra Control Service pour découvrir les clusters AKS, le processus d’intégration crée des objets StorageClass organisés qui sont mappés aux niveaux de service Standard, Premium et Ultra. Quand les utilisateurs déploient des applications, ils choisissent un niveau de stockage adapté à leurs besoins. Plusieurs pools de capacité peuvent coexister. Les volumes approvisionnés bénéficient d’une garantie de performance qui correspond au niveau de service. Pour obtenir la liste des niveaux de service pris en charge par Azure NetApp Files, consultez Niveaux de service pour Azure NetApp Files.

Déployer ce scénario

Pour implémenter cette solution, vous avez besoin d’un compte Azure. Créez un compte gratuitement.

Pour déployer ce scénario, suivez les étapes suivantes :

  1. Inscrivez le fournisseur de ressources qui permet d’utiliser Azure NetApp Files.
  2. Passez en revue la configuration requise pour l’utilisation d’Astra Control Service avec AKS.
  3. Utilisez le portail Azure pour créer un compte NetApp.
  4. Configurez des pools de capacité sur le compte Azure NetApp Files.
  5. Déléguez un sous-réseau pour Azure NetApp Files.
  6. Créez un principal de service qu’Astra Control Service utilisera pour découvrir les clusters AKS et effectuer des opérations de sauvegarde, de restauration et de gestion des données.
  7. Inscrivez-vous à Astra Control Service en créant un compte NetApp Cloud Central.
  8. Ajoutez des clusters AKS à Astra Control Service pour commencer à gérer des applications.
  9. Détectez les applications dans Astra Control Service. La façon dont vous découvrez et gérez les applications dépend de la façon dont vous les déployez et les identifiez. Les stratégies d’identification classiques consistent à regrouper les objets de l’application dans un espace de noms dédié, à attribuer des étiquettes aux objets qui composent l’application et à utiliser des charts Helm. Astra Control Service prend en charge ces trois stratégies.
  10. Établissez des stratégies de protection pour sauvegarder et restaurer les applications. Avant de définir des stratégies de protection, identifiez clairement vos charges de travail. Un prérequis est qu’Astra Control Service puisse détecter chaque application de façon unique. Pour plus d’informations, consultez Commencer à gérer des applications.

Pour connaître les étapes à suivre pour protéger des applications, consultez Disaster Recovery of AKS Workloads with Astra Control Service and Azure NetApp Files.

Pour obtenir des informations détaillées sur Astra Control Service, consultez la documentation d’Astra Control Service.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

Étapes suivantes