Udostępnij za pośrednictwem


Tworzenie woluminów z podwójnym protokołem dla usługi Azure NetApp Files w usłudze Azure Kubernetes Service

Po skonfigurowaniu usługi Azure NetApp Files dla usługi Azure Kubernetes Service można aprowizować woluminy usługi Azure NetApp Files dla usługi Azure Kubernetes Service.

Usługa Azure NetApp Files obsługuje woluminy przy użyciu systemu plików NFS (NFSv3 lub NFSv4.1), protokołu SMB i podwójnego protokołu (NFSv3 i SMB lub NFSv4.1 i SMB).

W tym artykule pokazano, jak statycznie aprowizować woluminy na potrzeby dostępu do dwóch protokołów przy użyciu systemu plików NFS lub SMB.

Zanim rozpoczniesz

Aprowizuj wolumin z podwójnym protokołem w usłudze Azure Kubernetes Service

W tej sekcji opisano, jak statycznie uwidocznić wolumin z podwójnym protokołem usługi Azure NetApp Files na platformie Kubernetes. Instrukcje są dostępne zarówno dla protokołów SMB, jak i NFS. Ten sam wolumin można uwidocznić za pośrednictwem protokołu SMB do węzłów procesu roboczego systemu Windows i za pośrednictwem systemu plików NFS do węzłów roboczych systemu Linux.

Tworzenie woluminu trwałego dla systemu plików NFS

  1. Zdefiniuj zmienne dla późniejszego użycia. Zastąp myresourcegroup, myaccountname, mypool1, myvolname odpowiednią wartością z woluminu z obsługą podwójnego protokołu.

    RESOURCE_GROUP="myresourcegroup"
    ANF_ACCOUNT_NAME="myaccountname"
    POOL_NAME="mypool1"
    VOLUME_NAME="myvolname"
    
  2. Wyświetl szczegóły woluminu za pomocą polecenia 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
    

    Poniższe dane wyjściowe to przykład powyższego polecenia wykonanego z rzeczywistymi wartościami.

    {
      ...
      "creationToken": "myfilepath2",
      ...
      "mountTargets": [
        {
          ...
          "ipAddress": "10.0.0.4",
          ...
        }
      ],
      ...
    }
    
  3. Utwórz plik o nazwie pv-nfs.yaml i skopiuj go w następującym języku YAML. Upewnij się, że serwer odpowiada wyjściowemu adresowi IP z poprzedniego kroku, a ścieżka odpowiada wynikowi z creationToken. Pojemność musi być również zgodna z rozmiarem woluminu z kroku 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. Utwórz wolumin trwały przy użyciu kubectl apply polecenia :

    kubectl apply -f pv-nfs.yaml
    
  5. Sprawdź, czy stan woluminu trwałego jest dostępny, używając polecenia kubectl describe.

    kubectl describe pv pv-nfs
    

Utwórz żądanie trwałego wolumenu dla NFS

  1. Utwórz plik o nazwie pvc-nfs.yaml i skopiuj go w następującym języku YAML. Ten manifest tworzy PVC o nazwie pvc-nfs, dostosowany do utworzonego PV, dla magazynu o pojemności 100Gi i trybie dostępu ReadWriteMany.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-nfs
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: ""
      resources:
        requests:
          storage: 100Gi
    
  2. Utwórz żądanie trwałego woluminu przy użyciu polecenia kubectl apply:

    kubectl apply -f pvc-nfs.yaml
    
  3. Sprawdź, czy Status żądania trwałego woluminu jest Powiązany przy użyciu polecenia kubectl describe:

    kubectl describe pvc pvc-nfs
    

Instalowanie w zasobniku przy użyciu systemu plików NFS

  1. Utwórz plik o nazwie nginx-nfs.yaml i skopiuj go w następującym języku YAML. Ten manifest definiuje nginx zasobnik, który używa żądania woluminu trwałego.

    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. Utwórz pod przy użyciu polecenia kubectl applykubectl-apply:

    kubectl apply -f nginx-nfs.yaml
    
  3. Sprawdź, czy zasobnik jest uruchomiony przy użyciu kubectl apply polecenia :

    kubectl describe pod nginx-nfs
    
  4. Sprawdź, czy wolumin został zamontowany na zasobniku przy użyciu kubectl exec do połączenia się z zasobnikiem, a następnie użyj df -h , aby sprawdzić, czy wolumin jest zamontowany.

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

Następne kroki

Aplikacja Trident obsługuje wiele funkcji w usłudze Azure NetApp Files. Aby uzyskać więcej informacji, zobacz: