Approvisionner un volume à double protocole dans Azure Kubernetes Service
Cette section explique comment exposer statiquement un volume à double protocole Azure NetApp Files à Kubernetes. Des instructions sont fournies pour les protocoles SMB et NFS. Vous pouvez exposer le même volume via SMB aux nœuds Worker Windows et via les nœuds Worker NFS vers Linux.
Définissez les variables pour une utilisation ultérieure. Remplacez myresourcegroup, myaccountname, mypool1, myvolname par une valeur appropriée de votre volume à double protocole.
Créez un fichier nommé pv-nfs.yaml et copiez-y le YAML suivant. Assurez-vous que le serveur correspond à l’adresse IP de sortie de l’étape 1 et que le chemin d’accès correspond à la sortie de creationToken ci-dessus. La capacité doit également correspondre à la taille du volume de l’étape 2.
Créez la revendication de volume persistant avec la commande kubectl apply :
kubectl apply -f pv-nfs.yaml
Vérifiez que l’état du volume persistant est Disponible à l’aide de la commande kubectl describe :
kubectl describe pv pv-nfs
Créer une revendication de volume persistant pour NFS
Créez un fichier nommé pvc-nfs.yaml et copiez-y le YAML suivant. Ce manifeste crée un PVC nommé pvc-nfs pour le mode de stockage 100 Gi et d’accès ReadWriteMany, correspondant au PV que vous avez créé.
Créez la revendication de volume persistant avec la commande kubectl apply :
kubectl apply -f pvc-nfs.yaml
Vérifiez que L’état de la revendication de volume persistant est Bound (Lié) à l’aide de la commande kubectl describe :
kubectl describe pvc pvc-nfs
Montez dans un pod à l’aide de NFS
Créez un fichier nommé nginx-nfs.yaml et copiez-y le YAML suivant. Ce manifeste définit un pod nginx qui utilise la revendication de volume persistant.
Vérifiez que l’état du pod est En cours d’exécution à l’aide de la commande kubectl apply :
kubectl describe pod nginx-nfs
Vérifiez que votre volume a été monté dans le pod en utilisant kubectl exec pour vous connecter au pod, puis df -h pour vérifier si le volume est monté.
kubectl exec -it nginx-nfs -- sh
/ # df -h
Filesystem Size Used Avail Use% Mounted on
...
10.0.0.4:/myfilepath2 100T 384K 100T 1% /mnt/azure
...
Créez un secret avec les informations d’identification de domaine
Créez un secret sur votre cluster AKS pour accéder au serveur AD à l’aide de la commande kubectl create secret. Ce secret sera utilisé par le volume persistant Kubernetes pour accéder au Azure NetApp Files volume SMB. Utilisez la commande suivante pour créer le secret, en remplaçant USERNAME par votre nom d’utilisateur, PASSWORD par votre mot de passe et DOMAIN_NAME par votre nom de domaine Active Directory.
Vérifiez que le pod de contrôleur csi-smb est en cours d’exécution et que chaque nœud worker a un pod en cours d’exécution avec la commande kubectl get pods :
Définissez les variables pour une utilisation ultérieure. Remplacez myresourcegroup, myaccountname, mypool1, myvolname par une valeur appropriée de votre volume à double protocole.
Créez un fichier nommé pv-smb.yaml et copiez-y le YAML suivant. Si nécessaire, remplacez myvolname par creationToken et remplacez ANF-1be3.contoso.com\myvolname par la valeur de smbServerFqdn l’étape précédente. Veillez à inclure votre secret d’informations d’identification AD avec l’espace de noms où il se trouve que vous avez créé lors d’une étape précédente.
apiVersion: v1
kind: PersistentVolume
metadata:
name: anf-pv-smb
spec:
storageClassName: ""
capacity:
storage: 100Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
mountOptions:
- dir_mode=0777
- file_mode=0777
- vers=3.0
csi:
driver: smb.csi.k8s.io
readOnly: false
volumeHandle: myvolname # make sure it's a unique name in the cluster
volumeAttributes:
source: \\ANF-1be3.contoso.com\myvolname
nodeStageSecretRef:
name: smbcreds
namespace: default
Créez la revendication de volume persistant avec la commande kubectl apply :
kubectl apply -f pv-smb.yaml
Vérifiez que l’état du volume persistant est Disponible à l’aide de la commande kubectl describe :
kubectl describe pv anf-pv-smb
Créer une revendication de volume persistant SMB
Créez un fichier nommé pvc-smb.yaml et copiez-y le YAML suivant.
Créez la revendication de volume persistant avec la commande kubectl apply :
kubectl apply -f pvc-smb.yaml
Vérifiez que l’état de la revendication de volume persistant est Bound (Lié) à l’aide de la commande kubectl describe :
kubectl describe pvc anf-pvc-smb
Montez dans un pod à l’aide de SMB
Créez un fichier nommé iis-smb.yaml et copiez-y le YAML suivant. Ce fichier sera utilisé pour créer un pod Internet Information Services afin de monter le volume sur le chemin d’accès /inetpub/wwwroot.
Vérifiez que votre volume a été monté sur le pod en utilisant la commande kubectl exec pour vous connecter au pod. Ensuite, utilisez la commande dir dans le bon répertoire pour vérifier que le volume est monté et que sa taille correspond à celle du volume que vous avez provisionné.
kubectl exec -it iis-pod –- cmd.exe
La sortie de la commande ressemble à l’exemple suivant :
Microsoft Windows [Version 10.0.20348.1668]
(c) Microsoft Corporation. All rights reserved.
C:\>cd /inetpub/wwwroot
C:\inetpub\wwwroot>dir
Volume in drive C has no label.
Volume Serial Number is 86BB-AA55
Directory of C:\inetpub\wwwroot
05/04/2023 08:15 PM <DIR> .
05/04/2023 08:15 PM <DIR> ..
0 File(s) 0 bytes
2 Dir(s) 107,373,838,336 bytes free
Étapes suivantes
Astra Trident prend en charge de nombreuses fonctionnalités avec Azure NetApp Files. Pour plus d'informations, consultez les pages suivantes :
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.