Etablera Azure NetApp Files-volymer med dubbla protokoll för Azure Kubernetes Service

När du har konfigurerat Azure NetApp Files för Azure Kubernetes Service kan du etablera Azure NetApp Files-volymer för Azure Kubernetes Service.

Azure NetApp Files stöder volymer med NFS (NFSv3 eller NFSv4.1), SMB och dubbla protokoll (NFSv3 och SMB eller NFSv4.1 och SMB).

Den här artikeln visar hur du statiskt etablerar volymer för åtkomst med dubbla protokoll med hjälp av NFS eller SMB.

Innan du börjar

Etablera en volym med dubbla protokoll i Azure Kubernetes Service

I det här avsnittet beskrivs hur du exponerar en Volym med dubbla protokoll i Azure NetApp Files statiskt för Kubernetes. Instruktioner finns för både SMB- och NFS-protokoll. Du kan exponera samma volym via SMB för Windows-arbetsnoder och via NFS till Linux-arbetsnoder.

Skapa den beständiga volymen för NFS

  1. Definiera variabler för senare användning. Ersätt myresourcegroup, myaccountname, mypool1, myvolname med ett lämpligt värde från volymen med dubbla protokoll.

    RESOURCE_GROUP="myresourcegroup"
    ANF_ACCOUNT_NAME="myaccountname"
    POOL_NAME="mypool1"
    VOLUME_NAME="myvolname"
    
  2. Visa en lista med information om volymen med hjälp av az netappfiles volume show kommandot .

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

    Följande utdata är ett exempel på kommandot ovan som körs med verkliga värden.

    {
      ...
      "creationToken": "myfilepath2",
      ...
      "mountTargets": [
        {
          ...
          "ipAddress": "10.0.0.4",
          ...
        }
      ],
      ...
    }
    
  3. Skapa en fil med namnet pv-nfs.yaml och kopiera i följande YAML. Kontrollera att servern matchar utdata-IP-adressen från föregående steg och sökvägen matchar utdata från creationToken ovan. Kapaciteten måste också matcha volymstorleken från steg 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. Skapa den beständiga volymen med kommandot kubectl apply :

    kubectl apply -f pv-nfs.yaml
    
  5. Kontrollera att statusen för den beständiga volymen är Tillgänglig med hjälp kubectl describe av kommandot :

    kubectl describe pv pv-nfs
    

Skapa ett beständigt volymanspråk för NFS

  1. Skapa en fil med namnet pvc-nfs.yaml och kopiera i följande YAML. Det här manifestet skapar en PVC med namnet pvc-nfs för lagrings- och åtkomstläget 100Gi, ReadWriteMany som matchar den PV som du skapade.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-nfs
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: ""
      resources:
        requests:
          storage: 100Gi
    
  2. Skapa det beständiga volymanspråket kubectl apply med kommandot :

    kubectl apply -f pvc-nfs.yaml
    
  3. Kontrollera att Status för det beständiga volymanspråket är Bundetkubectl describe med hjälp av kommandot :

    kubectl describe pvc pvc-nfs
    

Montera i en podd med hjälp av NFS

  1. Skapa en fil med namnet nginx-nfs.yaml och kopiera i följande YAML. Det här manifestet definierar en nginx podd som använder det beständiga volymanspråket.

    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. Skapa podden med kubectl applykommandot kubectl-apply :

    kubectl apply -f nginx-nfs.yaml
    
  3. Kontrollera att podden körs med hjälp kubectl apply av kommandot :

    kubectl describe pod nginx-nfs
    
  4. Kontrollera att volymen har monterats på podden med hjälp kubectl exec av för att ansluta till podden och använd df -h sedan för att kontrollera om volymen är monterad.

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

Nästa steg

Astra Trident har stöd för många funktioner med Azure NetApp Files. Mer information finns i: