Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: AKS su Windows Server
Questo articolo descrive come effettuare il provisioning, l'uso e l'eliminazione di volumi persistenti che forniscono l'archiviazione a lungo termine da usare con i pod Kubernetes nel servizio Azure Kubernetes in Windows Server.
Un volume persistente rappresenta una parte di spazio di archiviazione assegnata per l'uso con i pod di Kubernetes. Un volume persistente può essere usato da uno o più pod ed è destinato all'archiviazione a lungo termine. È anche indipendente dai cicli di vita dei pod o dei nodi.
Sebbene sia possibile effettuare il provisioning di un volume permanente per i nodi Windows e Linux, questo articolo descrive come creare un volume permanente da usare nell'applicazione Windows. Per altre informazioni, vedere Volumi persistenti in Kubernetes.
Operazioni preliminari
Elementi necessari per iniziare:
- Un cluster Kubernetes con almeno un nodo di lavoro Windows.
- Un file kubeconfig per accedere al cluster Kubernetes.
Creare una richiesta di volume persistente
Un'attestazione di volume permanente viene usata per il provisioning automatico dell'archiviazione in una classe di archiviazione. Per creare un'attestazione di volume, creare prima di tutto un file denominato pvc-akshci-csi.yaml
e copiare e incollare la definizione YAML seguente. Il PVC richiede un disco di 10 GB e accesso ReadWriteOnce. La classe di archiviazione predefinita viene specificata come classe di archiviazione (vhdx).
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-akshci-csi
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
Per creare il volume, eseguire i comandi seguenti in una sessione amministrativa di PowerShell in uno dei server del cluster Windows Server. Usare un metodo come Enter-PSSession o Desktop remoto per connettersi al server.
kubectl create -f pvc-akshci-csi.yaml
L'output seguente mostra che il Persistent Volume Claim è stato creato correttamente.
Risultato
persistentvolumeclaim/pvc-akshci-csi created
Usare un volume permanente
Per usare un volume permanente, creare un file denominato winwebserver.yaml
e copiare e incollare la definizione YAML seguente. Quindi, crea un pod con accesso alla richiesta di volume persistente e vhdx.
Nella seguente definizione YAML, mountPath
è il percorso per montare un volume all'interno di un contenitore. Dopo aver completato la creazione del pod, verrà visualizzata la sottodirectory mnt creata in C:\ e la sottodirectory akshciscsi creata all'interno di mnt:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: win-webserver
name: win-webserver
spec:
replicas: 1
selector:
matchLabels:
app: win-webserver
template:
metadata:
labels:
app: win-webserver
name: win-webserver
spec:
containers:
- name: windowswebserver
image: mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019
ports:
- containerPort: 80
volumeMounts:
- name: akshciscsi
mountPath: "/mnt/akshciscsi"
volumes:
- name: akshciscsi
persistentVolumeClaim:
claimName: pvc-akshci-csi
nodeSelector:
kubernetes.io/os: windows
Per creare un pod con questa definizione YAML, eseguire:
kubectl create -f winwebserver.yaml
Per assicurarvi che il pod sia in esecuzione, eseguire il comando seguente. Attendere alcuni minuti fino a quando il pod è in esecuzione, poiché scaricare l'immagine richiede tempo.
kubectl get pods -o wide
Una volta che il pod è in esecuzione, controlla lo stato del pod eseguendo il comando seguente:
kubectl.exe describe pod %podName%
Per verificare che il volume sia stato montato nel pod, eseguire il comando seguente:
kubectl exec -it %podname% cmd.exe
Eliminare un'attestazione di volume permanente
Prima di eliminare un'attestazione di volume permanente, è necessario eliminare la distribuzione dell'app eseguendo il comando seguente:
kubectl delete deployments win-webserver
È quindi possibile eliminare un'attestazione di volume permanente eseguendo:
kubectl delete PersistentVolumeClaim pvc-akshci-csi