Partager via


Configurer Azure NetApp Files pour OpenShift Virtualization sur Azure Red Hat OpenShift (préversion)

Azure NetApp Files est un service de stockage de fichiers limité, hautes performances et de classe entreprise. Il prend en charge les charges de travail de fichiers d’entreprise les plus exigeantes dans le cloud, notamment les bases de données et les applications informatiques hautes performances sans modification du code.

Azure NetApp Files prend en charge OpenShift Virtualization sur Azure Red Hat OpenShift à l’aide du pilote CSI Trident. L’opérateur Trident certifié permet la consommation et la gestion des ressources de stockage et peut être déployé sur Azure Red Hat OpenShift à partir de OperatorHub. Cela permet aux clusters Azure Red Hat OpenShift de créer automatiquement des volumes Azure NetApp Files en tant que volumes persistants pour les disques de machine virtuelle. Azure NetApp Files offre un provisionnement rapide de machines virtuelles, un clonage instantané et une migration dynamique pour OpenShift Virtualization.

Lorsqu’une nouvelle machine virtuelle est déployée dans Azure Red Hat OpenShift, Trident provisionne automatiquement un volume NFS sur Azure NetApp Files pour stocker les disques de la machine virtuelle, personnaliser la capacité et les performances sur le niveau de service Azure NetApp Files sélectionné (Standard, Premium, Ultra ou Flexible). Plusieurs nœuds OpenShift peuvent accéder simultanément au même volume, ce qui permet une migration de machine virtuelle transparente sans interruption dans l’accès au disque.

Prerequisites

  • Un cluster Microsoft Azure Red Hat OpenShift exécutant la version 4.18 ou ultérieure

    Note

    Passez en revue les conseils de mise à niveau, en particulier si vous exécutez une version antérieure à la version 4.17.x.

  • OpenShift Virtualization pour Azure Red Hat OpenShift, qui peut être déployé sur OperatorHub ou sur la console OpenShift

  • NetApp Trident Version 25.6.2 ou ultérieure Suivez les instructions pour déployer l’opérateur Trident à partir de Red Hat OpenShift OperatorHub et déployer l’orchestrateur Trident dans le cluster OpenShift. Les exemples de cette page supposent que l’orchestrateur Trident est déployé dans l’espace de noms `trident` sur le cluster OpenShift.

  • Azure NetApp Files avec au moins un pool de capacités en utilisant le niveau de service Flexible, Premium, Standard ou Ultra.

    S’il s’agit de votre première utilisation d’Azure NetApp Files, consultez le guide de démarrage rapide.

    Les exemples de cette page supposent qu’un pool de capacité de niveau de service flexible d’un sous-réseau délégué Azure NetApp Files existe sur le réseau virtuel utilisé par Azure Red Hat OpenShift. Le niveau de service flexible est recommandé pour contrôler la capacité et le débit des volumes Azure NetApp Files individuels qui contiennent le disque de machine virtuelle individuelle.

    Note

    Vérifiez qu’il existe une capacité et un débit suffisants dans votre pool de capacités pour vos disques de machine virtuelle. Pour plus d’informations, consultez les niveaux de service Azure NetApp Files et la calculatrice de performances Azure NetApp Files.

Architecture

Cette page détaille la configuration d’Azure NetApp Files pour OpenShift Virtualization et les étapes de configuration pour le Trident et ses pools de stockage virtuel, ainsi que les classes de stockage Kubernetes correspondantes, comme indiqué dans le diagramme. Il offre des exemples pour une classe de stockage de base avec un paramètre de débit et pour trois classes de stockage avec des caractéristiques de débit différentes.

Diagramme montrant les composants logiciels et la configuration sur le cluster Azure Red Hat OpenShift et les ressources Azure.

Avant de commencer

Ce processus de configuration utilise le rôle Contributeur intégré pour le principe de service utilisé par Trident. Si vous ne souhaitez pas utiliser le rôle Contributeur par défaut, vous pouvez créer un rôle personnalisé pour accorder uniquement les privilèges requis à Trident.

Configurer Trident pour Azure NetApp Files

  1. Créez le principal de service pour le groupe de ressources qui inclut les ressources Azure NetApp Files (compte NetApp).

    az ad sp create-for-rbac --name trident --role Contributor --scopes /subscriptions/<Subscription_ID>/resourceGroups/<Resource_Group>
    

    La commande génère un appId et password. Prenez note de ces sorties ; celles-ci sont requises pour l’étape suivante pour créer un secret pour le principal du service Trident.

    {
      "appId": "<appID>",
      "displayName": "trident",
      "password": "<password>",
      "tenant": "<tenant>"
    }
    
  2. Dans la console OpenShift, créez le secret avec les informations d’identification du principal du service Trident pour gérer les ressources Azure NetApp Files.

    oc create secret generic anf-credentials --from-literal=clientID=<appID> --from-literal=clientSecret=<password> -n trident
    
  3. Configurez le back-end Azure NetApp Files pour Trident. Importez YAML à l’aide de la console OpenShift.

    1. Connectez-vous à votre console web OpenShift.
    2. Sélectionnez l’icône + dans le masthead, puis importez YAML.
    3. Collez le YAML directement dans l’éditeur ou créez un fichier et chargez-le avec le bouton Charger.

    Cet exemple de configuration établit un pool de stockage virtuel dans le back-end Trident utilisé par une StorageClass version ultérieure. Le pool de stockage virtuel utilise le pool de capacité de niveau de service flexible avec une qualité de service manuelle affectée à 60 Mo/s pour chaque volume créé.

    apiVersion: trident.netapp.io/v1
    kind: TridentBackendConfig
    metadata:
      name: <ANF_TridentBackendConfig_name>
      namespace: trident
    spec:
      version: 1
      storageDriverName: azure-netapp-files
      credentials:
          name: anf-credentials
      subscriptionID: <Subscription_ID>
      tenantID: <Tenant_ID>
      location: <region>
      networkFeatures: Standard
      virtualNetwork: <Resource_Group/Virtual_Network_used_by_ARO>
      subnet: <Resource_Group/Virtual_Network_used_by_ARO/Delegate_subnet_for_ANF>
      nfsMountOptions: nfsvers=3,nconnect=4
      defaults:
        unixPermissions: "0777"
        maxThroughput: "60"
        qosType: "Manual"
      labels:
        qos: manual60mbps
    
  4. Confirmez la configuration back-end d’Azure NetApp Files pour Trident.

    1. Connectez-vous à votre console OpenShift.

    2. Dans la barre latérale, sélectionnez Accueil , puis Recherche.

    3. Sélectionnez votre ressource TridentBackendConfig .

    4. Dans la liste déroulante Ressources , sélectionnez TridentBackendConfig.

    5. Dans la liste déroulante Projets , sélectionnez Tous les projets.

    6. Dans la liste TridentBackendConfig , sélectionnez TridentBackendConfig_name.

    7. Sélectionnez YAML.

    8. Vérifiez les paramètres suivants TridentBackendConfig :

    status:
        backendInfo:
        backendName: <TridentBackendConfig_name>
        backendUUID: <TridentBackendConfig_ID>
        deletionPolicy: delete
        lastOperationStatus: Success
        message: Backend '<TridentBackendConfig_name>' updated
        phase: Bound
    
  5. Configurez la classe de stockage pour utiliser Azure NetApp Files.

    1. Sélectionnez l’icône + dans le masthead, puis importez YAML.
    2. Collez le YAML directement dans l’éditeur, ou créez un fichier et chargez-le avec le bouton Charger.

    Cette classe de stockage utilise le seul pool de stockage virtuel dans le back-end Trident sur la base de l’étiquette qos.

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: <ANF_StorageClass_name>
    provisioner: csi.trident.netapp.io
    parameters:
      backendType: "azure-netapp-files"
      selector: qos=manual60mbps
    reclaimPolicy: Delete
    allowVolumeExpansion: true
    
  6. Configurez la classe de snapshots de volumes pour Azure NetApp Files. Sélectionnez l’icône + dans le masthead, puis importez YAML.

    Collez le YAML directement dans l’éditeur, ou créez un fichier et chargez-le avec le bouton Charger.

    apiVersion: snapshot.storage.k8s.io/v1
    kind: VolumeSnapshotClass
    metadata:
      name: <ANF_VolumeSnapshotClass_name>
    driver: csi.trident.netapp.io
    deletionPolicy: Delete
    
  7. Dans la console OpenShift, modifiez le profil de stockage pour les classes de stockage basées sur Azure NetApp Files afin qu’il s’agit ReadWriteMany (RWX) de la valeur par défaut. Cette modification permet à la machine virtuelle qui utilise des disques de machine virtuelle dans ces classes de stockage d’utiliser la migration dynamique.

    # Linux:
    oc patch storageprofile <ANF_StorageClass_name> --type='json' -p='[{"op": "replace", "path": "/spec/claimPropertySets", "value": [{"accessModes": ["ReadWriteMany"], "volumeMode": "Filesystem"}]}]'
    
  8. Définissez la AzureNetAppFiles_StorageClass_name valeur par défaut.

    1. Dans la barre latérale de la console OpenShift, sélectionnez Stockage , puis Classes de stockage
    2. Sélectionnez le menu Action ⋮ pour définir AzureNetAppFiles_StorageClass_namecomme valeur par défaut.

Étapes suivantes

Ressources supplémentaires