Partager via


Approvisionner des volumes Azure NetApp Files à double protocole sur Azure Kubernetes Service

Après avoir configuré Azure NetApp Files pour Azure Kubernetes Service, vous pouvez approvisionner des volumes Azure NetApp Files pour Azure Kubernetes Service.

Azure NetApp Files prend en charge les volumes utilisant NFS (NFSv3 ou NFSv4.1), SMB et double protocole (NFSv3 et SMB, ou NFSv4.1 et SMB).

Cet article explique comment provisionner des volumes de manière statique pour l’accès à double protocole utilisant NFS ou SMB.

Avant de commencer

Approvisionner un volume à double protocole dans Azure Kubernetes Service

Cette section explique comment exposer statiquement un volume à double protocole Azure NetApp Files à Kubernetes. Des instructions sont fournies pour les protocoles SMB et NFS. Vous pouvez exposer le même volume via SMB aux nœuds Worker Windows et via les nœuds Worker NFS vers Linux.

Créer le volume persistant pour NFS

  1. Définissez les variables pour une utilisation ultérieure. Remplacez myresourcegroup, myaccountname, mypool1, myvolname par une valeur appropriée de votre volume à double protocole.

    RESOURCE_GROUP="myresourcegroup"
    ANF_ACCOUNT_NAME="myaccountname"
    POOL_NAME="mypool1"
    VOLUME_NAME="myvolname"
    
  2. Listez les détails de votre volume en utilisant la commande az netappfiles volume show.

    az netappfiles volume show \
        --resource-group $RESOURCE_GROUP \
        --account-name $ANF_ACCOUNT_NAME \
        --pool-name $POOL_NAME \
        --volume-name $VOLUME_NAME -o JSON
    

    La sortie suivante est un exemple de commande ci-dessus exécutée avec des valeurs réelles.

    {
      ...
      "creationToken": "myfilepath2",
      ...
      "mountTargets": [
        {
          ...
          "ipAddress": "10.0.0.4",
          ...
        }
      ],
      ...
    }
    
  3. Créez un fichier nommé pv-nfs.yaml et copiez-y le YAML suivant. Assurez-vous que le serveur correspond à l’adresse IP de sortie de l’étape 1 et que le chemin d’accès correspond à la sortie de creationToken ci-dessus. La capacité doit également correspondre à la taille du volume de l’étape 2.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: pv-nfs
    spec:
      capacity:
        storage: 100Gi
      accessModes:
        - ReadWriteMany
      mountOptions:
        - vers=3
      nfs:
        server: 10.0.0.4
        path: /myfilepath2
    
  4. Créez la revendication de volume persistant avec la commande kubectl apply :

    kubectl apply -f pv-nfs.yaml
    
  5. Vérifiez que l’état du volume persistant est Disponible à l’aide de la commande kubectl describe :

    kubectl describe pv pv-nfs
    

Créer une revendication de volume persistant pour NFS

  1. Créez un fichier nommé pvc-nfs.yaml et copiez-y le YAML suivant. Ce manifeste crée un PVC nommé pvc-nfs pour le mode de stockage 100 Gi et d’accès ReadWriteMany, correspondant au PV que vous avez créé.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-nfs
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: ""
      resources:
        requests:
          storage: 100Gi
    
  2. Créez la revendication de volume persistant avec la commande kubectl apply :

    kubectl apply -f pvc-nfs.yaml
    
  3. Vérifiez que L’état de la revendication de volume persistant est Bound (Lié) à l’aide de la commande kubectl describe :

    kubectl describe pvc pvc-nfs
    

Montez dans un pod à l’aide de NFS

  1. Créez un fichier nommé nginx-nfs.yaml et copiez-y le YAML suivant. Ce manifeste définit un pod nginx qui utilise la revendication de volume persistant.

    kind: Pod
    apiVersion: v1
    metadata:
      name: nginx-nfs
    spec:
      containers:
      - image: mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine
        name: nginx-nfs
        command:
        - "/bin/sh"
        - "-c"
        - while true; do echo $(date) >> /mnt/azure/outfile; sleep 1; done
        volumeMounts:
        - name: disk01
          mountPath: /mnt/azure
      volumes:
      - name: disk01
        persistentVolumeClaim:
          claimName: pvc-nfs
    
  2. Créez le pod en utilisant la commande kubectl applykubectl-apply :

    kubectl apply -f nginx-nfs.yaml
    
  3. Vérifiez que l’état du pod est En cours d’exécution à l’aide de la commande kubectl apply :

    kubectl describe pod nginx-nfs
    
  4. Vérifiez que votre volume a été monté dans le pod en utilisant kubectl exec pour vous connecter au pod, puis df -h pour vérifier si le volume est monté.

    kubectl exec -it nginx-nfs -- sh
    
    / # df -h
    Filesystem             Size  Used Avail Use% Mounted on
    ...
    10.0.0.4:/myfilepath2  100T  384K  100T   1% /mnt/azure
    ...
    

Étapes suivantes

Astra Trident prend en charge de nombreuses fonctionnalités avec Azure NetApp Files. Pour plus d'informations, consultez les pages suivantes :