Configurer un back-end Azure NetApp Files
Vous pouvez configurer Azure NetApp Files en tant que back-end pour Trident. Vous pouvez relier des volumes NFS et SMB à l'aide d'un back-end Azure NetApp Files. Trident prend également en charge la gestion des identifiants à l'aide d'identités gérées pour les clusters Azure Kubernetes Services (AKS).
Détails du pilote Azure NetApp Files
Trident fournit les pilotes de stockage Azure NetApp Files suivants pour communiquer avec le cluster. Les modes d'accès pris en charge sont : ReadWriteOnce (RWO), ReadOnlyMey (ROX), ReadWriteMaly (RWX), 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
-
Le service Azure NetApp Files ne prend pas en charge les volumes inférieurs à 50 Gio. Trident crée automatiquement des volumes de 50 Gio si 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.
Identités gérées pour AKS
Trident prend en charge "identités gérées"les clusters Azure Kubernetes Services. Pour tirer parti de la gestion rationalisée des informations d'identification offerte par les identités gérées, vous devez disposer des éléments suivants :
-
Cluster Kubernetes déployé à l'aide d'AKS
-
Identités gérées configurées sur le cluster AKS kubernetes
-
Trident installé qui inclut le
cloudProvider
à spécifier"Azure"
.Opérateur TridentPour installer Trident à l'aide de l'opérateur Trident, modifiez
tridentorchestrator_cr.yaml
pour définir surcloudProvider
"Azure"
. Par exemple :apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident imagePullPolicy: IfNotPresent cloudProvider: "Azure"
GouvernailL'exemple suivant installe les ensembles Trident
cloudProvider
sur Azure à l'aide de la variable d'environnement$CP
:helm install trident trident-operator-100.2410.0.tgz --create-namespace --namespace <trident-namespace> --set cloudProvider=$CP
<code>tridentctl</code>L'exemple suivant installe Trident et définit l'
cloudProvider`indicateur sur `Azure
:tridentctl install --cloud-provider="Azure" -n trident
Identité cloud pour AKS
L'identité cloud permet aux pods Kubernetes d'accéder aux ressources Azure en s'authentifiant comme identité de workload au lieu de fournir des informations d'identification Azure explicites.
Pour tirer parti de l'identité cloud dans Azure, vous devez disposer des éléments suivants :
-
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é, qui inclut le
cloudProvider
à spécifier"Azure"
etcloudIdentity
spécifier l'identité de la charge de travailOpérateur TridentPour installer Trident à l'aide de l'opérateur Trident, modifiez
tridentorchestrator_cr.yaml
pour définir surcloudProvider
"Azure"
et définircloudIdentity
surazure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
.Par exemple :
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'*
GouvernailDé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 définit
cloudProvider
dans Azure à l'aide de la variable d'environnement$CP
et définitcloudIdentity
à l'aide de la variable d'environnement$CI
:helm install trident trident-operator-100.2410.0.tgz --set cloudProvider=$CP --set cloudIdentity="$CI"
<code>tridentctl</code>Définissez les valeurs des indicateurs cloud Provider et cloud Identity à 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 l'
cloud-provider`indicateur sur `$CP
, etcloud-identity
sur$CI
:tridentctl install --cloud-provider=$CP --cloud-identity="$CI" -n trident