Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de Fabric, Power BI y SQL más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Azure Container Storage es un servicio de administración, implementación y orquestación de volúmenes basado en la nube y creado de forma nativa para contenedores. En este artículo se muestra cómo tomar una instantánea a un momento dado de un volumen persistente y restaurarla con una nueva notificación de volumen persistente.
En primer lugar, cree una clase de instantánea de volumen, que le permite especificar los atributos de la instantánea de volumen, definiéndola en un archivo de manifiesto YAML. Siga estos pasos para crear una clase de instantánea de volumen para Azure Disks.
Use su editor de texto favorito para crear un archivo de manifiesto YAML, como code acstor-volumesnapshotclass.yaml
.
Pegue el código siguiente. El valor del nombre de la clase de instantánea de volumen puede ser el que quiera.
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshotClass
metadata:
name: csi-acstor-vsc
driver: containerstorage.csi.azure.com
deletionPolicy: Delete
parameters:
incremental: "true" # available values: "true", "false" ("true" by default for Azure Public Cloud, and "false" by default for Azure Stack Cloud)
Aplique el archivo de manifiesto de YAML para crear una clase de instantánea de volumen.
kubectl apply -f acstor-volumesnapshotclass.yaml
Una vez completada la creación , verá un mensaje como el siguiente:
volumesnapshotclass.snapshot.storage.k8s.io/csi-acstor-vsc created
También puede ejecutar kubectl get volumesnapshotclass
para comprobar si se ha creado la clase de instantánea de volumen. La salida debería ser la siguiente:
NAME DRIVER DELETIONPOLICY AGE
csi-acstor-vsc containerstorage.csi.azure.com Delete 11s
A continuación, creará una instantánea de una notificación de volumen persistente que ya exista y aplicará la clase de instantánea de volumen que creó en el paso anterior.
Use su editor de texto favorito para crear un archivo de manifiesto YAML, como code acstor-volumesnapshot.yaml
.
Pegue el código siguiente. volumeSnapshotClassName
debe ser el nombre de la clase de instantánea de volumen que creó en el paso anterior. Para persistentVolumeClaimName
, use el nombre de la notificación de volumen persistente de la que desea tomar una instantánea. El valor del nombre de la clase de instantánea de volumen puede ser el que quiera.
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshot
metadata:
name: azuredisk-volume-snapshot
spec:
volumeSnapshotClassName: csi-acstor-vsc
source:
persistentVolumeClaimName: azurediskpvc
Aplique el archivo de manifiesto de YAML para crear una clase de instantánea de volumen.
kubectl apply -f acstor-volumesnapshot.yaml
Una vez completada la creación , verá un mensaje como el siguiente:
volumesnapshot.snapshot.storage.k8s.io/azuredisk-volume-snapshot created
También puede ejecutar kubectl get volumesnapshot
para comprobar si se ha creado la clase de instantánea de volumen. Cuando READYTOUSE
indique true, puede avanzar al paso siguiente.
Ahora puede crear una nueva notificación de volumen persistente que use la instantánea de volumen como origen de datos.
Use su editor de texto favorito para crear un archivo de manifiesto YAML, como code acstor-pvc-restored.yaml
.
Pegue el código siguiente. storageClassName
debe coincidir con la clase de almacenamiento que usó al crear el volumen persistente original. Por ejemplo, si usa un disco efímero (NVMe local) en lugar de Discos de Azure para el almacenamiento back-end, cambie storageClassName
a acstor-ephemeraldisk
. Para el valor del nombre del origen de datos, use el nombre de la instantánea de volumen que creó en el paso anterior. El valor del nombre de metadatos de la notificación de volumen persistente puede ser lo que quiera.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-azuredisk-snapshot-restored
spec:
accessModes:
- ReadWriteOnce
storageClassName: acstor-azuredisk
resources:
requests:
storage: 100Gi
dataSource:
name: azuredisk-volume-snapshot
kind: VolumeSnapshot
apiGroup: snapshot.storage.k8s.io
Aplique el archivo de manifiesto YAML para crear la PVC.
kubectl apply -f acstor-pvc-restored.yaml
Una vez completada la creación , verá un mensaje como el siguiente:
persistentvolumeclaim/pvc-azuredisk-snapshot-restored created
También puede ejecutar kubectl describe pvc pvc-azuredisk-snapshot-restored
para comprobar si se ha creado el volumen persistente. Debe ver el estado Pendiente y el mensaje esperando a que se cree el primer consumidor antes del enlace.
Sugerencia
Si ya ha creado una notificación de volumen persistente restaurada y desea volver a aplicar el archivo yaml para corregir un error o realizar un cambio, primero deberá eliminar la antigua notificación de volumen persistente antes de volver a aplicar el archivo yaml: kubectl delete pvc <pvc-name>
.
Antes de crear un pod, es posible que deba eliminar el pod original desde el que creó la instantánea.
kubectl get pods
para enumerar los pods. Asegúrese de eliminar el pod correcto.kubectl delete pod <pod-name>
.Luego, cree un nuevo pod mediante la notificación de volumen persistente restaurada. Cree un pod mediante Fio (evaluador de E/S flexible) para realizar pruebas comparativas y simulación de carga de trabajo y especifique una ruta de montaje para el volumen persistente.
Use su editor de texto favorito para crear un archivo de manifiesto YAML, como code acstor-pod2.yaml
.
Pegue el código siguiente. La notificación claimName
de volumen persistente debe ser el nombre de la notificación de volumen persistente de la instantánea restaurada que creó. El valor del nombre de metadatos para el pod puede ser lo que quiera.
kind: Pod
apiVersion: v1
metadata:
name: fiopod2
spec:
nodeSelector:
acstor.azure.com/io-engine: acstor
volumes:
- name: diskpv
persistentVolumeClaim:
claimName: pvc-azuredisk-snapshot-restored
containers:
- name: fio
image: nixery.dev/shell/fio
args:
- sleep
- "1000000"
volumeMounts:
- mountPath: "/volume"
name: diskpv
Aplique el archivo de manifiesto YAML para implementar el pod.
kubectl apply -f acstor-pod2.yaml
Debería ver un resultado similar al siguiente:
pod/fiopod2 created
Compruebe que el pod se está ejecutando y que la notificación de volumen persistente se ha enlazado correctamente al pod:
kubectl describe pod fiopod2
kubectl describe pvc pvc-azuredisk-snapshot-restored
Compruebe las pruebas FIO para ver su estado actual:
kubectl exec -it fiopod2 -- fio --name=benchtest --size=800m --filename=/volume/test --direct=1 --rw=randrw --ioengine=libaio --bs=4k --iodepth=16 --numjobs=8 --time_based --runtime=60
Ahora ha implementado un nuevo pod desde la notificación de volumen persistente restaurada y puede usarla para las cargas de trabajo de Kubernetes.
Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de Fabric, Power BI y SQL más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyCursos
Módulo
Obtenga información sobre los conceptos de almacenamiento que le ayudan a resolver problemas reales con contenedores de Windows que se ejecutan en Azure Kubernetes Service (AKS) y AKS Hybrid.
Certificación
Microsoft Certified: Azure for SAP Workloads Specialty - Certifications
Muestre la planeación, la migración y el funcionamiento de una solución de SAP en Microsoft Azure mientras aprovecha los recursos de Azure.
Documentación
Conceptos: almacenamiento en Azure Kubernetes Service (AKS) - Azure Kubernetes Service
Obtenga información sobre el almacenamiento en Azure Kubernetes Service (AKS), incluidos los volúmenes, los volúmenes persistentes, las clases de almacenamiento y las notificaciones.
Aprenda a crear un volumen persistente de forma dinámica con Azure Disks para usarlo con varios pods simultáneos en Azure Kubernetes Service (AKS)
Aprenda a usar los controladores de Container Storage Interface (CSI) para discos de Azure en un clúster de Azure Kubernetes Service (AKS).