Effettuare il provisioning di un volume a doppio protocollo nel servizio Azure Kubernetes
Questa sezione descrive come esporre un volume a doppio protocollo di Azure NetApp Files in modo statico a Kubernetes. Vengono fornite istruzioni per i protocolli SMB e NFS. È possibile esporre lo stesso volume tramite SMB ai nodi di lavoro Windows e tramite NFS ai nodi di lavoro Linux.
Definire le variabili per un uso successivo. Sostituire myresourcegroup, myaccountname, mypool1, myvolname con un valore appropriato dal volume a doppio protocollo.
Creare un file denominato pv-nfs.yaml e copiarlo nel codice YAML seguente. Assicurarsi che il server corrisponda all'indirizzo IP di output del passaggio precedente e che il percorso corrisponda all'output precedente creationToken. La capacità deve corrispondere anche alle dimensioni del volume del passaggio 2.
Creare il volume permanente usando il comando kubectl apply:
kubectl apply -f pv-nfs.yaml
Verificare che lo stato del volume permanente sia Disponibile usando il comando kubectl describe:
kubectl describe pv pv-nfs
Creare un'attestazione di volume permanente per NFS
Creare un file denominato pvc-nfs.yaml e copiarlo nel codice YAML seguente. Questo manifesto crea un PVC denominato pvc-nfs per la modalità di archiviazione 100Gi e di accesso ReadWriteMany, corrispondente al volume permanente creato.
Creare l'attestazione di volume permanente usando il comando kubectl apply:
kubectl apply -f pvc-nfs.yaml
Verificare che lo Stato dell’attestazione di volume permanente sia Associato usando il comando kubectl describe:
kubectl describe pvc pvc-nfs
Montaggio all'interno di un pod usando NFS
Creare un file denominato nginx-nfs.yaml e copiarlo nel codice YAML seguente. Questo manifesto definisce un pod nginx che usa l'attestazione di volume permanente.
Verificare che il pod sia In esecuzione usando il comando kubectl apply:
kubectl describe pod nginx-nfs
Verificare che il volume sia stato montato nel pod usando kubectl exec per connettersi al pod, quindi usare df -h per verificare se il volume è montato.
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
...
Creare un segreto con le credenziali di dominio
Creare un segreto nel cluster del servizio Azure Kubernetes per accedere al server di dominio dell'applicazione usando il comando kubectl create secret. Questo segreto verrà usato dal volume permanente Kubernetes per accedere al volume SMB di Azure NetApp Files. Usare il comando seguente per creare il segreto, sostituendo USERNAME con il nome utente, PASSWORD con la password e DOMAIN_NAME con il nome di dominio di Active Directory.
Definire le variabili per un uso successivo. Sostituire myresourcegroup, myaccountname, mypool1, myvolname con un valore appropriato dal volume a doppio protocollo.
Creare un file denominato pv-smb.yaml e copiarlo nel codice YAML seguente. Se necessario, sostituire myvolname con creationToken e sostituire ANF-1be3.contoso.com\myvolname con il valore di smbServerFqdn del passaggio precedente. Assicurarsi di includere il segreto delle credenziali di Active Directory insieme allo spazio dei nomi in cui si trova e che è stato creato in un passaggio precedente.
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
Creare il volume permanente usando il comando kubectl apply:
kubectl apply -f pv-smb.yaml
Verificare che lo stato del volume permanente sia Disponibile usando il comando kubectl describe:
kubectl describe pv anf-pv-smb
Creare un'attestazione di volume permanente per SMB
Creare un file denominato pvc-smb.yaml e copiarvi il codice YAML seguente.
Creare l'attestazione di volume permanente usando il comando kubectl apply:
kubectl apply -f pvc-smb.yaml
Verificare che lo stato dell’attestazione di volume permanente sia Associato usando il comando kubectl describe:
kubectl describe pvc anf-pvc-smb
Montaggio all'interno di un pod usando SMB
Creare un file denominato iis-smb.yaml e copiarlo nel codice YAML seguente. Questo file verrà usato per creare un pod di Internet Information Services per montare il volume nel percorso /inetpub/wwwroot.
Verificare che il volume sia stato montato nel pod usando il comando kubectl exec per connettersi al pod. Usare quindi il comando dir nella directory corretta per verificare se il volume sia montato e le dimensioni corrispondano alle dimensioni del volume di cui è stato effettuato il provisioning.
kubectl exec -it iis-pod –- cmd.exe
L'output del comando è simile all'esempio seguente:
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
Passaggi successivi
Astra Trident supporta molte funzionalità con Azure NetApp Files. Per altre informazioni, vedi:
L'origine di questo contenuto è disponibile in GitHub, in cui è anche possibile creare ed esaminare i problemi e le richieste pull. Per ulteriori informazioni, vedere la guida per i collaboratori.