Share via


Aprovisionamiento de volúmenes de protocolo dual de Azure NetApp Files para 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).

En este artículo se muestra cómo aprovisionar volúmenes estáticamente para el acceso de protocolo dual mediante NFS o SMB.

Antes de empezar

Aprovisionamiento de un volumen de protocolo dual en Azure Kubernetes Service

En esta sección se describe cómo exponer un volumen de protocolo dual de Azure NetApp Files estáticamente a Kubernetes. Se proporcionan instrucciones para los protocolos SMB y NFS. Puede exponer el mismo volumen a través de SMB a nodos de trabajo de Windows y a través de NFS a nodos de trabajo de Linux.

Creación del volumen persistente para NFS

  1. Definición de variables para su uso posterior. Reemplace myresourcegroup, myaccountname, mypool1, myvolname por un valor adecuado de su volumen de protocolo dual.

    RESOURCE_GROUP="myresourcegroup"
    ANF_ACCOUNT_NAME="myaccountname"
    POOL_NAME="mypool1"
    VOLUME_NAME="myvolname"
    
  2. Enumere los detalles de su volumen mediante el comando 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 siguiente salida es un ejemplo del comando anterior ejecutado con valores reales.

    {
      ...
      "creationToken": "myfilepath2",
      ...
      "mountTargets": [
        {
          ...
          "ipAddress": "10.0.0.4",
          ...
        }
      ],
      ...
    }
    
  3. Cree un archivo denominado pv-nfs.yaml y cópielo en el siguiente código YAML. Asegúrese de que el servidor coincide con la dirección IP de salida del paso previo, y de que la ruta de acceso coincide con la salida anterior de creationToken. La capacidad también debe coincidir con el tamaño del volumen del paso 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. Cree la notificación del volumen persistente con el comando kubectl apply:

    kubectl apply -f pv-nfs.yaml
    
  5. Compruebe que el estado del volumen persistente esté Disponible mediante el comando kubectl describe:

    kubectl describe pv pv-nfs
    

Creación de una notificación de volumen persistente para NFS

  1. Cree un archivo denominado pvc-nfs.yaml y cópielo en el siguiente código YAML. Este manifiesto crea un PVC denominado pvc-nfs para un almacenamiento de 100Gi y el modo de acceso ReadWriteMany, que coincide con el PV que creó.

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

    kubectl apply -f pvc-nfs.yaml
    
  3. Compruebe que el Estado de la notificación de volumen persistente es Enlazado mediante el comando kubectl describe:

    kubectl describe pvc pvc-nfs
    

Montaje dentro de un pod mediante NFS

  1. Cree un archivo denominado nginx-nfs.yaml y cópielo en el siguiente código YAML. Este manifiesto define un pod nginx que usa la notificación de volumen persistente.

    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. Cree el pod utilizando el comando kubectl applykubectl-apply:

    kubectl apply -f nginx-nfs.yaml
    
  3. Compruebe que el pod está En ejecución mediante el comando kubectl apply:

    kubectl describe pod nginx-nfs
    
  4. Compruebe que su volumen se ha montado en el pod mediante kubectl exec para conectarse a pod y, luego, df -h para comprobar que el volumen está montado.

    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
    ...
    

Pasos siguientes

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