Configurer un back-end Azure NetApp Files
Utilisez Azure NetApp Files comme backend pour Trident. Ce backend prend en charge les volumes NFS et SMB. Trident prend en charge les identités managées et l'identité de charge de travail pour les clusters Azure Kubernetes Service (AKS).
Environnements cloud Azure pris en charge
Trident prend en charge les backends Azure NetApp Files dans plusieurs environnements cloud Azure.
Les clouds Azure pris en charge incluent :
-
Azure Commercial
-
Azure Government (Azure Government / MAG)
Lorsque vous déployez Trident ou configurez un backend Azure NetApp Files, assurez-vous qu'Azure Resource Manager et les points de terminaison d'authentification correspondent à votre environnement cloud.
Vérifiez la prise en charge du pilote Azure NetApp Files
Trident fournit le pilote de stockage Azure NetApp Files suivant.
Les modes d'accès pris en charge incluent ReadWriteOnce (RWO), ReadOnlyMany (ROX), ReadWriteMany (RWX) et ReadWriteOncePod (RWOP).
| Conducteur | Protocole | Mode Volume | Modes d'accès pris en charge | Systèmes de fichiers pris en charge |
|---|---|---|---|---|
|
NFS |
Système de fichiers |
RWO, ROX, RWX, RWOP |
|
Considérations à examiner
-
Azure NetApp Files ne prend pas en charge les volumes inférieurs à 50 Gio. Trident crée un volume de 50 Gio lorsqu'un volume plus petit est demandé.
-
Trident prend en charge les volumes SMB montés sur les pods s'exécutant sur les nœuds Windows uniquement.
-
Les déploiements Azure NetApp Files dans les clouds Azure non commerciaux nécessitent des points de terminaison Azure Resource Manager et d'authentification spécifiques au cloud. Assurez-vous que Trident et toute configuration backend utilisent les points de terminaison appropriés pour votre environnement cloud Azure.
Utilisez des identités gérées pour AKS
Trident prend en charge "identités gérées" pour les clusters AKS.
Si vous utilisez tridentctl pour créer ou gérer des backends Azure NetApp Files, assurez-vous qu'il est configuré pour le bon environnement cloud Azure.
Pour utiliser les identités gérées, vous devez avoir :
-
Cluster Kubernetes déployé à l'aide d'AKS
-
Identités gérées configurées sur le cluster Kubernetes AKS
-
Trident installé avec
cloudProviderdéfini sur"Azure"
Modifier tridentorchestrator_cr.yaml et définir cloudProvider sur "Azure".
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
name: trident
spec:
debug: true
namespace: trident
imagePullPolicy: IfNotPresent
cloudProvider: "Azure"
L'exemple suivant installe Trident et configure cloudProvider en utilisant la variable d'environnement $CP :
helm install trident trident-operator-100.2506.0.tgz --create-namespace --namespace <trident-namespace> --set cloudProvider=$CP
L'exemple suivant installe Trident et définit le cloud-provider indicateur sur Azure :
tridentctl install --cloud-provider="Azure" -n trident
Utiliser l'identité de charge de travail pour AKS
L'identité de charge de travail permet aux pods Kubernetes d'accéder aux ressources Azure en s'authentifiant en tant qu'identité de charge de travail.
Si vous utilisez tridentctl pour créer ou gérer des backends Azure NetApp Files, assurez-vous qu'il est configuré pour le bon environnement cloud Azure.
Pour utiliser l'identité de charge de travail, vous devez avoir :
-
Cluster Kubernetes déployé à l'aide d'AKS
-
Identité de la charge de travail et émetteur oidc configurés sur le cluster AKS Kubernetes
-
Trident installé avec
cloudProviderdéfini sur"Azure"etcloudIdentitydéfini sur la valeur d'identité de la charge de travail
Modifier tridentorchestrator_cr.yaml et définir cloudProvider sur "Azure". Définir cloudIdentity sur 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
Définissez les valeurs des indicateurs cloud-provider (CP) et cloud-identity (CI) à l'aide des variables d'environnement suivantes :
export CP="Azure"
export CI="'azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'"
L'exemple suivant installe Trident et configure cloudProvider en utilisant $CP et configure cloudIdentity en utilisant $CI :
helm install trident trident-operator-100.6.0.tgz --set cloudProvider=$CP --set cloudIdentity="$CI"
Définissez les valeurs pour les indicateurs fournisseur de cloud et identité cloud à l'aide des variables d'environnement suivantes :
export CP="Azure"
export CI="azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"
L'exemple suivant installe Trident et définit cloud-provider sur $CP et cloud-identity sur $CI :
tridentctl install --cloud-provider=$CP --cloud-identity="$CI" -n trident