Condividi tramite


Effettuare il provisioning dei volumi a doppio protocollo di Azure NetApp Files per il servizio Azure Kubernetes

Dopo aver configurato Azure NetApp Files per il servizio Azure Kubernetes, è possibile effettuare il provisioning dei volumi di Azure NetApp Files per il servizio Azure Kubernetes.

Azure NetApp Files supporta volumi che usano NFS (NFSv3 o NFSv4.1), SMB e doppio protocollo (NFSv3 e SMB o NFSv4.1 e SMB).

Questo articolo illustra come effettuare il provisioning statico dei volumi per l'accesso a doppio protocollo tramite NFS o SMB.

Operazioni preliminari

Effettuare il provisioning di un volume a doppio protocollo nel servizio Azure Kubernetes

Questa sezione descrive come esporre un volume a doppio protocollo di Azure NetApp Files in modo statico a Kubernetes. Vengono fornite istruzioni per i protocolli SMB e NFS. È possibile esporre lo stesso volume tramite SMB ai nodi di lavoro Windows e tramite NFS ai nodi di lavoro Linux.

Creare il volume persistente per NFS

  1. Definire le variabili per un uso successivo. Sostituire myresourcegroup, myaccountname, mypool1, myvolname con un valore appropriato dal volume a doppio protocollo.

    RESOURCE_GROUP="myresourcegroup"
    ANF_ACCOUNT_NAME="myaccountname"
    POOL_NAME="mypool1"
    VOLUME_NAME="myvolname"
    
  2. Elencare i dettagli del volume usando il 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
    

    L'output seguente è un esempio del comando precedente eseguito con valori reali.

    {
      ...
      "creationToken": "myfilepath2",
      ...
      "mountTargets": [
        {
          ...
          "ipAddress": "10.0.0.4",
          ...
        }
      ],
      ...
    }
    
  3. Creare un file denominato pv-nfs.yaml e copiarlo nel codice YAML seguente. Assicurarsi che il server corrisponda all'indirizzo IP di output del passaggio precedente e che il percorso corrisponda all'output precedente creationToken. La capacità deve corrispondere anche alle dimensioni del volume del passaggio 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. Creare il volume permanente usando il comando kubectl apply:

    kubectl apply -f pv-nfs.yaml
    
  5. Verificare che lo stato del volume permanente sia Disponibile usando il comando kubectl describe:

    kubectl describe pv pv-nfs
    

Creare un'attestazione di volume permanente per NFS

  1. Creare un file denominato pvc-nfs.yaml e copiarlo nel codice YAML seguente. Questo manifesto crea un PVC denominato pvc-nfs per la modalità di archiviazione 100Gi e di accesso ReadWriteMany, corrispondente al volume permanente creato.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-nfs
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: ""
      resources:
        requests:
          storage: 100Gi
    
  2. Creare l'attestazione di volume permanente usando il comando kubectl apply:

    kubectl apply -f pvc-nfs.yaml
    
  3. Verificare che lo Stato dell’attestazione di volume permanente sia Associato usando il comando kubectl describe:

    kubectl describe pvc pvc-nfs
    

Montaggio all'interno di un pod usando NFS

  1. Creare un file denominato nginx-nfs.yaml e copiarlo nel codice YAML seguente. Questo manifesto definisce un pod nginx che usa l'attestazione di volume permanente.

    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. Creare il pod con il comando kubectl applykubectl-apply:

    kubectl apply -f nginx-nfs.yaml
    
  3. Verificare che il pod sia In esecuzione usando il comando kubectl apply:

    kubectl describe pod nginx-nfs
    
  4. Verificare che il volume sia stato montato nel pod usando kubectl exec per connettersi al pod, quindi usare df -h per verificare se il volume è montato.

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

Passaggi successivi

Astra Trident supporta molte funzionalità con Azure NetApp Files. Per altre informazioni, vedi: