A Container Storage Interface (CSI) fájlillesztőinek használata az Azure Arc által engedélyezett AKS-ben

> A következőkre vonatkozik: AKS az Azure Stack HCI 22H2-n, AKS Windows Serveren, AKS az Azure Stack HCI 23H2-n

Ez a cikk azt ismerteti, hogyan használható a Tárolótároló-illesztő (CSI) illesztőprogramjai fájlokhoz kiszolgálói üzenetblokk (SMB) vagy NFS-megosztás csatlakoztatásához, ha több csomópontnak egyidejű hozzáférésre van szüksége ugyanahhoz a tárkötethez az Azure Arc által engedélyezett AKS-ben.

A CSI áttekintése az AKS Arcban

A Tárolótároló interfész (CSI) egy szabványos szabvány, amely tetszőleges blokk- és fájlrendszerrendszereket tár fel a Kubernetes tárolóalapú számítási feladatainak. A CSI használatával az Arc által engedélyezett AKS képes beépülő modulok írására, üzembe helyezésére és iterálására az új tárolórendszerek elérhetővé tételéhez. A CSI használatával a Kubernetes meglévőit is javíthatja anélkül, hogy hozzá kellene nyúlnia az alapvető Kubernetes-kódhoz, majd várnia kell a kiadási ciklusokat.

Az AKS Arc által használt lemez- és fájlCSI-illesztőprogramok a CSI specifikációnak megfelelő illesztőprogramok.

Az AKS Arc CSI-tárolóillesztő támogatása lehetővé teszi a következőket:

  • AKS Arc-lemezek, amelyekkel Kubernetes DataDisk-erőforrást hozhat létre. Ezek ReadWriteOnce néven vannak csatlakoztatva, így egyszerre csak egyetlen podhoz érhetők el. Olyan tárolókötetekhez, amelyek egyszerre több podtal is elérhetők, használja az AKS Arc-fájlokat.

  • AKS Arc-fájlok, amelyekkel SMB- vagy NFS-megosztásokat csatlakoztathat podokhoz. Ezek ReadWriteMany néven vannak csatlakoztatva, így több csomóponton és podon is megoszthat adatokat. A PVC (állandó kötetigény) specifikációja alapján ReadWriteOnce-ként is csatlakoztathatók.

Fájlok állandó köteteinek használata ReadWriteMany CSI-illesztőprogramokkal

Ha több csomópontnak is egyidejű hozzáférésre van szüksége ugyanahhoz a tárkötethez az AKS Arcban, a FÁJLOKHOZ CSI-illesztőprogramok használatával csatlakoztathatja az SMB- vagy NFS-megosztásokat ReadWriteMany néven. Előre ki kell építenie az SMB- vagy NFS-megosztásokat.

SMB-illesztőprogramok használata

  1. Győződjön meg arról, hogy az SMB-illesztőprogram telepítve van. Az SMB CSI-illesztőprogram alapértelmezés szerint akkor van telepítve, ha egy Kubernetes-fürtöt hoz létre a Azure Portal vagy a az aksarc create paranccsal. Ha a használatával --disable-smb-driverhoz létre Egy Kubernetes-fürtöt, engedélyeznie kell az SMB-illesztőt ezen a fürtön a az aksarc update következő paranccsal:

    az aksarc update -n $aksclustername -g $resource_group --enable-smb-driver
    
  1. Hozzon létre Kubernetes-titkos kulcsokat az SMB-megosztások eléréséhez szükséges hitelesítő adatok tárolásához a következő parancs futtatásával:

    kubectl create secret generic smbcreds --from-literal username=$username --from-literal password=$password --from-literal domain=$domain
    
  2. Hozzon létre egy tárosztályt kubectl egy új SMB-tárolóosztály létrehozásához a következő jegyzékfájllal:

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: smb-csi
    provisioner: smb.csi.akshci.com
    parameters:
       source: \\smb-server\share
       csi.storage.k8s.io/node-stage-secret-name: "smbcreds"
       csi.storage.k8s.io/node-stage-secret-namespace: "default"
    reclaimPolicy: Retain  # only Retain is supported
    volumeBindingMode: Immediate
    mountOptions:
      - dir_mode=0777
      - file_mode=0777
      - uid=1001
      - gid=1001
    

NFS-illesztőprogramok használata

  1. Győződjön meg arról, hogy az NFS-illesztőprogram telepítve van. Az NFS CSI-illesztőprogram alapértelmezés szerint akkor van telepítve, ha egy Kubernetes-fürtöt hoz létre a Azure Portal vagy a az aksarc create paranccsal. Ha a használatával --disable-nfs-driverhoz létre Egy Kubernetes-fürtöt, engedélyeznie kell a fürt NFS-illesztőjét a az aksarc update következő paranccsal:

    az aksarc update -n $aksclustername -g $resource_group --enable-nfs-driver
    
  1. Hozzon létre egy NFS-tárolóosztályt a következő jegyzék használatával:

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: nfs-csi
    provisioner: nfs.csi.akshci.com
    parameters:
      server: nfs-server.default.svc.cluster.local # NFS server endpoint
      share: / # NFS share path
    reclaimPolicy: Retain
    volumeBindingMode: Immediate
    mountOptions:
      - hard
      - nfsvers=4.1
    

SMB- vagy NFS-illesztőprogramok eltávolítása

Az SMB- vagy NFS-illesztőprogramok eltávolításához használja az alábbi Azure CLI-parancsokat:

az aksarc update -n $aksclustername -g $resource_group --disable-smb-driver
az aksarc update -n $aksclustername -g $resource_group --disable-nfs-driver

Következő lépések