Konfigurieren Sie ein Azure NetApp Files-Backend
Verwenden Sie Azure NetApp Files als Backend für Trident. Dieses Backend unterstützt NFS- und SMB-Volumes. Trident unterstützt verwaltete Identitäten und Workload-Identität für Azure Kubernetes Service (AKS)-Cluster.
Unterstützte Azure Cloud-Umgebungen
Trident unterstützt Azure NetApp Files-Backends in mehreren Azure Cloud-Umgebungen.
Unterstützte Azure-Clouds umfassen:
-
Azure Commercial
-
Azure Government (Azure Government / MAG)
Wenn Sie Trident bereitstellen oder ein Azure NetApp Files-Backend konfigurieren, stellen Sie sicher, dass Azure Resource Manager und Authentifizierung-Endpunkte mit Ihrer Azure-Cloudumgebung übereinstimmen.
Überprüfen Sie die Unterstützung des Azure NetApp Files-Treibers
Trident stellt den folgenden Azure NetApp Files-Speichertreiber bereit.
Unterstützte Zugriffsmodi sind ReadWriteOnce (RWO), ReadOnlyMany (ROX), ReadWriteMany (RWX) und ReadWriteOncePod (RWOP).
| Treiber | Protokoll | VolumeModus | Unterstützte Zugriffsmodi | Unterstützte Filesysteme |
|---|---|---|---|---|
|
NFS |
Dateisystem |
RWO, ROX, RWX, RWOP |
|
Überlegungen zur Überprüfung
-
Azure NetApp Files unterstützt keine Volumes unter 50 GiB. Trident erstellt ein 50-GiB-Volume, wenn ein kleineres Volume angefordert wird.
-
Trident unterstützt nur SMB Volumes, die in Pods gemountet sind, die nur auf Windows Nodes ausgeführt werden.
-
Azure NetApp Files-Bereitstellungen in nicht-kommerziellen Azure-Clouds erfordern cloud-spezifische Azure Resource Manager- und Authentifizierungsendpunkte. Stellen Sie sicher, dass Trident und jede Backend-Konfiguration die für Ihre Azure-Cloud-Umgebung geeigneten Endpunkte verwenden.
Verwenden Sie verwaltete Identitäten für AKS
Trident unterstützt "Verwaltete Identitäten" für AKS-Cluster.
Wenn Sie tridentctl verwenden, um Azure NetApp Files Backends zu erstellen oder zu verwalten, stellen Sie sicher, dass es für die richtige Azure-Cloudumgebung konfiguriert ist.
Um verwaltete Identitäten zu verwenden, müssen Sie Folgendes haben:
-
Ein mit AKS implementierter Kubernetes-Cluster
-
Auf dem AKS Kubernetes-Cluster konfigurierte verwaltete Identitäten
-
Trident installiert mit
cloudProviderauf"Azure"
Bearbeiten tridentorchestrator_cr.yaml und cloudProvider auf "Azure" setzen.
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
name: trident
spec:
debug: true
namespace: trident
imagePullPolicy: IfNotPresent
cloudProvider: "Azure"
Das folgende Beispiel installiert Trident und setzt cloudProvider mithilfe der Umgebungsvariable $CP:
helm install trident trident-operator-100.2506.0.tgz --create-namespace --namespace <trident-namespace> --set cloudProvider=$CP
Das folgende Beispiel installiert Trident und setzt die cloud-provider-Flag auf Azure:
tridentctl install --cloud-provider="Azure" -n trident
Workload-Identität für AKS verwenden
Die Workload-Identität ermöglicht es Kubernetes-Pods, auf Azure-Ressourcen zuzugreifen, indem sie sich als Workload-Identität authentifizieren.
Wenn Sie tridentctl verwenden, um Azure NetApp Files Backends zu erstellen oder zu verwalten, stellen Sie sicher, dass es für die richtige Azure-Cloudumgebung konfiguriert ist.
Um die Workload-Identität zu verwenden, müssen Sie Folgendes haben:
-
Ein mit AKS implementierter Kubernetes-Cluster
-
Workload-Identität und oidc-Issuer, die auf dem AKS Kubernetes-Cluster konfiguriert sind
-
Trident wurde mit
cloudProviderauf"Azure"gesetzt undcloudIdentityauf den Wert der Workload-Identität installiert
Bearbeiten tridentorchestrator_cr.yaml und setzen cloudProvider auf "Azure". Setzen cloudIdentity auf azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx.
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
name: trident
spec:
debug: true
namespace: trident
imagePullPolicy: IfNotPresent
cloudProvider: "Azure"
cloudIdentity: 'azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx' # Edit
Legen Sie die Werte für die Flags cloud-provider (CP) und cloud-identity (CI) mithilfe der folgenden Umgebungsvariablen fest:
export CP="Azure"
export CI="'azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'"
Das folgende Beispiel installiert Trident und setzt cloudProvider mit $CP und setzt cloudIdentity mit $CI:
helm install trident trident-operator-100.6.0.tgz --set cloudProvider=$CP --set cloudIdentity="$CI"
Legen Sie die Werte für die Flags cloud provider und cloud identity mithilfe der folgenden Umgebungsvariablen fest:
export CP="Azure"
export CI="azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"
Das folgende Beispiel installiert Trident und setzt cloud-provider auf $CP und cloud-identity auf $CI:
tridentctl install --cloud-provider=$CP --cloud-identity="$CI" -n trident