Skip to content

Commit 1e66ec1

Browse files
authored
Merge pull request #29624 from edithturn/add-content/es/docs/concepts/storage/volume-snapshots
[es] Add concepts/storage/volume-snapshots.md
2 parents 59e9b43 + 6aa8b80 commit 1e66ec1

File tree

1 file changed

+152
-0
lines changed

1 file changed

+152
-0
lines changed
Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
---
2+
reviewers:
3+
- edithturn
4+
- raelga
5+
- electrocucaracha
6+
title: Snapshots de Volúmenes
7+
content_type: concept
8+
weight: 20
9+
---
10+
11+
<!-- overview -->
12+
13+
En Kubernetes, un _VolumeSnapshot_ representa un Snapshot de un volumen en un sistema de almacenamiento. Este documento asume que está familiarizado con [volúmenes persistentes](/docs/concepts/storage/persistent-volumes/) de Kubernetes.
14+
15+
16+
17+
18+
<!-- body -->
19+
20+
## Introducción
21+
22+
Al igual que los recursos de API `PersistentVolume` y `PersistentVolumeClaim` se utilizan para aprovisionar volúmenes para usuarios y administradores, `VolumeSnapshotContent` y `VolumeSnapshot` se proporcionan para crear Snapshots de volumen para usuarios y administradores.
23+
24+
Un `VolumeSnapshotContent` es un Snapshot tomado de un volumen en el clúster que ha sido aprovisionado por un administrador. Es un recurso en el clúster al igual que un PersistentVolume es un recurso de clúster.
25+
26+
Un `VolumeSnapshot` es una solicitud de Snapshot de un volumen por parte del usuario. Es similar a un PersistentVolumeClaim.
27+
28+
`VolumeSnapshotClass` permite especificar diferentes atributos que pertenecen a un `VolumeSnapshot`. Estos atributos pueden diferir entre Snapshots tomados del mismo volumen en el sistema de almacenamiento y, por lo tanto, no se pueden expresar mediante el mismo `StorageClass` de un `PersistentVolumeClaim`.
29+
30+
Los Snapshots de volumen brindan a los usuarios de Kubernetes una forma estandarizada de copiar el contenido de un volumen en un momento determinado, sin crear uno completamente nuevo. Esta funcionalidad permite, por ejemplo, a los administradores de bases de datos realizar copias de seguridad de las bases de datos antes de realizar una edición o eliminar modificaciones.
31+
32+
Cuando utilicen esta función los usuarios deben tener en cuenta lo siguiente:
33+
34+
* Los objetos de API `VolumeSnapshot`, `VolumeSnapshotContent`, y `VolumeSnapshotClass` son {{< glossary_tooltip term_id="CustomResourceDefinition" text="CRDs" >}}, y no forman parte de la API principal.
35+
* La compatibilidad con `VolumeSnapshot` solo está disponible para controladores CSI.
36+
* Como parte del proceso de implementación de `VolumeSnapshot`, el equipo de Kubernetes proporciona un controlador de Snapshot para implementar en el plano de control y un sidecar auxiliar llamado csi-snapshotter para implementar junto con el controlador CSI. El controlador de Snapshot observa los objetos `VolumeSnapshot` y `VolumeSnapshotContent` y es responsable de la creación y eliminación del objeto `VolumeSnapshotContent`. El sidecar csi-snapshotter observa los objetos `VolumeSnapshotContent` y activa las operaciones `CreateSnapshot` y `DeleteSnapshot` en un punto final CSI.
37+
* También hay un servidor webhook de validación que proporciona una validación más estricta en los objetos Snapshot. Esto debe ser instalado por las distribuciones de Kubernetes junto con el controlador de Snapshots y los CRDs, no los controladores CSI. Debe instalarse en todos los clústeres de Kubernetes que tengan habilitada la función de Snapshot.
38+
* Los controladores CSI pueden haber implementado o no la funcionalidad de Snapshot de volumen. Los controladores CSI que han proporcionado soporte para Snapshot de volumen probablemente usarán csi-snapshotter. Consulte [CSI Driver documentation](https://kubernetes-csi.github.io/docs/) para obtener más detalles.
39+
* Los CRDs y las instalaciones del controlador de Snapshot son responsabilidad de la distribución de Kubernetes.
40+
41+
## Ciclo de vida de un Snapshot de volumen y el contenido de un Snapshot de volumen.
42+
43+
`VolumeSnapshotContents` son recursos en el clúster. `VolumeSnapshots` son solicitudes de esos recursos. La interacción entre `VolumeSnapshotContents` y `VolumeSnapshots` sigue este ciclo de vida:
44+
45+
### Snapshot del volumen de aprovisionamiento
46+
47+
Hay dos formas de aprovisionar los Snapshots: aprovisionadas previamente o aprovisionadas dinámicamente.
48+
49+
#### Pre-aprovisionado {#static}
50+
Un administrador de clúster crea una serie de `VolumeSnapshotContents`. Llevan los detalles del Snapshot del volumen real en el sistema de almacenamiento que está disponible para que lo utilicen los usuarios del clúster. Existen en la API de Kubernetes y están disponibles para su consumo.
51+
52+
#### Dinámica
53+
En lugar de utilizar un Snapshot preexistente, puede solicitar que se tome una Snapshot dinámicamente de un PersistentVolumeClaim. El [VolumeSnapshotClass](/docs/concepts/storage/volume-snapshot-classes/) especifica los parámetros específicos del proveedor de almacenamiento para usar al tomar una Snapshot.
54+
55+
### Vinculante
56+
57+
El controlador de Snapshots maneja el enlace de un objeto `VolumeSnapshot` con un objeto `VolumeSnapshotContent` apropiado, tanto en escenarios de aprovisionamiento previo como de aprovisionamiento dinámico. El enlace es un mapeo uno a uno.
58+
59+
En el caso de un enlace aprovisionado previamente, el VolumeSnapshot permanecerá sin enlazar hasta que se cree el objeto VolumeSnapshotContent solicitado.
60+
61+
### Persistent Volume Claim como Snapshot Source Protection
62+
63+
El propósito de esta protección es garantizar que los objetos de la API
64+
{{< glossary_tooltip text="PersistentVolumeClaim" term_id="persistent-volume-claim" >}}
65+
en uso, no se eliminen del sistema mientras se toma un Snapshot (ya que esto puede resultar en la pérdida de datos).
66+
67+
Mientras se toma un Snapshot de un PersistentVolumeClaim, ese PersistentVolumeClaim está en uso. Si elimina un objeto de la API PersistentVolumeClaim en uso activo como fuente de Snapshot, el objeto PersistentVolumeClaim no se elimina de inmediato. En cambio, la eliminación del objeto PersistentVolumeClaim se pospone hasta que el Snapshot esté readyToUse o se cancele.
68+
69+
### Borrar
70+
71+
La eliminación se activa al eliminar el objeto `VolumeSnapshot`, y se seguirá la `DeletionPolicy`. Sí `DeletionPolicy` es `Delete`, entonces el Snapshot de almacenamiento subyacente se eliminará junto con el objeto `VolumeSnapshotContent`. Sí `DeletionPolicy` es `Retain`, tanto el Snapshot subyacente como el `VolumeSnapshotContent` permanecen.
72+
73+
## VolumeSnapshots
74+
75+
Cada VolumeSnapshot contiene una especificación y un estado.
76+
77+
```yaml
78+
apiVersion: snapshot.storage.k8s.io/v1
79+
kind: VolumeSnapshot
80+
metadata:
81+
name: new-snapshot-test
82+
spec:
83+
volumeSnapshotClassName: csi-hostpath-snapclass
84+
source:
85+
persistentVolumeClaimName: pvc-test
86+
```
87+
88+
`persistentVolumeClaimName` es el nombre de la fuente de datos PersistentVolumeClaim para el Snapshot. Este campo es obligatorio para aprovisionar dinámicamente un Snapshot.
89+
90+
Un Snapshot de volumen puede solicitar una clase particular especificando el nombre de un [VolumeSnapshotClass](/docs/concepts/storage/volume-snapshot-classes/)
91+
utilizando el atributo `volumeSnapshotClassName`. Si no se establece nada, se usa la clase predeterminada si está disponible.
92+
93+
Para los Snapshots aprovisionadas previamente, debe especificar un `volumeSnapshotContentName` como el origen del Snapshot, como se muestra en el siguiente ejemplo. El campo de origen `volumeSnapshotContentName` es obligatorio para los Snapshots aprovisionados previamente.
94+
95+
```yaml
96+
apiVersion: snapshot.storage.k8s.io/v1
97+
kind: VolumeSnapshot
98+
metadata:
99+
name: test-snapshot
100+
spec:
101+
source:
102+
volumeSnapshotContentName: test-content
103+
```
104+
105+
## Contenido del Snapshot de volumen
106+
107+
Cada VolumeSnapshotContent contiene una especificación y un estado. En el aprovisionamiento dinámico, el controlador común de Snapshots crea objetos `VolumeSnapshotContent`. Aquí hay un ejemplo:
108+
109+
```yaml
110+
apiVersion: snapshot.storage.k8s.io/v1
111+
kind: VolumeSnapshotContent
112+
metadata:
113+
name: snapcontent-72d9a349-aacd-42d2-a240-d775650d2455
114+
spec:
115+
deletionPolicy: Delete
116+
driver: hostpath.csi.k8s.io
117+
source:
118+
volumeHandle: ee0cfb94-f8d4-11e9-b2d8-0242ac110002
119+
volumeSnapshotClassName: csi-hostpath-snapclass
120+
volumeSnapshotRef:
121+
name: new-snapshot-test
122+
namespace: default
123+
uid: 72d9a349-aacd-42d2-a240-d775650d2455
124+
```
125+
126+
`volumeHandle` es el identificador único del volumen creado en el backend de almacenamiento y devuelto por el controlador CSI durante la creación del volumen. Este campo es obligatorio para aprovisionar dinámicamente un Snapshot. Especifica el origen del volumen del Snapshot.
127+
128+
Para los Snapshots aprovisionados previamente, usted (como administrador del clúster) es responsable de crear el objeto `VolumeSnapshotContent` de la siguiente manera.
129+
130+
```yaml
131+
apiVersion: snapshot.storage.k8s.io/v1
132+
kind: VolumeSnapshotContent
133+
metadata:
134+
name: new-snapshot-content-test
135+
spec:
136+
deletionPolicy: Delete
137+
driver: hostpath.csi.k8s.io
138+
source:
139+
snapshotHandle: 7bdd0de3-aaeb-11e8-9aae-0242ac110002
140+
volumeSnapshotRef:
141+
name: new-snapshot-test
142+
namespace: default
143+
```
144+
145+
`snapshotHandle` es el identificador único del Snapshot de volumen creado en el backend de almacenamiento. Este campo es obligatorio para las Snapshots aprovisionadas previamente. Especifica el ID del Snapshot CSI en el sistema de almacenamiento que representa el `VolumeSnapshotContent`.
146+
147+
## Aprovisionamiento de Volúmenes a partir de Snapshots
148+
149+
Puede aprovisionar un nuevo volumen, rellenado previamente con datos de una Snapshot, mediante el campo *dataSource* en el objeto `PersistentVolumeClaim`.
150+
151+
Para obtener más detalles, consulte
152+
[Volume Snapshot and Restore Volume from Snapshot](/docs/concepts/storage/persistent-volumes/#volume-snapshot-and-restore-volume-from-snapshot-support).

0 commit comments

Comments
 (0)