Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: AKS en Windows Server
Este artículo describe cómo aprovisionar, usar y eliminar volúmenes persistentes que proporcionan almacenamiento a largo plazo para su uso con pods de Kubernetes en AKS en Windows Server.
Un volumen persistente representa un fragmento de almacenamiento aprovisionado para su uso con pods de Kubernetes. Un volumen persistente puede ser utilizado por uno o varios pods y está pensado para el almacenamiento a largo plazo. También es independiente del ciclo de vida de los pods o nodos.
Si bien puede aprovisionar un volumen persistente tanto para nodos Windows como Linux, este artículo describe cómo crear un volumen persistente para usar en su aplicación de Windows. Para más información, consulte Volúmenes persistentes en Kubernetes.
Antes de empezar
Requisitos para poder comenzar:
- Un clúster de Kubernetes con al menos un nodo de trabajo de Windows.
- Un archivo kubeconfig para acceder al clúster de Kubernetes.
Creación de una notificación de volumen persistente
Una notificación de volumen persistente (PVC) se usa para aprovisionar automáticamente el almacenamiento en función de una clase de almacenamiento. Para crear una notificación de volumen, cree en primer lugar un archivo llamado pvc-akshci-csi.yaml
, y copie y pegue la siguiente definición de YAML. PVC requiere un disco que tenga un tamaño de 10 GB con acceso ReadWriteOnce. Se especifica la clase de almacenamiento predeterminada como clase de almacenamiento (vhdx).
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-akshci-csi
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
Para crear el volumen, ejecute los siguientes comandos en una sesión de PowerShell con privilegios administrativos en uno de los servidores del clúster de Windows Server. Use un método como Enter-PSSession o Escritorio remoto para conectarse al servidor.
kubectl create -f pvc-akshci-csi.yaml
La siguiente salida muestra que su solicitud de volumen persistente se creó correctamente:
Salida:
persistentvolumeclaim/pvc-akshci-csi created
Uso del volumen persistente
Para usar un volumen persistente, cree un archivo denominado winwebserver.yaml
, y copie y pegue la siguiente definición de YAML. Después, cree un pod con acceso a la notificación de volumen persistente y a vhdx.
En esta definición YAML, mountPath
es la ruta donde se montará el volumen dentro de un contenedor. Después de crear el pod exitosamente, verá que se creó el subdirectorio mnt en C:\ y el subdirectorio akshciscsi dentro de 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
Para crear un pod con esta definición en YAML, ejecute:
kubectl create -f winwebserver.yaml
Para asegurarse de que el pod está funcionando, ejecute el siguiente comando. Espere unos minutos hasta que el pod esté en un estado de ejecución, ya que la extracción de la imagen lleva tiempo:
kubectl get pods -o wide
Una vez que se esté ejecutando el pod, puede ver el estado de este mediante la ejecución del siguiente comando:
kubectl.exe describe pod %podName%
Para comprobar que el volumen se ha montado en el pod, ejecute el siguiente comando:
kubectl exec -it %podname% cmd.exe
Eliminación de una notificación de volumen persistente
Antes de eliminar una solicitud de volumen persistente, primero debe eliminar la implementación de la aplicación con el siguiente comando:
kubectl delete deployments win-webserver
Puede eliminar una notificación de volumen persistente mediante la ejecución de:
kubectl delete PersistentVolumeClaim pvc-akshci-csi