Configura un backend Azure NetApp Files
È possibile configurare Azure NetApp Files come backend per Trident. È possibile collegare volumi NFS e SMB utilizzando un backend Azure NetApp Files. Trident supporta anche la gestione delle credenziali utilizzando identità gestite per i cluster Azure Kubernetes Services (AKS).
Dettagli del driver Azure NetApp Files
Trident fornisce i seguenti driver di storage Azure NetApp Files per comunicare con il cluster. Le modalità di accesso supportate sono: ReadWriteOnce (RWO), ReadOnlyMany (ROX), ReadWriteMany (RWX), ReadWriteOncePod (RWOP).
| Driver | Protocollo | volumeMode | Modalità di accesso supportate | File system supportati |
|---|---|---|---|---|
|
NFS SMB |
Filesystem |
RWO, ROX, RWX, RWOP |
|
Considerazioni
-
Il servizio Azure NetApp Files non supporta volumi più piccoli di 50 GiB. Trident crea automaticamente volumi da 50 GiB se viene richiesto un volume più piccolo.
-
Trident supporta volumi SMB montati su pod in esecuzione solo su nodi Windows.
Identità gestite per AKS
Trident supporta "identità gestite" per i cluster Azure Kubernetes Services. Per sfruttare la gestione semplificata delle credenziali offerta dalle managed identities, è necessario disporre di:
-
Un cluster Kubernetes distribuito utilizzando AKS
-
Identità gestite configurate sul cluster Kubernetes AKS
-
Trident installato che include il
cloudProviderper specificare"Azure".Operatore TridentPer installare Trident utilizzando l'operatore Trident, modifica
tridentorchestrator_cr.yamlper impostarecloudProvidersu"Azure". Ad esempio:apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident imagePullPolicy: IfNotPresent cloudProvider: "Azure"HelmIl seguente esempio installa Trident sets
cloudProvidersu Azure utilizzando la variabile di ambiente$CP:helm install trident trident-operator-100.2506.0.tgz --create-namespace --namespace <trident-namespace> --set cloudProvider=$CP
<code>tridentctl</code>Il seguente esempio installa Trident e imposta il flag
cloudProvidersuAzure:tridentctl install --cloud-provider="Azure" -n trident
Identità cloud per AKS
L'identità cloud consente ai pod Kubernetes di accedere alle risorse Azure autenticandosi come identità del workload invece di fornire credenziali Azure esplicite.
Per sfruttare l'identità del cloud in Azure, è necessario disporre di:
-
Un cluster Kubernetes distribuito utilizzando AKS
-
Identità del carico di lavoro e oidc-issuer configurati sul cluster AKS Kubernetes
-
Trident installato che include il
cloudProviderper specificare"Azure"ecloudIdentityspecificando l'identità del carico di lavoroOperatore TridentPer installare Trident utilizzando l'operatore Trident, modificare
tridentorchestrator_cr.yamlper impostarecloudProvidersu"Azure"e impostarecloudIdentitysuazure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx.Ad esempio:
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' # EditHelmImposta i valori dei flag cloud-provider (CP) e cloud-identity (CI) utilizzando le seguenti variabili d'ambiente:
export CP="Azure"
export CI="'azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'"L'esempio seguente installa Trident e imposta
cloudProvidersu Azure usando la variabile d'ambiente$CPe impostacloudIdentityusando la variabile d'ambiente$CI:helm install trident trident-operator-100.6.0.tgz --set cloudProvider=$CP --set cloudIdentity="$CI"
<code>tridentctl</code>Imposta i valori dei flag cloud provider e cloud identity utilizzando le seguenti variabili d'ambiente:
export CP="Azure"
export CI="azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"L'esempio seguente installa Trident e imposta il
cloud-providerflag su$CP, ecloud-identitysu$CI:tridentctl install --cloud-provider=$CP --cloud-identity="$CI" -n trident