مشاركة عبر


توفير وحدات تخزين البروتوكول المزدوج لملفات Azure NetApp لخدمة Azure Kubernetes

بعد تكوين Azure NetApp Files لخدمة Azure Kubernetes، يمكنك توفير وحدات تخزين Azure NetApp Files لخدمة Azure Kubernetes.

تدعم Azure NetApp Files وحدات التخزين باستخدام NFS (NFSv3 أو NFSv4.1) وSMB والبروتوكول المزدوج (NFSv3 وSMB أو NFSv4.1 وSMB).

توضح هذه المقالة كيفية توفير وحدات التخزين بشكل ثابت للوصول إلى البروتوكول المزدوج باستخدام NFS أو SMB.

قبل البدء

توفير وحدة تخزين بروتوكول مزدوج في خدمة Azure Kubernetes

يصف هذا القسم كيفية عرض وحدة تخزين بروتوكول مزدوج لملفات Azure NetApp بشكل ثابت إلى Kubernetes. يتم توفير إرشادات لكل من بروتوكولات SMB وNFS. يمكنك عرض نفس وحدة التخزين عبر SMB لعقد عامل Windows وعبر NFS إلى عقد عامل Linux.

إنشاء وحدة التخزين الثابتة ل NFS

  1. تعريف المتغيرات للاستخدام لاحقا. استبدل myresourcegroup، myaccountname، mypool1، myvolname بقيمة مناسبة من وحدة تخزين البروتوكول المزدوج.

    RESOURCE_GROUP="myresourcegroup"
    ANF_ACCOUNT_NAME="myaccountname"
    POOL_NAME="mypool1"
    VOLUME_NAME="myvolname"
    
  2. سرد تفاصيل وحدة التخزين الخاصة بك باستخدام 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
    

    الإخراج التالي هو مثال على الأمر أعلاه المنفذ بقيم حقيقية.

    {
      ...
      "creationToken": "myfilepath2",
      ...
      "mountTargets": [
        {
          ...
          "ipAddress": "10.0.0.4",
          ...
        }
      ],
      ...
    }
    
  3. قم بإنشاء ملف باسم pv-nfs.yaml وانسخه في YAML التالي. تأكد من تطابق الخادم مع عنوان IP الإخراج من الخطوة السابقة، والمسار يطابق الإخراج من creationToken أعلى. يجب أن تتطابق السعة أيضا مع حجم وحدة التخزين من الخطوة 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. إنشاء وحدة التخزين الثابتة باستخدام kubectl apply الأمر :

    kubectl apply -f pv-nfs.yaml
    
  5. تحقق من أن حالة وحدة التخزين الثابتة متوفرة باستخدام kubectl describe الأمر :

    kubectl describe pv pv-nfs
    

إنشاء مطالبة وحدة تخزين ثابتة ل NFS

  1. قم بإنشاء ملف باسم pvc-nfs.yaml وانسخه في YAML التالي. ينشئ هذا البيان PVC باسم pvc-nfs لتخزين 100Gi ووضع الوصول، ويطابق ReadWriteMany PV الذي قمت بإنشائه.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-nfs
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: ""
      resources:
        requests:
          storage: 100Gi
    
  2. إنشاء مطالبة وحدة التخزين الدائمة باستخدام kubectl apply الأمر :

    kubectl apply -f pvc-nfs.yaml
    
  3. تحقق من أن حالة مطالبة وحدة التخزين الثابتة مرتبطة kubectl describe باستخدام الأمر :

    kubectl describe pvc pvc-nfs
    

تحميل داخل جراب باستخدام NFS

  1. قم بإنشاء ملف باسم nginx-nfs.yaml وانسخه في YAML التالي. يعرف هذا البيان جراب nginx يستخدم مطالبة وحدة التخزين الدائمة.

    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. إنشاء الجراب باستخدام kubectl applyالأمر kubectl-apply :

    kubectl apply -f nginx-nfs.yaml
    
  3. تحقق من أن pod قيد التشغيل باستخدام kubectl apply الأمر :

    kubectl describe pod nginx-nfs
    
  4. تحقق من تحميل وحدة التخزين الخاصة بك على الجراب باستخدام kubectl exec للاتصال بالجراب، ثم استخدم df -h للتحقق مما إذا كان يتم تحميل وحدة التخزين.

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

الخطوات التالية

يدعم Astra Trident العديد من الميزات مع Azure NetApp Files. لمزيد من المعلومات، راجع: