Sdílet prostřednictvím


Použití ovladačů souborů rozhraní úložiště kontejnerů (CSI) v AKS, které podporuje Azure Arc

> platí pro: AKS v Azure Local 22H2, AKS na Windows Serveru, AKS v Azure Local, verze 23H2

Tento článek popisuje, jak pomocí ovladačů rozhraní csI (Container Storage Interface) pro soubory připojit sdílené složky SMB (Server Message Block) nebo NFS, pokud více uzlů potřebuje souběžný přístup ke stejnému svazku úložiště v AKS povoleném službou Azure Arc.

Přehled CSI v AKS Arc

CSI (Container Storage Interface) je standard pro zpřístupnění libovolných blokových a souborových systémů úložišť kontejnerizovaným úlohám v Kubernetes. Pomocí csI může AKS s podporou Arc psát, nasazovat a iterovat moduly plug-in, aby zpřístupnil nové systémy úložiště. Použití rozhraní CSI může také zlepšit stávající prostředí v Kubernetes, aniž by se muselo dotýkat základního kódu Kubernetes a pak počkat na cykly vydání.

Ovladače csI disku a souboru používané službou AKS Arc jsou ovladače kompatibilní se specifikací CSI.

Podpora ovladače úložiště CSI ve službě AKS Arc umožňuje použít:

  • Disky AKS Arc, které můžete použít k vytvoření prostředku Datového disku Kubernetes. Jsou připojené jako ReadWriteOnce, takže jsou k dispozici pouze pro jeden pod najednou. Pro svazky úložiště, ke kterým má přístup více podů současně, použijte soubory AKS Arc.

  • Soubory AKS Arc, které můžete použít k připojení sdílené složky SMB nebo NFS k podům. Jsou připojené jako ReadWriteMany, takže můžete sdílet data mezi několika uzly a pody. Lze je také připojit jako ReadWriteOnce na základě specifikace PVC (trvalá deklarace svazku).

Použití trvalých svazků souborů pomocí ovladačů CSI readWriteMany

Pokud více uzlů potřebuje souběžný přístup ke stejným svazkům úložiště ve službě AKS Arc, můžete soubory připojit ke sdíleným složkám SMB nebo NFS pomocí ovladačů CSI jako ReadWriteMany. Sdílené složky SMB nebo NFS musíte zřídit předem.

Použití ovladačů SMB

  1. Ujistěte se, že je ovladač SMB nasazený. Ovladač SMB CSI se ve výchozím nastavení nainstaluje při vytváření clusteru Kubernetes pomocí webu Azure Portal nebo az aksarc create příkazu. Pokud vytváříte cluster Kubernetes pomocí --disable-smb-driver, musíte v tomto clusteru povolit ovladač SMB pomocí az aksarc update příkazu:

    az aksarc update -n $aksclustername -g $resource_group --enable-smb-driver
    
  1. Spuštěním následujícího příkazu vytvořte tajné kódy Kubernetes pro ukládání přihlašovacích údajů potřebných pro přístup ke sdíleným složkám SMB:

    kubectl create secret generic smbcreds --from-literal username=$username --from-literal password=$password --from-literal domain=$domain
    
  2. Vytvořte třídu úložiště pomocí kubectl k vytvoření nové třídy úložiště SMB s následujícím manifestem:

    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
    

Použití ovladačů NFS

  1. Ujistěte se, že je ovladač NFS nasazený. Ovladač CSI systému souborů NFS se ve výchozím nastavení nainstaluje při vytváření clusteru Kubernetes pomocí webu Azure Portal nebo az aksarc create příkazu. Pokud vytváříte cluster Kubernetes pomocí --disable-nfs-driver, musíte v tomto clusteru povolit ovladač NFS pomocí az aksarc update příkazu:

    az aksarc update -n $aksclustername -g $resource_group --enable-nfs-driver
    
  1. Pomocí následujícího manifestu vytvořte třídu úložiště NFS:

    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
    

Odinstalace ovladačů SMB nebo NFS

K odinstalaci ovladačů SMB nebo NFS použijte následující příkazy Azure CLI:

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

Další kroky