Usare i driver di file CSI (Container Storage Interface) nel servizio Azure Kubernetes abilitato da Azure Arc
> Si applica a: Servizio Azure Kubernetes in Azure Stack HCI 22H2, servizio Azure Kubernetes in Windows Server, servizio Azure Kubernetes in Azure Stack HCI 23H2
Questo articolo descrive come usare i driver CSI (Container Storage Interface) per i file per montare condivisioni SMB (Server Message Block) o NFS quando più nodi necessitano di accesso simultaneo allo stesso volume di archiviazione nel servizio Azure Kubernetes abilitato da Azure Arc.
Panoramica di CSI in AKS Arc
L'interfaccia di archiviazione contenitori (CSI) è uno standard per esporre sistemi di archiviazione di blocchi e file arbitrari ai carichi di lavoro in contenitori in Kubernetes. Usando CSI, il servizio Azure Kubernetes abilitato da Arc può scrivere, distribuire ed eseguire l'iterazione dei plug-in per esporre nuovi sistemi di archiviazione. L'uso di CSI può anche migliorare quelli esistenti in Kubernetes senza dover toccare il codice Kubernetes principale e quindi attendere i cicli di rilascio.
I driver CSI su disco e file usati da AKS Arc sono driver conformi alla specifica CSI.
Il supporto del driver di archiviazione CSI in AKS Arc consente di usare:
Dischi Arc del servizio Azure Kubernetes che è possibile usare per creare una risorsa Kubernetes DataDisk . Questi vengono montati come ReadWriteOnce, quindi sono disponibili solo per un singolo pod alla volta. Per i volumi di archiviazione accessibili contemporaneamente da più pod, usare i file Arc del servizio Azure Kubernetes.
File Arc del servizio Azure Kubernetes che è possibile usare per montare una condivisione SMB o NFS nei pod. Questi vengono montati come ReadWriteMany, quindi è possibile condividere i dati tra più nodi e pod. Possono anche essere montati come ReadWriteOnce in base alla specifica pvc (attestazione di volume permanente).
Usare volumi persistenti di file con i driver CSI ReadWriteMany
Se più nodi richiedono l'accesso simultaneo agli stessi volumi di archiviazione in AKS Arc, è possibile usare i driver CSI per i file per montare condivisioni SMB o NFS come ReadWriteMany. È necessario effettuare il provisioning delle condivisioni SMB o NFS in anticipo.
Usare i driver SMB
- Servizio Azure Kubernetes in Azure Stack HCI 23H2
- Servizio Azure Kubernetes in Azure Stack HCI 22H2 e Windows Server
Assicurarsi che il driver SMB sia distribuito. Il driver CSI SMB viene installato per impostazione predefinita quando si crea un cluster Kubernetes usando il portale di Azure o il
az aksarc create
comando . Se si crea un cluster Kubernetes usando--disable-smb-driver
, è necessario abilitare il driver SMB in questo cluster usando ilaz aksarc update
comando :az aksarc update -n $aksclustername -g $resource_group --enable-smb-driver
Creare segreti Kubernetes per archiviare le credenziali necessarie per accedere alle condivisioni SMB eseguendo il comando seguente:
kubectl create secret generic smbcreds --from-literal username=$username --from-literal password=$password --from-literal domain=$domain
Creare una classe di archiviazione usando
kubectl
per creare una nuova classe di archiviazione SMB con il manifesto seguente: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
Usare i driver NFS
- Servizio Azure Kubernetes in Azure Stack HCI 23H2
- Servizio Azure Kubernetes in Azure Stack HCI 22H2 e Windows Server
Assicurarsi che il driver NFS sia distribuito. Il driver CSI NFS viene installato per impostazione predefinita quando si crea un cluster Kubernetes usando il portale di Azure o il
az aksarc create
comando . Se si crea un cluster Kubernetes usando--disable-nfs-driver
, è necessario abilitare il driver NFS in questo cluster usando ilaz aksarc update
comando :az aksarc update -n $aksclustername -g $resource_group --enable-nfs-driver
Creare una classe di archiviazione NFS usando il manifesto seguente:
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
Per disinstallare i driver SMB o NFS
- Servizio Azure Kubernetes in Azure Stack HCI 23H2
- Servizio Azure Kubernetes in Azure Stack HCI 22H2 e Windows Server
Usare i comandi dell'interfaccia della riga di comando di Azure seguenti per disinstallare i driver SMB o NFS:
az aksarc update -n $aksclustername -g $resource_group --disable-smb-driver
az aksarc update -n $aksclustername -g $resource_group --disable-nfs-driver
Passaggi successivi
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per