مشاركة عبر


توفير وحدات تخزين Azure NetApp Files SMB لخدمة 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).

تكوين ثابت للتطبيقات التي تستخدم وحدات تخزين SMB

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

إنشاء وحدة تخزين SMB

  1. تعريف المتغيرات للاستخدام لاحقا. استبدل myresourcegroup وmylocation وmyaccountname وmypool1 وpremium وmyfilepath وmyvolsize وmyvolname وvirtnetid بقيمة مناسبة للبيئة الخاصة بك. يجب أن يكون مسار الملف فريدا داخل جميع حسابات ANF.

    RESOURCE_GROUP="myresourcegroup"
    LOCATION="mylocation"
    ANF_ACCOUNT_NAME="myaccountname"
    POOL_NAME="mypool1"
    SERVICE_LEVEL="premium" # Valid values are standard, premium, and ultra
    UNIQUE_FILE_PATH="myfilepath"
    VOLUME_SIZE_GIB="myvolsize"
    VOLUME_NAME="myvolname"
    VNET_ID="vnetId"
    SUBNET_ID="anfSubnetId"
    
  2. إنشاء وحدة تخزين باستخدام az netappfiles volume create الأمر .

    az netappfiles volume create \
        --resource-group $RESOURCE_GROUP \
        --location $LOCATION \
        --account-name $ANF_ACCOUNT_NAME \
        --pool-name $POOL_NAME \
        --name "$VOLUME_NAME" \
        --service-level $SERVICE_LEVEL \
        --vnet $VNET_ID \
        --subnet $SUBNET_ID \
        --usage-threshold $VOLUME_SIZE_GIB \
        --file-path $UNIQUE_FILE_PATH \
        --protocol-types CIFS
    

إنشاء سر باستخدام بيانات اعتماد المجال

  1. إنشاء سر على نظام مجموعة AKS للوصول إلى خادم Active Directory (AD) باستخدام kubectl create secret الأمر . سيتم استخدام هذا السر بواسطة وحدة التخزين الثابتة Kubernetes للوصول إلى وحدة تخزين Azure NetApp Files SMB. استخدم الأمر التالي لإنشاء السر، واستبدال USERNAME باسم المستخدم الخاص بك، PASSWORD وكلمة المرور الخاصة بك، واسم DOMAIN_NAME المجال الخاص بك ل AD الخاص بك.

        kubectl create secret generic smbcreds --from-literal=username=USERNAME --from-literal=password="PASSWORD" --from-literal=domain='DOMAIN_NAME'
    
  2. تحقق من إنشاء السر.

       kubectl get secret
       NAME       TYPE     DATA   AGE
       smbcreds   Opaque   2      20h
    

تثبيت برنامج تشغيل SMB CSI

يجب تثبيت برنامج تشغيل واجهة تخزين الحاويات (CSI) لإنشاء Kubernetes SMB PersistentVolume.

  1. تثبيت برنامج تشغيل SMB CSI على نظام المجموعة باستخدام helm. تأكد من تعيين windows.enabled الخيار إلى true:

    helm repo add csi-driver-smb https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts   
    helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.13.0 --set windows.enabled=true
    

    للحصول على طرق أخرى لتثبيت برنامج تشغيل SMB CSI، راجع تثبيت الإصدار الرئيسي لبرنامج تشغيل SMB CSI على مجموعة Kubernetes.

  2. تحقق من تشغيل csi-smb وحدة التحكم وأن كل عقدة عاملة لديها جراب قيد التشغيل باستخدام kubectl get pods الأمر :

    kubectl get pods -n kube-system | grep csi-smb
    
    csi-smb-controller-68df7b4758-xf2m9   3/3     Running   0          3m46s
    csi-smb-node-s6clj                    3/3     Running   0          3m47s
    csi-smb-node-win-tfxvk                3/3     Running   0          3m47s
    

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

  1. سرد تفاصيل وحدة التخزين الخاصة بك باستخدام az netappfiles volume show. استبدل المتغيرات بالقيم المناسبة من حساب Azure NetApp Files والبيئة إذا لم يتم تعريفها في خطوة سابقة.

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

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

    {
      ...
      "creationToken": "myvolname",
      ...
      "mountTargets": [
        {
          ...
          "
             "smbServerFqdn": "ANF-1be3.contoso.com",
          ...
        }
      ],
      ...
    }
    
  2. قم بإنشاء ملف باسم pv-smb.yaml وانسخه في YAML التالي. إذا لزم الأمر، استبدل myvolname ب creationToken واستبدل ANF-1be3.contoso.com\myvolname بقيمة smbServerFqdn من الخطوة السابقة. تأكد من تضمين بيانات اعتماد AD السرية مع مساحة الاسم حيث يوجد السر الذي قمت بإنشائه في خطوة سابقة.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: anf-pv-smb
    spec:
      storageClassName: ""
      capacity:
        storage: 100Gi
      accessModes:
        - ReadWriteMany
      persistentVolumeReclaimPolicy: Retain
      mountOptions:
        - dir_mode=0777
        - file_mode=0777
        - vers=3.0
      csi:
        driver: smb.csi.k8s.io
        readOnly: false
        volumeHandle: myvolname  # make sure it's a unique name in the cluster
        volumeAttributes:
          source: \\ANF-1be3.contoso.com\myvolname
        nodeStageSecretRef:
          name: smbcreds
          namespace: default
    
  3. إنشاء وحدة التخزين الثابتة باستخدام kubectl apply الأمر :

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

    kubectl describe pv pv-smb
    

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

  1. إنشاء اسم pvc-smb.yaml ملف ونسخه في YAML التالي.

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

    kubectl apply -f pvc-smb.yaml
    

    تحقق من أن حالة مطالبة وحدة التخزين الثابتة مرتبطة باستخدام الأمر kubectl describe :

    kubectl describe pvc pvc-smb
    

الإدخال باستخدام كبسولة

  1. قم بإنشاء ملف باسم iis-smb.yaml وانسخه في YAML التالي. سيتم استخدام هذا الملف لإنشاء خدمات معلومات الإنترنت pod لتحميل وحدة التخزين إلى المسار /inetpub/wwwroot.

    apiVersion: v1
    kind: Pod 
    metadata:
      name: iis-pod
      labels:
         app: web
    spec:
      nodeSelector:
        "kubernetes.io/os": windows
      volumes:
      - name: smb
        persistentVolumeClaim:
          claimName: anf-pvc-smb 
      containers:
      - name: web
        image: mcr.microsoft.com/windows/servercore/iis:windowsservercore 
        resources:
          limits:
            cpu: 1
            memory: 800M
        ports:
          - containerPort: 80
        volumeMounts:
        - name: smb
          mountPath: "/inetpub/wwwroot"
          readOnly: false
    
  2. إنشاء الجراب باستخدام الأمر kubectl apply :

    kubectl apply -f iis-smb.yaml
    
  3. تحقق من أن الكبسولة قيد التشغيل ويتم /inetpub/wwwroot تحميلها من SMB باستخدام الأمر kubectl describe :

    kubectl describe pod iis-pod
    

    إخراج الأمر يشبه المثال التالي:

    Name:         iis-pod
    Namespace:    default
    Priority:     0
    Node:         akswin000001/10.225.5.246
    Start Time:   Fri, 05 May 2023 09:34:41 -0400
    Labels:       app=web
    Annotations:  <none>
    Status:       Running
    IP:           10.225.5.248
    IPs:
      IP:  10.225.5.248
    Containers:
      web:
        Container ID:   containerd://39a1659b6a2b6db298df630237b2b7d959d1b1722edc81ce9b1bc7f06237850c
        Image:          mcr.microsoft.com/windows/servercore/iis:windowsservercore
        Image ID:       mcr.microsoft.com/windows/servercore/iis@sha256:0f0114d0f6c6ee569e1494953efdecb76465998df5eba951dc760ac5812c7409
        Port:           80/TCP
        Host Port:      0/TCP
        State:          Running
          Started:      Fri, 05 May 2023 09:34:55 -0400
        Ready:          True
        Restart Count:  0
        Limits:
          cpu:     1
          memory:  800M
        Requests:
          cpu:        1
          memory:     800M
        Environment:  <none>
        Mounts:
          /inetpub/wwwroot from smb (rw)
          /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-mbnv8 (ro)
    ...
    
  4. تحقق من تحميل وحدة التخزين الخاصة بك على الجراب باستخدام الأمر kubectl exec للاتصال بالجراب، ثم استخدم dir الأمر في الدليل الصحيح للتحقق مما إذا كان يتم تحميل وحدة التخزين والحجم يطابق حجم وحدة التخزين التي قمت بتوفيرها.

    kubectl exec -it iis-pod –- cmd.exe
    

    إخراج الأمر يشبه المثال التالي:

    Microsoft Windows [Version 10.0.20348.1668]
    (c) Microsoft Corporation. All rights reserved.
    
    C:\>cd /inetpub/wwwroot
    
    C:\inetpub\wwwroot>dir
     Volume in drive C has no label.
     Volume Serial Number is 86BB-AA55
    
     Directory of C:\inetpub\wwwroot
    
    05/04/2023  08:15 PM    <DIR>          .
    05/04/2023  08:15 PM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  107,373,838,336 bytes free
    

تكوين ديناميكي للتطبيقات التي تستخدم وحدات تخزين SMB

يغطي هذا القسم كيفية استخدام Astra Trident لإنشاء وحدة تخزين SMB ديناميكيا على Azure NetApp Files وتركيبها تلقائيا إلى تطبيق windows في حاوية.

تثبيت Astra Trident

لتوفير وحدات تخزين SMB ديناميكيا، تحتاج إلى تثبيت Astra Trident الإصدار 22.10 أو أحدث. يتطلب توفير وحدات تخزين SMB ديناميكيا عقد عامل windows.

تُعد Astra Trident موفر التخزين الديناميكي لـ NetApp الذي تم بناؤه لهذا الغرض من أجل Kubernetes. تبسيط استهلاك التخزين لتطبيقات Kubernetes باستخدام برنامج تشغيل واجهة تخزين الحاويات (CSI) في Astra Trident. ينشر Astra Trident على مجموعات Kubernetes كوحدات pod ويوفر خدمات تزامن تخزين ديناميكية لأحمال عمل Kubernetes الخاصة بك.

يمكن تثبيت Trident باستخدام عامل تشغيل Trident (يدويا أو باستخدام Helm) أو tridentctl. لمعرفة المزيد حول أساليب التثبيت هذه وكيفية عملها، راجع دليل التثبيت.

تثبيت Astra Trident باستخدام Helm

يجب تثبيت Helm على محطة العمل لتثبيت Astra Trident باستخدام هذا الأسلوب. للحصول على طرق أخرى لتثبيت Astra Trident، راجع دليل تثبيت Astra Trident. إذا كان لديك عقد عامل windows في نظام المجموعة، فتأكد من تمكين النوافذ بأي أسلوب تثبيت.

  1. لتثبيت Astra Trident باستخدام Helm لنظام مجموعة مع عقد عامل windows، قم بتشغيل الأوامر التالية:

    helm repo add netapp-trident https://netapp.github.io/trident-helm-chart
    
    helm install trident netapp-trident/trident-operator --version 23.04.0  --create-namespace --namespace trident –-set windows=true
    

    إخراج الأمر يشبه المثال التالي:

    NAME: trident
    LAST DEPLOYED: Fri May  5 14:23:05 2023
    NAMESPACE: trident
    STATUS: deployed
    REVISION: 1
    TEST SUITE: None
    NOTES:
    Thank you for installing trident-operator, which will deploy and manage NetApp's Trident CSI
    storage provisioner for Kubernetes.
    
    Your release is named 'trident' and is installed into the 'trident' namespace.
    Please note that there must be only one instance of Trident (and trident-operator) in a Kubernetes cluster.
    
    To configure Trident to manage storage resources, you will need a copy of tridentctl, which is available in pre-packaged Trident releases.  You may find all Trident releases and source code online at https://github.com/NetApp/trident.
    
    To learn more about the release, try:
    
      $ helm status trident
      $ helm get all trident
    
  2. لتأكيد تثبيت Astra Trident بنجاح، قم بتشغيل الأمر التالي kubectl describe :

    kubectl describe torc trident
    

    إخراج الأمر يشبه المثال التالي:

    Name:         trident
    Namespace:    
    Labels:       app.kubernetes.io/managed-by=Helm
    Annotations:  meta.helm.sh/release-name: trident
                  meta.helm.sh/release-namespace: trident
    API Version:  trident.netapp.io/v1
    Kind:         TridentOrchestrator
    Metadata:
        ...
    Spec:
      IPv6:                  false
      Autosupport Image:     docker.io/netapp/trident-autosupport:23.04
      Autosupport Proxy:     <nil>
      Disable Audit Log:     true
      Enable Force Detach:   false
      Http Request Timeout:  90s
      Image Pull Policy:     IfNotPresent
      k8sTimeout:            0
      Kubelet Dir:           <nil>
      Log Format:            text
      Log Layers:            <nil>
      Log Workflows:         <nil>
      Namespace:             trident
      Probe Port:            17546
      Silence Autosupport:   false
      Trident Image:         docker.io/netapp/trident:23.04.0
      Windows:               true
    Status:
      Current Installation Params:
        IPv6:                       false
        Autosupport Hostname:       
        Autosupport Image:          docker.io/netapp/trident-autosupport:23.04
        Autosupport Proxy:          
        Autosupport Serial Number:  
        Debug:                      false
        Disable Audit Log:          true
        Enable Force Detach:        false
        Http Request Timeout:       90s
        Image Pull Policy:          IfNotPresent
        Image Pull Secrets:
        Image Registry:       
        k8sTimeout:           30
        Kubelet Dir:          /var/lib/kubelet
        Log Format:           text
        Log Layers:           
        Log Level:            info
        Log Workflows:        
        Probe Port:           17546
        Silence Autosupport:  false
        Trident Image:        docker.io/netapp/trident:23.04.0
      Message:                Trident installed
      Namespace:              trident
      Status:                 Installed
      Version:                v23.04.0
    Events:
      Type    Reason      Age   From                        Message
      ----    ------      ----  ----                        -------
      Normal  Installing  74s   trident-operator.netapp.io  Installing Trident
      Normal  Installed   46s   trident-operator.netapp.io  Trident installed
    

إنشاء خلفية

يجب إنشاء خلفية لإرشاد Astra Trident حول اشتراك Azure NetApp Files وحيث تحتاج إلى إنشاء وحدات تخزين. لمزيد من المعلومات حول الخلفيات، راجع خيارات وأمثلة تكوين الواجهة الخلفية لملفات Azure NetApp.

  1. قم بإنشاء ملف باسم backend-secret-smb.yaml وانسخه في YAML التالي. Client ID قم بتغيير و clientSecret إلى القيم الصحيحة للبيئة الخاصة بك.

    apiVersion: v1
    kind: Secret
    metadata:
      name: backend-tbc-anf-secret
    type: Opaque
    stringData:
      clientID: 00001111-aaaa-2222-bbbb-3333cccc4444
      clientSecret: rR0rUmWXfNioN1KhtHisiSAnoTherboGuskey6pU
    
  2. قم بإنشاء ملف باسم backend-anf-smb.yaml وانسخه في YAML التالي. ClientIDقم بتغيير القيم clientSecretsubscriptionIDالصحيحة للبيئة الخاصة بك، و، tenantIDو، locationو، وserviceLevel. يمكن العثور على tenantIDو clientSecret clientIDمن تسجيل تطبيق في معرف Microsoft Entra مع أذونات كافية لخدمة Azure NetApp Files. يتضمن تسجيل التطبيق دور المالك أو المساهم المحدد مسبقا بواسطة Azure. يجب أن يحتوي موقع Azure على شبكة فرعية مفوضة واحدة على الأقل. يجب أن يتطابق serviceLevel مع serviceLevel المكون لتجمع السعة في تكوين Azure NetApp Files لأحمال عمل AKS.

    apiVersion: trident.netapp.io/v1
    kind: TridentBackendConfig
    metadata:
      name: backend-tbc-anf-smb
    spec:
      version: 1
      storageDriverName: azure-netapp-files
      subscriptionID: aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
      tenantID: aaaabbbb-0000-cccc-1111-dddd2222eeee
      location: eastus
      serviceLevel: Premium
      credentials:
        name: backend-tbc-anf-secret
      nasType: smb
    
  3. إنشاء البيانات السرية والخلفية باستخدام kubectl apply الأمر .

    إنشاء بيانات سرية :

    kubectl apply -f backend-secret.yaml -n trident
    

    إخراج الأمر يشبه المثال التالي:

    secret/backend-tbc-anf-secret created
    

    إنشاء الخلفية:

    kubectl apply -f backend-anf.yaml -n trident
    

    إخراج الأمر يشبه المثال التالي:

    tridentbackendconfig.trident.netapp.io/backend-tbc-anf created
    
  4. تحقق من إنشاء الخلفية عن طريق تشغيل الأمر التالي:

    kubectl get tridentbackends -n trident
    

    إخراج الأمر يشبه المثال التالي:

    NAME        BACKEND               BACKEND UUID
    tbe-9shfq   backend-tbc-anf-smb   09cc2d43-8197-475f-8356-da7707bae203
    

إنشاء سر باستخدام بيانات اعتماد المجال ل SMB

  1. إنشاء سر على نظام مجموعة AKS للوصول إلى خادم AD باستخدام kubectl create secret الأمر . سيتم استخدام هذه المعلومات بواسطة وحدة التخزين الثابتة Kubernetes للوصول إلى وحدة تخزين Azure NetApp Files SMB. استخدم الأمر التالي، واستبدل DOMAIN_NAME\USERNAME باسم المجال واسم المستخدم وكلمة PASSWORD المرور الخاصة بك.

    kubectl create secret generic smbcreds --from-literal=username=DOMAIN_NAME\USERNAME –from-literal=password="PASSWORD" 
    
  2. تحقق من إنشاء السر.

    kubectl get secret
    

    يشبه الإخراج المثال التالي:

    NAME       TYPE     DATA   AGE
    smbcreds   Opaque   2      2h
    

أنشئ فئة تخزين

يتم استخدام فئة تخزين لتعريف كيفية إنشاء وحدة تخزين بشكل حيوي مع وحدة تخزين ثابتة. لاستهلاك وحدات تخزين Azure NetApp Files، يجب إنشاء فئة تخزين.

  1. قم بإنشاء ملف باسم anf-storageclass-smb.yaml وانسخه في YAML التالي.

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: anf-sc-smb
    provisioner: csi.trident.netapp.io
    allowVolumeExpansion: true
    parameters:
      backendType: "azure-netapp-files"
      trident.netapp.io/nasType: "smb"
      csi.storage.k8s.io/node-stage-secret-name: "smbcreds"
      csi.storage.k8s.io/node-stage-secret-namespace: "default"
    
  2. إنشاء فئة التخزين باستخدام kubectl apply الأمر :

    kubectl apply -f anf-storageclass-smb.yaml
    

    إخراج الأمر يشبه المثال التالي:

    storageclass/anf-sc-smb created
    
  3. kubectl get قم بتشغيل الأمر لعرض حالة فئة التخزين:

    kubectl get sc anf-sc-smb
    NAME         PROVISIONER             RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
    anf-sc-smb   csi.trident.netapp.io   Delete          Immediate           true                   13s
    

إنشاء PVC

مطالبة وحدة التخزين الدائمة (PVC) هي طلب للتخزين من قبل المستخدم. عند إنشاء مطالبة وحدة تخزين ثابتة، تقوم Astra Trident تلقائيا بإنشاء مشاركة Azure NetApp Files SMB وتجعلها متاحة لاستهلاك أحمال عمل Kubernetes.

  1. أنشئ ملفا باسم anf-pvc-smb.yaml وانسخ YAML التالي. في هذا المثال، يتم إنشاء وحدة تخزين 100-GiB مع ReadWriteMany الوصول وتستخدم فئة التخزين التي تم إنشاؤها في إنشاء فئة تخزين.

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

    kubectl apply -f anf-pvc-smb.yaml
    

    إخراج الأمر يشبه المثال التالي:

    persistentvolumeclaim/anf-pvc-smb created
    
  3. لعرض معلومات حول مطالبة وحدة التخزين الثابتة، قم بتشغيل kubectl get الأمر :

    kubectl get pvc
    

    إخراج الأمر يشبه المثال التالي:

    NAME          STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
    anf-pvc-smb   Bound    pvc-209268f5-c175-4a23-b61b-e34faf5b6239   100Gi      RWX            anf-sc-smb     5m38s
    
  4. لعرض وحدة التخزين الثابتة التي تم إنشاؤها بواسطة Astra Trident، قم بتشغيل الأمر التالي kubectl get :

    kubectl get pv
    NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                 STORAGECLASS   REASON   AGE
    pvc-209268f5-c175-4a23-b61b-e34faf5b6239   100Gi      RWX            Delete           Bound    default/anf-pvc-smb   anf-sc-smb              5m52s
    

استخدم الحجم الثابت

بعد إنشاء PVC، يمكن زيادة الكبسولة للوصول إلى وحدات تخزين Azure NetApp Files. يمكن استخدام البيان التالي لتعريف جراب خدمات معلومات الإنترنت (IIS) الذي يقوم بتحميل مشاركة Azure NetApp Files SMB التي تم إنشاؤها في الخطوة السابقة. في هذا المثال، يتم إدخال وحدة التخزين في /inetpub/wwwroot.

  1. أنشئ ملفا باسم anf-iis-pod.yaml وانسخه في YAML التالي:

    apiVersion: v1
    kind: Pod 
    metadata:
      name: iis-pod
      labels:
         app: web
    spec:
      nodeSelector:
        "kubernetes.io/os": windows
      volumes:
      - name: smb
        persistentVolumeClaim:
          claimName: anf-pvc-smb 
      containers:
      - name: web
        image: mcr.microsoft.com/windows/servercore/iis:windowsservercore 
        resources:
          limits:
            cpu: 1
            memory: 800M
        ports:
          - containerPort: 80
        volumeMounts:
        - name: smb
          mountPath: "/inetpub/wwwroot"
          readOnly: false
    
  2. إنشاء النشر باستخدام kubectl apply الأمر :

    kubectl apply -f anf-iis-deploy-pod.yaml
    

    إخراج الأمر يشبه المثال التالي:

    pod/iis-pod created
    

    تحقق من أن الجراب قيد التشغيل ويتم تحميله عبر SMB إلى /inetpub/wwwroot باستخدام kubectl describe الأمر :

    kubectl describe pod iis-pod
    

    إخراج الأمر يشبه المثال التالي:

    Name:         iis-pod
    Namespace:    default
    Priority:     0
    Node:         akswin000001/10.225.5.246
    Start Time:   Fri, 05 May 2023 15:16:36 -0400
    Labels:       app=web
    Annotations:  <none>
    Status:       Running
    IP:           10.225.5.252
    IPs:
      IP:  10.225.5.252
    Containers:
      web:
        Container ID:   containerd://1e4959f2b49e7ad842b0ec774488a6142ac9152ca380c7ba4d814ae739d5ed3e
        Image:          mcr.microsoft.com/windows/servercore/iis:windowsservercore
        Image ID:       mcr.microsoft.com/windows/servercore/iis@sha256:0f0114d0f6c6ee569e1494953efdecb76465998df5eba951dc760ac5812c7409
        Port:           80/TCP
        Host Port:      0/TCP
        State:          Running
          Started:      Fri, 05 May 2023 15:16:44 -0400
        Ready:          True
        Restart Count:  0
        Limits:
          cpu:     1
          memory:  800M
        Requests:
          cpu:        1
          memory:     800M
        Environment:  <none>
        Mounts:
          /inetpub/wwwroot from smb (rw)
          /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-zznzs (ro)
    
  3. تحقق من أن وحدة التخزين الخاصة بك قد تم تحميلها على pod باستخدام kubectl exec للاتصال بالجراب. ثم استخدم dir الأمر في الدليل الصحيح للتحقق مما إذا كان يتم تحميل وحدة التخزين والحجم يطابق حجم وحدة التخزين التي قمت بتوفيرها.

    kubectl exec -it iis-pod –- cmd.exe
    

    إخراج الأمر يشبه المثال التالي:

    Microsoft Windows [Version 10.0.20348.1668]
    (c) Microsoft Corporation. All rights reserved.
    
    C:\>cd /inetpub/wwwroot
    
    C:\inetpub\wwwroot>dir
     Volume in drive C has no label.
     Volume Serial Number is 86BB-AA55
    
     Directory of C:\inetpub\wwwroot
    
    05/05/2023  01:38 AM    <DIR>          .
    05/05/2023  01:38 AM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  107,373,862,912 bytes free
    
    C:\inetpub\wwwroot>exit
    

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

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