Aprovisionamiento de volúmenes SMB de Azure NetApp Files en Azure Kubernetes Service

Después de configurar Azure NetApp Files para Azure Kubernetes Service, puede aprovisionar volúmenes de Azure NetApp Files para Azure Kubernetes Service.

Azure NetApp Files admite volúmenes mediante NFS (NFSv3 o NFSv4.1), SMB y protocolo dual (NFSv3 y SMB, o NFSv4.1 y SMB).

Configuración estática para aplicaciones que usan volúmenes SMB

En esta sección se describe cómo crear un volumen SMB en Azure NetApp Files y exponer el volumen estáticamente a Kubernetes para que consuma una aplicación en contenedor.

Creación de un volumen SMB

  1. Definición variables para su uso posterior. Reemplace myresourcegroup, mylocation, myaccountname, mypool1, premium, myfilepath, myvolsize, myvolname y vnetid por un valor adecuado para su entorno. La ruta de acceso de archivo debe ser única en todas las cuentas de ANF.

    RESOURCE_GROUP="myresourcegroup"
    LOCATION="mylocation"
    ANF_ACCOUNT_NAME="myaccountname"
    POOL_NAME="mypool1"
    SERVICE_LEVEL="premium" # Valid values are standard, premium, and ultra
    UNIQUE_FILE_PATH="myfilepath"
    VOLUME_SIZE_GIB="myvolsize"
    VOLUME_NAME="myvolname"
    VNET_ID="vnetId"
    SUBNET_ID="anfSubnetId"
    
  2. Cree un volumen con el comando az netappfiles volume create.

    az netappfiles volume create \
        --resource-group $RESOURCE_GROUP \
        --location $LOCATION \
        --account-name $ANF_ACCOUNT_NAME \
        --pool-name $POOL_NAME \
        --name "$VOLUME_NAME" \
        --service-level $SERVICE_LEVEL \
        --vnet $VNET_ID \
        --subnet $SUBNET_ID \
        --usage-threshold $VOLUME_SIZE_GIB \
        --file-path $UNIQUE_FILE_PATH \
        --protocol-types CIFS
    

Creación de un secreto con las credenciales de dominio

  1. Cree un secreto en el clúster de AKS para acceder al servidor de Active Directory (AD) con el comando kubectl create secret. El volumen persistente de Kubernetes usará este secreto para acceder al volumen SMB de Azure NetApp Files. Use el siguiente comando para crear el secreto, reemplazando USERNAME por el nombre de usuario, PASSWORD por la contraseña y DOMAIN_NAME por el nombre de dominio de AD.

        kubectl create secret generic smbcreds --from-literal=username=USERNAME --from-literal=password="PASSWORD" --from-literal=domain='DOMAIN_NAME'
    
  2. Compruebe que se ha creado el secreto.

       kubectl get secret
       NAME       TYPE     DATA   AGE
       smbcreds   Opaque   2      20h
    

Instalación de un controlador CSI de SMB

Debe instalar una Container Storage Interface (CSI) para crear un SMB PersistentVolume de Kubernetes.

  1. Instale el controlador CSI de SMB en el clúster con Helm. Asegúrese de establecer la windows.enabled opción en true:

    helm repo add csi-driver-smb https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts   
    helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.13.0 --set windows.enabled=true
    

    Para ver otros métodos para instalar el controlador CSI de SMB, consulte Instalación de la versión maestra del controlador CSI de SMB en un clúster de Kubernetes.

  2. Compruebe que el pod del controlador csi-smb se está ejecutando y que cada nodo de trabajo tiene un pod que se ejecuta mediante el comando kubectl get pods:

    kubectl get pods -n kube-system | grep csi-smb
    
    csi-smb-controller-68df7b4758-xf2m9   3/3     Running   0          3m46s
    csi-smb-node-s6clj                    3/3     Running   0          3m47s
    csi-smb-node-win-tfxvk                3/3     Running   0          3m47s
    

Creación del volumen persistente

  1. Enumere los detalles de su volumen con az netappfiles volume show. Reemplace las variables por los valores adecuados de la cuenta y el entorno de Azure NetApp Files si no se definen en un paso anterior.

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

    La siguiente salida es un ejemplo del comando anterior ejecutado con valores reales.

    {
      ...
      "creationToken": "myvolname",
      ...
      "mountTargets": [
        {
          ...
          "
             "smbServerFqdn": "ANF-1be3.contoso.com",
          ...
        }
      ],
      ...
    }
    
  2. Cree un archivo denominado pv-smb.yaml y cópielo en el siguiente código YAML. Si es necesario, reemplace myvolname por creationToken y ANF-1be3.contoso.com\myvolname por el valor del smbServerFqdn paso anterior. Asegúrese de incluir el secreto de credenciales de AD junto con el espacio de nombres donde se encuentra el secreto que creó en un paso anterior.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: anf-pv-smb
    spec:
      storageClassName: ""
      capacity:
        storage: 100Gi
      accessModes:
        - ReadWriteMany
      persistentVolumeReclaimPolicy: Retain
      mountOptions:
        - dir_mode=0777
        - file_mode=0777
        - vers=3.0
      csi:
        driver: smb.csi.k8s.io
        readOnly: false
        volumeHandle: myvolname  # make sure it's a unique name in the cluster
        volumeAttributes:
          source: \\ANF-1be3.contoso.com\myvolname
        nodeStageSecretRef:
          name: smbcreds
          namespace: default
    
  3. Cree la notificación del volumen persistente con el comando kubectl apply:

    kubectl apply -f pv-smb.yaml
    
  4. Compruebe que el estado del volumen persistente esté Disponible con el comando kubectl describe:

    kubectl describe pv pv-smb
    

Creación de una notificación de volumen persistente

  1. Cree un archivo denominado pvc-smb.yaml y cópielo en el siguiente código YAML.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: anf-pvc-smb
    spec:
      accessModes:
        - ReadWriteMany
      volumeName: anf-pv-smb
      storageClassName: ""
      resources:
        requests:
          storage: 100Gi
    
  2. Cree la notificación del volumen persistente con el comando kubectl apply:

    kubectl apply -f pvc-smb.yaml
    

    Compruebe que el estado de la notificación de volumen persistente es Enlazado con el comando kubectl describe:

    kubectl describe pvc pvc-smb
    

Montaje con un pod

  1. Cree un archivo denominado iis-smb.yaml y cópielo en el siguiente código YAML. Este archivo se usará para crear un pod de Internet Information Services para montar el volumen en la ruta de acceso /inetpub/wwwroot.

    apiVersion: v1
    kind: Pod 
    metadata:
      name: iis-pod
      labels:
         app: web
    spec:
      nodeSelector:
        "kubernetes.io/os": windows
      volumes:
      - name: smb
        persistentVolumeClaim:
          claimName: anf-pvc-smb 
      containers:
      - name: web
        image: mcr.microsoft.com/windows/servercore/iis:windowsservercore 
        resources:
          limits:
            cpu: 1
            memory: 800M
        ports:
          - containerPort: 80
        volumeMounts:
        - name: smb
          mountPath: "/inetpub/wwwroot"
          readOnly: false
    
  2. Cree el pod con el comando kubectl apply:

    kubectl apply -f iis-smb.yaml
    
  3. Compruebe que el pod está En ejecución y que /inetpub/wwwroot se monta desde SMB con el comando kubectl describe :

    kubectl describe pod iis-pod
    

    La salida del comando es similar al ejemplo siguiente:

    Name:         iis-pod
    Namespace:    default
    Priority:     0
    Node:         akswin000001/10.225.5.246
    Start Time:   Fri, 05 May 2023 09:34:41 -0400
    Labels:       app=web
    Annotations:  <none>
    Status:       Running
    IP:           10.225.5.248
    IPs:
      IP:  10.225.5.248
    Containers:
      web:
        Container ID:   containerd://39a1659b6a2b6db298df630237b2b7d959d1b1722edc81ce9b1bc7f06237850c
        Image:          mcr.microsoft.com/windows/servercore/iis:windowsservercore
        Image ID:       mcr.microsoft.com/windows/servercore/iis@sha256:0f0114d0f6c6ee569e1494953efdecb76465998df5eba951dc760ac5812c7409
        Port:           80/TCP
        Host Port:      0/TCP
        State:          Running
          Started:      Fri, 05 May 2023 09:34:55 -0400
        Ready:          True
        Restart Count:  0
        Limits:
          cpu:     1
          memory:  800M
        Requests:
          cpu:        1
          memory:     800M
        Environment:  <none>
        Mounts:
          /inetpub/wwwroot from smb (rw)
          /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-mbnv8 (ro)
    ...
    
  4. Compruebe que el volumen se ha montado en el pod con el comando kubectl exec para conectarse al pod y, a continuación, use el comando dir en el directorio correcto para comprobar si el volumen está montado y si el tamaño coincide con el tamaño del volumen que ha aprovisionado.

    kubectl exec -it iis-pod –- cmd.exe
    

    La salida del comando es similar al ejemplo siguiente:

    Microsoft Windows [Version 10.0.20348.1668]
    (c) Microsoft Corporation. All rights reserved.
    
    C:\>cd /inetpub/wwwroot
    
    C:\inetpub\wwwroot>dir
     Volume in drive C has no label.
     Volume Serial Number is 86BB-AA55
    
     Directory of C:\inetpub\wwwroot
    
    05/04/2023  08:15 PM    <DIR>          .
    05/04/2023  08:15 PM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  107,373,838,336 bytes free
    

Configuración dinámica para aplicaciones que usan volúmenes SMB

En esta sección se explica cómo usar Astra Trident para crear dinámicamente un volumen SMB en Azure NetApp Files y montarlo automáticamente en una aplicación de ventanas en contenedor.

Instale Astra Trident

Para aprovisionar dinámicamente volúmenes SMB, debe instalar Astra Trident versión 22.10 o posterior. El aprovisionamiento dinámico de volúmenes SMB requiere nodos de trabajo de Windows.

Astra Trident es el aprovisionador de almacenamiento dinámico de NetApp que está diseñado para Kubernetes. Simplifique el consumo de almacenamiento para aplicaciones de Kubernetes mediante el controlador Container Storage Interface (CSI) estándar del sector de Astra Trident. Astra Trident se implementa en clústeres de Kubernetes como pods y proporciona servicios de orquestación de almacenamiento dinámico para las cargas de trabajo de Kubernetes.

Trident se puede instalar mediante el operador Trident (manualmente o con Helm) o tridentctl. Para más información sobre estos métodos de instalación y cómo funcionan, consulte la Guía de instalación.

Instalación de Astra Trident mediante Helm

Helm debe estar instalado en la estación de trabajo para instalar Astra Trident mediante este método. Para conocer otros métodos de instalación de Astra Trident, consulte la Guía de instalación de Astra Trident. Si tiene nodos de trabajo de Windows en el clúster, asegúrese de habilitar Windows con cualquier método de instalación.

  1. Para instalar Astra Trident mediante Helm para un clúster con nodos de trabajo de Windows, ejecute los siguientes comandos:

    helm repo add netapp-trident https://netapp.github.io/trident-helm-chart
    
    helm install trident netapp-trident/trident-operator --version 23.04.0  --create-namespace --namespace trident –-set windows=true
    

    La salida del comando es similar al ejemplo siguiente:

    NAME: trident
    LAST DEPLOYED: Fri May  5 14:23:05 2023
    NAMESPACE: trident
    STATUS: deployed
    REVISION: 1
    TEST SUITE: None
    NOTES:
    Thank you for installing trident-operator, which will deploy and manage NetApp's Trident CSI
    storage provisioner for Kubernetes.
    
    Your release is named 'trident' and is installed into the 'trident' namespace.
    Please note that there must be only one instance of Trident (and trident-operator) in a Kubernetes cluster.
    
    To configure Trident to manage storage resources, you will need a copy of tridentctl, which is available in pre-packaged Trident releases.  You may find all Trident releases and source code online at https://github.com/NetApp/trident.
    
    To learn more about the release, try:
    
      $ helm status trident
      $ helm get all trident
    
  2. Para confirmar que Astra Trident se instaló correctamente, ejecute el siguiente comando kubectl describe:

    kubectl describe torc trident
    

    La salida del comando es similar al ejemplo siguiente:

    Name:         trident
    Namespace:    
    Labels:       app.kubernetes.io/managed-by=Helm
    Annotations:  meta.helm.sh/release-name: trident
                  meta.helm.sh/release-namespace: trident
    API Version:  trident.netapp.io/v1
    Kind:         TridentOrchestrator
    Metadata:
        ...
    Spec:
      IPv6:                  false
      Autosupport Image:     docker.io/netapp/trident-autosupport:23.04
      Autosupport Proxy:     <nil>
      Disable Audit Log:     true
      Enable Force Detach:   false
      Http Request Timeout:  90s
      Image Pull Policy:     IfNotPresent
      k8sTimeout:            0
      Kubelet Dir:           <nil>
      Log Format:            text
      Log Layers:            <nil>
      Log Workflows:         <nil>
      Namespace:             trident
      Probe Port:            17546
      Silence Autosupport:   false
      Trident Image:         docker.io/netapp/trident:23.04.0
      Windows:               true
    Status:
      Current Installation Params:
        IPv6:                       false
        Autosupport Hostname:       
        Autosupport Image:          docker.io/netapp/trident-autosupport:23.04
        Autosupport Proxy:          
        Autosupport Serial Number:  
        Debug:                      false
        Disable Audit Log:          true
        Enable Force Detach:        false
        Http Request Timeout:       90s
        Image Pull Policy:          IfNotPresent
        Image Pull Secrets:
        Image Registry:       
        k8sTimeout:           30
        Kubelet Dir:          /var/lib/kubelet
        Log Format:           text
        Log Layers:           
        Log Level:            info
        Log Workflows:        
        Probe Port:           17546
        Silence Autosupport:  false
        Trident Image:        docker.io/netapp/trident:23.04.0
      Message:                Trident installed
      Namespace:              trident
      Status:                 Installed
      Version:                v23.04.0
    Events:
      Type    Reason      Age   From                        Message
      ----    ------      ----  ----                        -------
      Normal  Installing  74s   trident-operator.netapp.io  Installing Trident
      Normal  Installed   46s   trident-operator.netapp.io  Trident installed
    

Crear un back-end

Debe crearse un back-end para indicar a Astra Trident la suscripción de Azure NetApp Files y dónde debe crear los volúmenes. Para más información sobre los back-end, consulte Opciones y ejemplos de configuración de back-end en Azure NetApp Files.

  1. Cree un archivo denominado backend-secret-smb.yaml y cópielo en el siguiente código YAML. Cambie Client ID y clientSecret a los valores correctos para su entorno.

    apiVersion: v1
    kind: Secret
    metadata:
      name: backend-tbc-anf-secret
    type: Opaque
    stringData:
      clientID: abcde356-bf8e-fake-c111-abcde35613aa
      clientSecret: rR0rUmWXfNioN1KhtHisiSAnoTherboGuskey6pU
    
  2. Cree un archivo denominado backend-anf-smb.yaml y cópielo en el siguiente código YAML. Cambie ClientID, clientSecret, subscriptionID, tenantID, location y serviceLevel a los valores correctos para su entorno. tenantID, clientID y clientSecret se pueden encontrar en un Registro de aplicación en Microsoft Entra ID (AD) con permisos suficientes para el servicio Azure NetApp Files. El registro de la aplicación incluye el rol Propietario o Colaborador predefinido por Azure. La ubicación de Azure debe contener al menos una subred delegada. serviceLevel debe coincidir con el serviceLevel configurado para el grupo de capacidad en Configuración de Azure NetApp Files para cargas de trabajo de AKS.

    apiVersion: trident.netapp.io/v1
    kind: TridentBackendConfig
    metadata:
      name: backend-tbc-anf-smb
    spec:
      version: 1
      storageDriverName: azure-netapp-files
      subscriptionID: 12abc678-4774-fake-a1b2-a7abcde39312
      tenantID: a7abcde3-edc1-fake-b111-a7abcde356cf
      location: eastus
      serviceLevel: Premium
      credentials:
        name: backend-tbc-anf-secret
      nasType: smb
    
  3. Cree el secreto y el back-end con el comando kubectl apply.

    Creación del secreto:

    kubectl apply -f backend-secret.yaml -n trident
    

    La salida del comando es similar al ejemplo siguiente:

    secret/backend-tbc-anf-secret created
    

    Creación del back-end:

    kubectl apply -f backend-anf.yaml -n trident
    

    La salida del comando es similar al ejemplo siguiente:

    tridentbackendconfig.trident.netapp.io/backend-tbc-anf created
    
  4. Para comprobar que el back-end se ha creado, ejecute el siguiente comando:

    kubectl get tridentbackends -n trident
    

    La salida del comando es similar al ejemplo siguiente:

    NAME        BACKEND               BACKEND UUID
    tbe-9shfq   backend-tbc-anf-smb   09cc2d43-8197-475f-8356-da7707bae203
    

Creación de un secreto con las credenciales de dominio para SMB

  1. Cree un secreto en el clúster de AKS para acceder al servidor de AD con el comando kubectl create secret. El volumen persistente de Kubernetes usará esta información para acceder al volumen SMB de Azure NetApp Files. Use el siguiente comando, reemplazando DOMAIN_NAME\USERNAME por el nombre de dominio y el nombre de usuario y PASSWORD por la contraseña.

    kubectl create secret generic smbcreds --from-literal=username=DOMAIN_NAME\USERNAME –from-literal=password="PASSWORD" 
    
  2. Vamos a comprobar que el secreto se ha creado.

    kubectl get secret
    

    La salida se parece a la del ejemplo siguiente:

    NAME       TYPE     DATA   AGE
    smbcreds   Opaque   2      2h
    

Creación de una clase de almacenamiento

Una clase de almacenamiento se usa para definir cómo se crea dinámicamente una unidad de almacenamiento con un volumen persistente. Para utilizar volúmenes de Azure NetApp Files, se debe crear una clase de almacenamiento.

  1. Cree un archivo denominado anf-storageclass-smb.yaml y cópielo en el siguiente código YAML.

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: anf-sc-smb
    provisioner: csi.trident.netapp.io
    allowVolumeExpansion: true
    parameters:
      backendType: "azure-netapp-files"
      trident.netapp.io/nasType: "smb"
      csi.storage.k8s.io/node-stage-secret-name: "smbcreds"
      csi.storage.k8s.io/node-stage-secret-namespace: "default"
    
  2. Cree la clase de almacenamiento con el comando kubectl apply:

    kubectl apply -f anf-storageclass-smb.yaml
    

    La salida del comando es similar al ejemplo siguiente:

    storageclass/anf-sc-smb created
    
  3. Ejecute el comando kubectl get para ver el estado de la clase de almacenamiento:

    kubectl get sc anf-sc-smb
    NAME         PROVISIONER             RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
    anf-sc-smb   csi.trident.netapp.io   Delete          Immediate           true                   13s
    

Creación de un PVC

Una reclamación de volumen persistente (PVC) es una solicitud de almacenamiento realizada por un usuario. Tras la creación de una clase notificación de volumen persistente, Astra Trident crea automáticamente un recurso compartido SMB de Azure NetApp Files y lo pone a disposición para su consumo por las cargas de trabajo de Kubernetes.

  1. Cree un archivo llamado anf-pvc-smb.yaml y copie el siguiente YAML. En este ejemplo, se crea un volumen de 100 GiB con acceso ReadWriteMany y usa la clase de almacenamiento creada en Creación de una clase de almacenamiento.

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: anf-pvc-smb
    spec:
      accessModes:
        - ReadWriteMany
      resources:
        requests:
          storage: 100Gi
      storageClassName: anf-sc-smb
    
  2. Cree la notificación del volumen persistente con el comando kubectl apply:

    kubectl apply -f anf-pvc-smb.yaml
    

    La salida del comando es similar al ejemplo siguiente:

    persistentvolumeclaim/anf-pvc-smb created
    
  3. Para ver información sobre la notificación de volumen persistente, ejecute el comando kubectl get:

    kubectl get pvc
    

    La salida del comando es similar al ejemplo siguiente:

    NAME          STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
    anf-pvc-smb   Bound    pvc-209268f5-c175-4a23-b61b-e34faf5b6239   100Gi      RWX            anf-sc-smb     5m38s
    
  4. Para ver el volumen persistente creado por Astra Trident, ejecute el siguiente comando kubectl get:

    kubectl get pv
    NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                 STORAGECLASS   REASON   AGE
    pvc-209268f5-c175-4a23-b61b-e34faf5b6239   100Gi      RWX            Delete           Bound    default/anf-pvc-smb   anf-sc-smb              5m52s
    

Uso del volumen persistente

Una vez creada la PVC, se puede activar un pod para acceder al volumen de Azure NetApp Files. El siguiente manifiesto se puede usar para definir un pod de Internet Information Services (IIS) que monte el recurso compartido SMB de Azure NetApp Files que se creó en el paso anterior. En este ejemplo, el volumen se monta en /inetpub/wwwroot.

  1. Cree un archivo denominado anf-iis-pod.yaml y cópielo en el siguiente código YAML:

    apiVersion: v1
    kind: Pod 
    metadata:
      name: iis-pod
      labels:
         app: web
    spec:
      nodeSelector:
        "kubernetes.io/os": windows
      volumes:
      - name: smb
        persistentVolumeClaim:
          claimName: anf-pvc-smb 
      containers:
      - name: web
        image: mcr.microsoft.com/windows/servercore/iis:windowsservercore 
        resources:
          limits:
            cpu: 1
            memory: 800M
        ports:
          - containerPort: 80
        volumeMounts:
        - name: smb
          mountPath: "/inetpub/wwwroot"
          readOnly: false
    
  2. Cree la implementación con el comando kubectl apply:

    kubectl apply -f anf-iis-deploy-pod.yaml
    

    La salida del comando es similar al ejemplo siguiente:

    pod/iis-pod created
    

    Compruebe que el pod se está ejecutando y se monta a través de SMB en /inetpub/wwwroot mediante el comando kubectl describe:

    kubectl describe pod iis-pod
    

    La salida del comando es similar al ejemplo siguiente:

    Name:         iis-pod
    Namespace:    default
    Priority:     0
    Node:         akswin000001/10.225.5.246
    Start Time:   Fri, 05 May 2023 15:16:36 -0400
    Labels:       app=web
    Annotations:  <none>
    Status:       Running
    IP:           10.225.5.252
    IPs:
      IP:  10.225.5.252
    Containers:
      web:
        Container ID:   containerd://1e4959f2b49e7ad842b0ec774488a6142ac9152ca380c7ba4d814ae739d5ed3e
        Image:          mcr.microsoft.com/windows/servercore/iis:windowsservercore
        Image ID:       mcr.microsoft.com/windows/servercore/iis@sha256:0f0114d0f6c6ee569e1494953efdecb76465998df5eba951dc760ac5812c7409
        Port:           80/TCP
        Host Port:      0/TCP
        State:          Running
          Started:      Fri, 05 May 2023 15:16:44 -0400
        Ready:          True
        Restart Count:  0
        Limits:
          cpu:     1
          memory:  800M
        Requests:
          cpu:        1
          memory:     800M
        Environment:  <none>
        Mounts:
          /inetpub/wwwroot from smb (rw)
          /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-zznzs (ro)
    
  3. Compruebe que su volumen se ha montado en el pod mediante kubectl exec para conectarse al pod. Y, a continuación, use el comando dir en el directorio correcto para comprobar si el volumen está montado y el tamaño coincide con el tamaño del volumen que aprovisionó.

    kubectl exec -it iis-pod –- cmd.exe
    

    La salida del comando es similar al ejemplo siguiente:

    Microsoft Windows [Version 10.0.20348.1668]
    (c) Microsoft Corporation. All rights reserved.
    
    C:\>cd /inetpub/wwwroot
    
    C:\inetpub\wwwroot>dir
     Volume in drive C has no label.
     Volume Serial Number is 86BB-AA55
    
     Directory of C:\inetpub\wwwroot
    
    05/05/2023  01:38 AM    <DIR>          .
    05/05/2023  01:38 AM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  107,373,862,912 bytes free
    
    C:\inetpub\wwwroot>exit
    

Pasos siguientes

Astra Trident admite muchas características con Azure NetApp Files. Para más información, consulte: