Aprovisionamiento de un volumen de protocolo dual en Azure Kubernetes Service
En esta sección se describe cómo exponer un volumen de protocolo dual de Azure NetApp Files estáticamente a Kubernetes. Se proporcionan instrucciones para los protocolos SMB y NFS. Puede exponer el mismo volumen a través de SMB a nodos de trabajo de Windows y a través de NFS a nodos de trabajo de Linux.
Definición de variables para su uso posterior. Reemplace myresourcegroup, myaccountname, mypool1, myvolname por un valor adecuado de su volumen de protocolo dual.
Cree un archivo denominado pv-nfs.yaml y cópielo en el siguiente código YAML. Asegúrese de que el servidor coincide con la dirección IP de salida del paso previo, y de que la ruta de acceso coincide con la salida anterior de creationToken. La capacidad también debe coincidir con el tamaño del volumen del paso 2.
Cree la notificación del volumen persistente con el comando kubectl apply:
kubectl apply -f pv-nfs.yaml
Compruebe que el estado del volumen persistente esté Disponible mediante el comando kubectl describe:
kubectl describe pv pv-nfs
Creación de una notificación de volumen persistente para NFS
Cree un archivo denominado pvc-nfs.yaml y cópielo en el siguiente código YAML. Este manifiesto crea un PVC denominado pvc-nfs para un almacenamiento de 100Gi y el modo de acceso ReadWriteMany, que coincide con el PV que creó.
Cree la notificación del volumen persistente con el comando kubectl apply:
kubectl apply -f pvc-nfs.yaml
Compruebe que el Estado de la notificación de volumen persistente es Enlazado mediante el comando kubectl describe:
kubectl describe pvc pvc-nfs
Montaje dentro de un pod mediante NFS
Cree un archivo denominado nginx-nfs.yaml y cópielo en el siguiente código YAML. Este manifiesto define un pod nginx que usa la notificación de volumen persistente.
Compruebe que el pod está En ejecución mediante el comando kubectl apply:
kubectl describe pod nginx-nfs
Compruebe que su volumen se ha montado en el pod mediante kubectl exec para conectarse a pod y, luego, df -h para comprobar que el volumen está montado.
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
...
Creación de un secreto con las credenciales de dominio
Cree un secreto en el clúster de AKS para acceder al servidor de AD con el comando kubectl create secret. El volumen persistente de Kubernetes usará este secreto para acceder al volumen SMB de Azure NetApp Files. Use el siguiente comando para crear el secreto, reemplazando USERNAME por el nombre de usuario, PASSWORD por la contraseña y DOMAIN_NAME por el nombre de dominio de Active Directory.
Compruebe que el pod del controlador csi-smb se está ejecutando y que cada nodo de trabajo tiene un pod que se ejecuta mediante el comando kubectl get pods:
Definición de variables para su uso posterior. Reemplace myresourcegroup, myaccountname, mypool1, myvolname por un valor adecuado de su volumen de protocolo dual.
Cree un archivo denominado pv-smb.yaml y cópielo en el siguiente código YAML. Si es necesario, reemplace myvolname por creationToken y ANF-1be3.contoso.com\myvolname por el valor de smbServerFqdn del paso anterior. Asegúrese de incluir el secreto de credenciales de AD junto con el espacio de nombres donde se encuentra el que creó en un paso anterior.
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
Cree la notificación del volumen persistente con el comando kubectl apply:
kubectl apply -f pv-smb.yaml
Compruebe que el estado del volumen persistente esté Disponible con el comando kubectl describe:
kubectl describe pv anf-pv-smb
Creación de una notificación de volumen persistente para SMB
Cree un archivo denominado pvc-smb.yaml y cópielo en el siguiente código YAML.
Cree la notificación del volumen persistente con el comando kubectl apply:
kubectl apply -f pvc-smb.yaml
Compruebe que el estado de la notificación de volumen persistente es Enlazado mediante el comando kubectl describe:
kubectl describe pvc anf-pvc-smb
Montaje dentro de un pod mediante SMB
Cree un archivo denominado iis-smb.yaml y cópielo en el siguiente código YAML. Este archivo se usará para crear un pod de Internet Information Services para montar el volumen en la ruta de acceso /inetpub/wwwroot.
Compruebe que su volumen se ha montado en el pod mediante kubectl exec para conectarse al pod. Y, a continuación, use el comando dir en el directorio correcto para comprobar si el volumen está montado y el tamaño coincide con el tamaño del volumen que aprovisionó.
kubectl exec -it iis-pod –- cmd.exe
La salida del comando es similar al ejemplo siguiente:
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
Pasos siguientes
Astra Trident admite muchas características con Azure NetApp Files. Para más información, consulte:
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.