Azure NetApp Files-volumes met twee protocollen inrichten voor Azure Kubernetes Service

Nadat u Azure NetApp Files voor Azure Kubernetes Service hebt geconfigureerd, kunt u Azure NetApp Files-volumes inrichten voor Azure Kubernetes Service.

Azure NetApp Files ondersteunt volumes met NFS (NFSv3 of NFSv4.1), SMB en dual-protocol (NFSv3 en SMB, of NFSv4.1 en SMB).

In dit artikel leest u hoe u volumes statisch kunt inrichten voor toegang met twee protocollen met behulp van NFS of SMB.

Voordat u begint

Een volume met twee protocollen inrichten in Azure Kubernetes Service

In deze sectie wordt beschreven hoe u een volume met twee protocollen van Azure NetApp Files statisch beschikbaar maakt voor Kubernetes. Er worden instructies gegeven voor zowel SMB- als NFS-protocollen. U kunt hetzelfde volume via SMB beschikbaar maken voor Windows-werkknooppunten en via NFS naar Linux-werkknooppunten.

Het permanente volume voor NFS maken

  1. Definieer variabelen voor later gebruik. Vervang myresourcegroup, myaccountname, mypool1, myvolname door een geschikte waarde van uw volume met twee protocollen.

    RESOURCE_GROUP="myresourcegroup"
    ANF_ACCOUNT_NAME="myaccountname"
    POOL_NAME="mypool1"
    VOLUME_NAME="myvolname"
    
  2. Geef de details van uw volume weer met behulp van de az netappfiles volume show opdracht.

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

    De volgende uitvoer is een voorbeeld van de bovenstaande opdracht die wordt uitgevoerd met echte waarden.

    {
      ...
      "creationToken": "myfilepath2",
      ...
      "mountTargets": [
        {
          ...
          "ipAddress": "10.0.0.4",
          ...
        }
      ],
      ...
    }
    
  3. Maak een bestand met de naam pv-nfs.yaml en kopieer dit in de volgende YAML. Zorg ervoor dat de server overeenkomt met het uitvoer-IP-adres uit de vorige stap en dat het pad overeenkomt met de uitvoer van creationToken hierboven. De capaciteit moet ook overeenkomen met de volumegrootte uit stap 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. Maak het permanente volume met behulp van de kubectl apply opdracht:

    kubectl apply -f pv-nfs.yaml
    
  5. Controleer of de status van het permanente volume beschikbaar is met behulp van de kubectl describe opdracht:

    kubectl describe pv pv-nfs
    

Een permanente volumeclaim maken voor NFS

  1. Maak een bestand met de naam pvc-nfs.yaml en kopieer dit in de volgende YAML. Dit manifest maakt een PVC met de naam pvc-nfs 100Gi-opslag en ReadWriteMany toegangsmodus, die overeenkomt met de PV die u hebt gemaakt.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-nfs
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: ""
      resources:
        requests:
          storage: 100Gi
    
  2. Maak de permanente volumeclaim met behulp van de kubectl apply opdracht:

    kubectl apply -f pvc-nfs.yaml
    
  3. Controleer of de status van de permanente volumeclaim afhankelijk is met behulp van de kubectl describe opdracht:

    kubectl describe pvc pvc-nfs
    

Koppelen binnen een pod met behulp van NFS

  1. Maak een bestand met de naam nginx-nfs.yaml en kopieer dit in de volgende YAML. Dit manifest definieert een nginx pod die gebruikmaakt van de permanente volumeclaim.

    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. Maak de pod met behulp van de kubectl applyopdracht kubectl-apply :

    kubectl apply -f nginx-nfs.yaml
    
  3. Controleer of de pod wordt uitgevoerd met behulp van de kubectl apply opdracht:

    kubectl describe pod nginx-nfs
    
  4. Controleer of het volume op de pod is gekoppeld door verbinding kubectl exec te maken met de pod en vervolgens te gebruiken df -h om te controleren of het volume is gekoppeld.

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

Volgende stappen

Astra Trident ondersteunt veel functies met Azure NetApp Files. Zie voor meer informatie: