Memprovisikan volume protokol ganda Azure NetApp Files untuk Azure Kubernetes Service

Setelah mengonfigurasi Azure NetApp Files untuk Azure Kubernetes Service, Anda dapat menyediakan volume Azure NetApp Files untuk Azure Kubernetes Service.

Azure NetApp Files mendukung volume menggunakan NFS (NFSv3 atau NFSv4.1), SMB, dan protokol ganda (NFSv3 dan SMB, atau NFSv4.1 dan SMB).

Artikel ini menunjukkan kepada Anda cara memprovisikan volume secara statis untuk akses protokol ganda menggunakan NFS atau SMB.

Sebelum Anda mulai

Menyediakan volume protokol ganda di Azure Kubernetes Service

Bagian ini menjelaskan cara mengekspos volume protokol ganda Azure NetApp Files secara statis ke Kubernetes. Instruksi disediakan untuk protokol SMB dan NFS. Anda dapat mengekspos volume yang sama melalui simpul pekerja SMB ke Windows dan melalui simpul pekerja NFS ke Linux.

Membuat volume persisten untuk NFS

  1. Tentukan variabel untuk penggunaan nanti. Ganti myresourcegroup, myaccountname, mypool1, myvolname dengan nilai yang sesuai dari volume protokol ganda Anda.

    RESOURCE_GROUP="myresourcegroup"
    ANF_ACCOUNT_NAME="myaccountname"
    POOL_NAME="mypool1"
    VOLUME_NAME="myvolname"
    
  2. Cantumkan detail volume Anda menggunakan az netappfiles volume show perintah .

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

    Output berikut adalah contoh perintah di atas yang dijalankan dengan nilai nyata.

    {
      ...
      "creationToken": "myfilepath2",
      ...
      "mountTargets": [
        {
          ...
          "ipAddress": "10.0.0.4",
          ...
        }
      ],
      ...
    }
    
  3. Buat file bernama pv-nfs.yaml dan salin dalam YAML berikut. Pastikan server cocok dengan alamat IP output dari langkah sebelumnya, dan jalurnya cocok dengan output dari creationToken atas. Kapasitas juga harus sesuai dengan ukuran volume dari Langkah 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. Buat volume persisten menggunakan kubectl apply perintah :

    kubectl apply -f pv-nfs.yaml
    
  5. Verifikasi status volume persisten Tersedia dengan menggunakan kubectl describe perintah :

    kubectl describe pv pv-nfs
    

Membuat klaim volume persisten untuk NFS

  1. Buat file bernama pvc-nfs.yaml dan salin dalam YAML berikut. Manifes ini membuat PVC bernama pvc-nfs untuk penyimpanan 100Gi dan ReadWriteMany mode akses, cocok dengan PV yang Anda buat.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-nfs
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: ""
      resources:
        requests:
          storage: 100Gi
    
  2. Buat klaim volume persisten menggunakan kubectl apply perintah :

    kubectl apply -f pvc-nfs.yaml
    
  3. Verifikasi Status klaim volume persisten Terikatdengan menggunakan kubectl describe perintah :

    kubectl describe pvc pvc-nfs
    

Memasang dalam pod menggunakan NFS

  1. Buat file bernama nginx-nfs.yaml dan salin dalam YAML berikut. Manifes ini mendefinisikan nginx pod yang menggunakan klaim volume persisten.

    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. Buat pod menggunakan kubectl applyperintah kubectl-apply :

    kubectl apply -f nginx-nfs.yaml
    
  3. Verifikasi pod berjalan dengan menggunakan kubectl apply perintah :

    kubectl describe pod nginx-nfs
    
  4. Pastikan volume Anda telah dipasang pada pod dengan menggunakan kubectl exec untuk menyambungkan ke pod, lalu gunakan df -h untuk memeriksa apakah volume dipasang.

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

Langkah berikutnya

Astra Trident mendukung banyak fitur dengan Azure NetApp Files. Untuk informasi selengkapnya, lihat: