Partager via


Utiliser le pilote CSI Azure Managed Lustre avec Azure Kubernetes Service

Cet article explique comment planifier, installer et utiliser Azure Managed Lustre in Azure Kubernetes Service (AKS) avec le pilote d’interface de prise en charge du conteneur Kubernetes Azure Managed Lustre (pilote CSI Azure Managed Lustre).

À propos du pilote CSI Azure Managed Lustre pour AKS

Le pilote CSI (Container Support Interface) Azure Managed Lustre pour AKS vous permet d’accéder au stockage Azure Managed Lustre en tant que volumes de stockage persistants à partir de conteneurs Kubernetes déployés dans Azure Kubernetes Service (AKS).

Versions de Kubernetes compatibles

Le pilote CSI Azure Managed Lustre pour AKS est compatible avec Azure Kubernetes Service (AKS). D’autres installations Kubernetes ne sont actuellement pas prises en charge.

AKS Kubernetes versions 1.21 et ultérieures sont prises en charge. Cela inclut toutes les versions actuellement disponibles lors de la création d’un cluster AKS.

Important

Le pilote CSI Azure Managed Lustre fonctionne actuellement uniquement avec la référence SKU du système d’exploitation Linux Ubuntu pour les pools de nœuds d’AKS.

Versions compatibles de Lustre

Le pilote CSI Azure Managed Lustre pour AKS est compatible avec Azure Managed Lustre. Les autres installations Lustre ne sont actuellement pas prises en charge.

Les versions 0.1.10 et ultérieures du pilote CSI Azure Managed Lustre sont prises en charge avec la version actuelle du service Azure Managed Lustre.

Prérequis

Planifier votre déploiement AKS

Il existe plusieurs options lors du déploiement de Azure Kubernetes Service qui affectent l’opération entre AKS et Azure Managed Lustre.

Déterminer le type de réseau à utiliser avec AKS

Il existe deux types de réseau compatibles avec la référence SKU du système d’exploitation Linux Ubuntu, kubenet et le pilote CNI (Container Network Interface) Azure. Les deux options fonctionnent avec le pilote CSI Azure Managed Lustre pour AKS, mais elles ont des exigences différentes qui doivent être comprises lors de la configuration de la mise en réseau virtuelle et d’AKS. Pour plus d’informations sur la sélection appropriée, consultez Concepts de mise en réseau pour les applications en Azure Kubernetes Service (AKS).

Déterminer l’architecture réseau pour l’interconnectivité d’AKS et d’Azure Managed Lustre

Azure Managed Lustre fonctionne au sein d’un réseau virtuel privé. Votre Kubernetes doit disposer d’une connectivité réseau au réseau virtuel Azure Managed Lustre. Il existe deux façons courantes de configurer la mise en réseau entre Azure Managed Lustre et AKS.

  • Installez AKS dans son propre Réseau virtuel et créez un appairage de réseau virtuel avec le Réseau virtuel Azure Managed Lustre.
  • Utilisez l’option Apporter votre propre réseau dans AKS pour installer AKS sur un nouveau sous-réseau sur le Réseau virtuel Azure Managed Lustre.

Notes

L’installation d’AKS sur le même sous-réseau qu’Azure Managed Lustre n’est pas recommandée.

Peering des réseaux virtuels AKS et Azure Managed Lustre

L’option d’appairer deux réseaux virtuels différents présente l’avantage de séparer la gestion des différents réseaux en différents rôles privilégiés. Le peering peut également offrir une flexibilité supplémentaire, car il peut être effectué dans des abonnements ou des régions Azure. Réseau virtuel Peering nécessite une coordination entre les deux réseaux pour éviter de choisir des espaces réseau IP en conflit.

Diagramme montrant deux réseaux virtuels, l’un pour Azure Managed Lustre et l’autre pour AKS, avec une flèche de peering de réseaux virtuels les reliant.

Installation d’AKS dans un sous-réseau sur le réseau virtuel Azure Managed Lustre

L’option d’installer le cluster AKS dans le réseau virtuel Azure Managed Lustre avec la fonctionnalité Apporter votre propre réseau dans AKS peut être avantageuse dans les scénarios où le réseau est géré de manière unique. Un sous-réseau supplémentaire dimensionné pour répondre à vos exigences de mise en réseau AKS doit être créé dans le réseau virtuel Azure Managed Lustre.

Il n’existe aucune séparation des privilèges pour la gestion du réseau lors de l’approvisionnement d’AKS sur le réseau Azure Managed Lustre. Le principal du service AKS aura besoin de privilèges sur le réseau virtuel Azure Managed Lustre.

Diagramme montrant le réseau virtuel Azure Managed Lustre avec deux sous-réseaux, l’un pour le système de fichiers Lustre et l’autre pour AKS.

Présentation de l’installation

Pour activer le pilote CSI Azure Managed Lustre pour Kubernetes, procédez comme suit :

  1. Créer un système de fichiers Azure Managed Lustre

  2. Créer un cluster AKS Kubernetes

  3. Créer le peering de réseaux virtuels

  4. Installez le pilote CSI Azure Managed Lustre pour Kubernetes.

  5. Créez et configurez un volume persistant.

  6. Vérifiez l’installation en utilisant éventuellement un pod d’écho pour confirmer que le pilote fonctionne.

Les sections suivantes décrivent chaque tâche plus en détail.

Créer un système de fichiers Azure Managed Lustre

Si vous n’avez pas encore créé votre cluster de système de fichiers Azure Managed Lustre, créez le cluster maintenant. Pour obtenir des instructions, consultez Créer un système de fichiers Azure Managed Lustre dans le Portail Azure. Actuellement, le pilote ne peut être utilisé qu’avec un système de fichiers Azure Managed Lustre existant.

Créer un cluster AKS

Si vous n’avez pas encore créé votre cluster AKS, créez un déploiement de cluster. Consultez Déployer un cluster Azure Kubernetes Service (AKS).

Créer le peering de réseaux virtuels

Notes

Ignorez cette étape de peering réseau si vous avez installé AKS dans un sous-réseau sur le réseau virtuel Azure Managed Lustre.

Le réseau virtuel AKS est créé dans un groupe de ressources distinct du groupe de ressources du cluster AKS. Vous pouvez trouver le nom de ce groupe de ressources en accédant à votre cluster AKS dans le portail Azure en choisissant le panneau Propriétés et en recherchant le groupe de ressources Infrastructure . Ce groupe de ressources contient le réseau virtuel qui doit être associé au réseau virtuel Azure Managed Lustre. Il correspond au modèle MC_<aks-rg-name>_<aks-cluster-name>_<region>.

Consultez Réseau virtuel Peering pour appairer le réseau virtuel AKS avec votre réseau virtuel Azure Manage Lustre.

Conseil

En raison du nommage des groupes de ressources et des réseaux virtuels MC_, les noms des réseaux peuvent être similaires ou identiques dans plusieurs déploiements AKS. Lors de la configuration du peering, soyez attentif au fait que vous choisissez les réseaux AKS que vous envisagez de choisir.

Se connecter au cluster AKS

Connectez-vous au cluster Azure Kubernetes Service en procédant comme suit :

  1. Ouvrez une session de terminal avec accès aux outils Azure CLI et connectez-vous à votre compte Azure.

    az login
    
  2. Connectez-vous au portail Azure.

  3. Recherchez votre cluster AKS. Sélectionnez le panneau Vue d’ensemble , puis sélectionnez le bouton Se connecter et copiez la commande Télécharger les informations d’identification du cluster.

  4. Dans votre session de terminal, collez la commande pour télécharger les informations d’identification. Il s’agit d’une commande similaire à :

    az aks get-credentials --subscription <AKS_subscription_id> --resource_group <AKS_resource_group_name> --name <name_of_AKS>
    
  5. Installez kubectl s’il n’est pas présent dans votre environnement.

    az aks install-cli
    
  6. Vérifiez que le contexte actuel est le cluster AKS que vous venez d’installer et que vous pouvez vous y connecter :

    kubectl config current-context
    kubectl get deployments --all-namespaces=true
    

Installer le pilote CSI

Pour installer le pilote CSI, exécutez la commande suivante :

curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/azurelustre-csi-driver/main/deploy/install-driver.sh | bash

Pour obtenir des exemples de commandes d’installation locale, consultez Installer le pilote CSI Azure Lustre sur un cluster Kubernetes.

Créer et configurer un volume persistant

Pour créer un volume persistant pour un système de fichiers Azure Managed Lustre existant, procédez comme suit :

  1. Copiez les fichiers de configuration suivants à partir du dossier /docs/examples/ dans le référentiel azurelustre-csi-driver . Si vous avez cloné le référentiel lorsque vous avez installé le pilote CSI, vous disposez déjà de copies locales.

    • storageclass_existing_lustre.yaml
    • pvc_storageclass.yaml

    Si vous ne souhaitez pas cloner l’intégralité du dépôt, vous pouvez télécharger chaque fichier individuellement. Ouvrez chacun des liens suivants, copiez le contenu du fichier, puis collez le contenu dans un fichier local avec le même nom de fichier.

  2. Dans le fichier storageclass_existing_lustre.yaml , mettez à jour le nom interne du cluster Lustre et l’adresse IP MSG.

    Capture d’écran du fichier storageclass_existing_lustre.yaml avec des valeurs à remplacer mises en surbrillance.

    Les deux paramètres sont affichés dans la Portail Azure, sur la page Connexion cliente de votre système de fichiers Azure Lustre.

    Capture d’écran de la page connexion cliente Portail Azure. L’adresse IP MGS et le nom « lustrefs » dans la commande de montage sont mis en surbrillance.

    Effectuez les mises à jour suivantes :

    • Remplacez par EXISTING_LUSTRE_FS_NAME le nom interne attribué par le système du cluster Lustre dans votre système de fichiers Azure Managed Lustre. Le nom interne est généralement lustrefs. Le nom interne n’est pas le nom que vous avez donné au système de fichiers lors de sa création.

      La commande suggérée mount inclut le nom mis en surbrillance dans la chaîne d’adresse suivante.

      Capture d’écran d’un exemple de chaîne d’adresse dans la page Connexion cliente. Le nom interne du cluster Lustre est mis en surbrillance.

    • Remplacez par EXISTING_LUSTRE_IP_ADDRESSl’adresse IP MSG.

  3. Pour créer la classe de stockage et la revendication de volume persistant, exécutez la commande suivante kubectl :

    kubectl create -f storageclass_existing_lustre.yaml
    kubectl create -f pvc_storageclass.yaml
    

Vérification de l’installation

Si vous souhaitez case activée votre installation, vous pouvez éventuellement utiliser un pod d’écho pour confirmer que le pilote fonctionne.

Pour afficher les horodatages dans la console pendant les écritures, exécutez les commandes suivantes :

  1. Ajoutez le code suivant au pod d’écho :

    while true; do echo $(date) >> /mnt/lustre/outfile; tail -1 /mnt/lustre/outfile; sleep 1; done
    
  2. Pour afficher les horodatages dans la console pendant les écritures, exécutez la commande suivante kubectl :

    `kubectl logs -f lustre-echo-date`
    

Étapes suivantes