Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: AKS auf Azure Local
In diesem Artikel wird beschrieben, wie Sie Container Storage Interface (CSI)-Treiber für Dateien verwenden, um einen Server Message Block (SMB) oder NFS-Freigaben zu bereitstellen, wenn mehrere Knoten gleichzeitigen Zugriff auf dasselbe Speichervolume in AKS benötigen, die von Azure Arc aktiviert sind.
Übersicht über CSI in AKS Arc
Container Storage Interface (CSI) ist ein Standard für die Bereitstellung beliebiger Block- und Dateispeichersysteme für containerisierte Workloads in Kubernetes. Mit CSI können von Arc aktivierte AKS Plug-Ins schreiben, bereitstellen und durchlaufen, um neue Speichersysteme verfügbar zu machen. CSI kann auch vorhandene Komponenten in Kubernetes verbessern, ohne den Kubernetes-Kerncode berühren zu müssen und auf die Veröffentlichungszyklen zu warten.
Die von AKS Arc verwendeten Datenträger- und Datei-CSI-Treiber sind CSI-kompatible Treiber.
Mit der Unterstützung des CSI-Speichertreibers auf AKS Arc können Sie Folgendes verwenden:
AKS Arc-Datenträger, die Sie zum Erstellen einer Kubernetes DataDisk-Ressource verwenden können. Diese werden als ReadWriteOnce eingebunden. Sie sind somit nur für jeweils einen einzelnen Pod verfügbar. Verwenden Sie für Speichervolumes, auf die von mehreren Pods gleichzeitig zugegriffen werden kann, AKS Arc-Dateien.
AKS Arc-Dateien, mit denen Sie eine SMB- oder NFS-Freigabe auf Pods bereitstellen können. Diese werden als ReadWriteManyeingebunden, sodass Sie Daten über mehrere Knoten und Pods hinweg freigeben können. Sie können basierend auf der PVC-Spezifikation (Persistent Volume Claim, Anspruch auf ein persistente Volume) auch als ReadWriteOnce eingebunden werden.
Verwenden persistenter Volumes mit ReadWriteMany-CSI-Treibern
Wenn mehrere Knoten gleichzeitigen Zugriff auf dieselben Speichervolumes in AKS Arc benötigen, können Sie CSI-Treiber für Dateien zum Bereitstellen von SMB- oder NFS-Freigaben als ReadWriteMany verwenden. Sie müssen die SMB- oder NFS-Aktien im Voraus bereitstellen.
Verwenden von SMB-Treibern
Stellen Sie sicher, dass der SMB-Treiber bereitgestellt wird. Der SMB-CSI-Treiber wird standardmäßig installiert, wenn Sie einen Kubernetes-Cluster mit dem
az aksarc createBefehl erstellen. Wenn Sie den AKS-Cluster mithilfe des Azure-Portals, einer Arm-Vorlage (Azure Resource Manager) oder Terraform erstellen, wird der SMB CSI-Treiber nicht standardmäßig installiert. Sie müssen den SMB-Treiber im AKS-Cluster aktivieren. Der entsprechende Azure CLI-Befehl zum Aktualisieren eines vorhandenen AKS-Clusters und aktivieren SMB ist:az aksarc update -n $aksclustername -g $resource_group --enable-smb-driverErstellen Sie Kubernetes-Geheimnisse zum Speichern der Anmeldeinformationen, die für den Zugriff auf SMB-Freigaben erforderlich sind, indem Sie den folgenden Befehl ausführen:
kubectl create secret generic smbcreds --from-literal username=$username --from-literal password=$password --from-literal domain=$domainErstellen Sie eine Speicherklasse mit
kubectl, um eine neue SMB-Speicherklasse mit dem folgenden Manifest zu erstellen: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
Verwenden von NFS-Treibern
Stellen Sie sicher, dass der SMB-Treiber bereitgestellt wird. Der SMB-CSI-Treiber wird standardmäßig installiert, wenn Sie einen Kubernetes-Cluster mit dem
az aksarc createBefehl erstellen. Wenn Sie den AKS-Cluster mithilfe des Azure-Portals, einer Arm-Vorlage (Azure Resource Manager) oder Terraform erstellen, wird der SMB CSI-Treiber nicht standardmäßig installiert. Sie müssen den SMB-Treiber im AKS-Cluster aktivieren. Der entsprechende Azure CLI-Befehl zum Aktualisieren eines vorhandenen AKS-Clusters und aktivieren SMB ist:az aksarc update -n $aksclustername -g $resource_group --enable-nfs-driverErstellen Sie mithilfe des folgenden Manifests eine NFS-Speicherklasse:
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
So deinstallieren Sie SMB- oder NFS-Treiber
Verwenden Sie die folgenden Azure CLI-Befehle, um entweder die SMB- oder NFS-Treiber zu deinstallieren:
az aksarc update -n $aksclustername -g $resource_group --disable-smb-driver
az aksarc update -n $aksclustername -g $resource_group --disable-nfs-driver