Aprowizuj woluminy z podwójnym protokołem usługi Azure NetApp Files dla usługi 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 ciąg myresourcegroup, myaccountname, mypool1, myvolname odpowiednią wartością woluminu z podwójnym protokołem.

    RESOURCE_GROUP="myresourcegroup"
    ANF_ACCOUNT_NAME="myaccountname"
    POOL_NAME="mypool1"
    VOLUME_NAME="myvolname"
    
  2. Wyświetl szczegóły woluminu przy az netappfiles volume show użyciu polecenia .

    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 jest zgodny z wyjściowym adresem IP z poprzedniego kroku, a ścieżka jest zgodna z danymi wyjściowymi z creationToken powyższych. 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 za pomocą kubectl describe polecenia :

    kubectl describe pv pv-nfs
    

Tworzenie trwałego oświadczenia woluminu dla systemu plików 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 dla magazynu 100Gi i ReadWriteMany trybu dostępu, pasując do utworzonego pv.

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

    kubectl apply -f pvc-nfs.yaml
    
  3. Sprawdź, czy stan oświadczenia trwałego woluminu ma wartość Powiązana przy użyciu kubectl describe polecenia :

    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 trwałego oświadczenia woluminu.

    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 zasobnik przy użyciu kubectl applypolecenia kubectl-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ł zainstalowany na zasobniku przy użyciu polecenia kubectl exec , aby nawiązać połączenie z zasobnikem, a następnie sprawdź df -h , czy wolumin jest zainstalowany.

    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 Astra Trident obsługuje wiele funkcji w usłudze Azure NetApp Files. Aby uzyskać więcej informacji, zobacz: