Bereitstellen eines Volumes mit dualem Protokoll in Azure Kubernetes Service
In diesem Abschnitt wird beschrieben, wie Sie ein Azure NetApp Files-Volume mit doppeltem Protokoll statisch für Kubernetes verfügbar machen. Anweisungen werden sowohl für SMB- als auch für NFS-Protokolle bereitgestellt. Sie können dasselbe Volume über SMB für Windows-Workerknoten und über NFS für Linux-Workerknoten verfügbar machen.
Definieren Sie Variablen zur späteren Verwendung. Ersetzen Sie myresourcegroup, myaccountname, mypool1 und myvolname durch einen entsprechenden Wert aus Ihrem Dual-Protokoll-Volume.
Erstellen Sie eine Datei namens „pv-nfs.yaml“, und fügen Sie den folgenden YAML-Code ein. Stellen Sie sicher, dass der Server mit der Ausgabe-IP-Adresse aus dem vorherigen Schritt und der Pfad mit der Ausgabe von creationToken oben übereinstimmt. Die Kapazität muss auch mit der Volumegröße aus Schritt 2 übereinstimmen.
Erstellen Sie das persistente Volume mit dem Befehl kubectl apply:
kubectl apply -f pv-nfs.yaml
Überprüfen Sie mithilfe des Befehls kubectl describe, ob der Status des persistenten Volumes Verfügbar ist:
kubectl describe pv pv-nfs
Erstellen eines Anspruchs auf ein persistentes Volume für NFS
Erstellen Sie eine Datei namens „pvc-nfs.yaml“, und fügen Sie den folgenden YAML-Code ein. Mit diesem Manifest wird einen PVC mit dem Namen pvc-nfs für den Speicher- und ReadWriteMany-Zugriffsmodus 100Gi erstellt, der dem von Ihnen erstellten PV entspricht.
Erstellen Sie den Anspruch des persistenten Volumes mit dem Befehl kubectl apply:
kubectl apply -f pvc-nfs.yaml
Überprüfen Sie, ob der Status des Anspruchs auf persistentes Volume Gebunden ist, indem Sie den Befehl kubectl describe verwenden:
kubectl describe pvc pvc-nfs
Einbinden in einen Pod mithilfe von NFS
Erstellen Sie eine Datei namens „nginx-nfs.yaml“, und fügen Sie den folgenden YAML-Code ein. Mit diesem Manifest wird ein nginx-Pod definiert, der den Anspruch auf persistentes Volume verwendet.
Überprüfen Sie, ob der Pod ausgeführt wird, indem Sie den Befehl kubectl apply verwenden:
kubectl describe pod nginx-nfs
Stellen Sie sicher, dass Ihr Volume in den Pod eingebunden wurde, indem Sie kubectl exec verwenden, um eine Verbindung mit dem Pod herzustellen, und überprüfen Sie dann mit df -h, ob das Volume eingebunden ist.
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
...
Erstellen eines Geheimnisses mit den Domänenanmeldeinformationen
Erstellen Sie ein Geheimnis in Ihrem AKS-Cluster, um mit dem Befehl kubectl create secret auf den AD-Server zuzugreifen. Dieses Geheimnis wird vom persistenten Kubernetes-Volume verwendet, um auf das Azure NetApp Files-SMB-Volume zuzugreifen. Verwenden Sie den folgenden Befehl, um das Geheimnis zu erstellen. Ersetzen Sie dabei USERNAME durch Ihren Benutzernamen, PASSWORD durch Ihr Kennwort und DOMAIN_NAME durch Ihren Active Directory-Domänennamen.
Überprüfen Sie mithilfe des Befehls kubectl get pods, ob der csi-smb-Controllerpod ausgeführt wird und jeder Workerknoten über einen Pod verfügt, der ausgeführt wird:
Definieren Sie Variablen zur späteren Verwendung. Ersetzen Sie myresourcegroup, myaccountname, mypool1 und myvolname durch einen entsprechenden Wert aus Ihrem Dual-Protokoll-Volume.
Erstellen Sie eine Datei namens „pv-smb.yaml“, und fügen Sie den folgenden YAML-Code ein. Ersetzen Sie bei Bedarf myvolname durch das creationToken und ANF-1be3.contoso.com\myvolname durch den Wert von smbServerFqdn aus dem vorherigen Schritt. Stellen Sie sicher, dass Sie Ihr AD-Anmeldeinformationsgeheimnis zusammen mit dem Namespace, in dem es sich befindet und den Sie in einem früheren Schritt erstellt haben, angeben.
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
Erstellen Sie das persistente Volume mit dem Befehl kubectl apply:
kubectl apply -f pv-smb.yaml
Überprüfen Sie mithilfe des Befehls kubectl describe, ob der Status des persistenten Volumes Verfügbar ist:
kubectl describe pv anf-pv-smb
Erstellen eines Anspruchs auf ein persistentes Volume für SMB
Erstellen Sie eine Datei namens pvc-smb.yaml, und fügen Sie den folgenden YAML-Code ein.
Erstellen Sie den Anspruch des persistenten Volumes mit dem Befehl kubectl apply:
kubectl apply -f pvc-smb.yaml
Überprüfen Sie, ob der Status des Anspruchs auf persistentes Volume Gebunden ist, indem Sie den Befehl kubectl describe verwenden:
kubectl describe pvc anf-pvc-smb
Einbinden in einen Pod mithilfe von SMB
Erstellen Sie eine Datei namens „iis-smb.yaml“, und fügen Sie den folgenden YAML-Code ein. Diese Datei wird verwendet, um einen Internetinformationsdienste-Pod zu erstellen, um das Volume im Pfad /inetpub/wwwrooteinzubinden.
Stellen Sie sicher, dass Ihr Volume in den Pod eingebunden wurde, indem Sie den Befehl kubectl exec verwenden, um eine Verbindung mit dem Pod herzustellen. Verwenden Sie dann den Befehl dir im richtigen Verzeichnis, um zu überprüfen, ob das Volume eingebunden ist und die Größe der Größe des bereitgestellten Volumes entspricht.
kubectl exec -it iis-pod –- cmd.exe
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
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
Nächste Schritte
Astra Trident unterstützt zahlreiche Features für Azure NetApp Files. Weitere Informationen finden Sie unter
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.