Puedes crear almacenamiento persistente para cargas de trabajo que se ejecuten en GKE en AWS con objetos de Kubernetes.
Usar almacenamiento persistente en las cargas de trabajo de GKE en AWS
En GKE en AWS, se usan los recursos de Kubernetes PersistentVolume (PV), PersistentVolumeClaim (PVC) y StorageClass para proporcionar almacenamiento persistente de archivos y bloques a las cargas de trabajo. Puedes crear capturas de almacenamiento persistente con los recursos VolumeSnapshot y VolumeSnapshotClass. Las instantáneas se almacenan en tu cuenta de AWS.
StorageClass
Los clústeres tienen una clase de almacenamiento de Kubernetes predeterminada que aprovisiona de forma dinámica almacenamiento con estado para las cargas de trabajo en volúmenes de AWS Elastic Block Storage (EBS). También puedes usar un StorageClass personalizado para aprovisionar otros tipos de volúmenes. Estas opciones se describen en la siguiente sección.
VolumeSnapshotClass
Los clústeres tienen una clase VolumeSnapshotClass de Kubernetes predeterminada que crea snapshots de almacenamiento con estado en volúmenes de EBS.
Configurar el almacenamiento de clúster
Si quieres aprovisionar volúmenes de almacenamiento con un StorageClass no predeterminado, puedes crear un StorageClass personalizado en un clúster que utilice parámetros o un controlador de almacenamiento diferentes. Después, puedes configurar la clase de almacenamiento predeterminada o configurar tus cargas de trabajo para que usen la clase de almacenamiento. Por ejemplo, puedes usar Referenciar el StorageClass en un StatefulSet para definir un nombre de StorageClass específico.
Usar las capturas de volumen
Puedes usar el recurso VolumeSnapshot para crear capturas de volúmenes de almacenamiento. Después, puedes aprovisionar nuevos volúmenes persistentes a partir de estas capturas. Para obtener más información, consulta Capturar un PersistentVolume.
Elastic Block Storage (EBS)
GKE on AWS gestiona los volúmenes EBS de AWS con el aws-ebs-csi-driver.
La versión del controlador de CSI de EBS está vinculada a una versión de Kubernetes de GKE en AWS. Cuando actualizas la versión de tu clúster, se aplica automáticamente la nueva versión del controlador. Normalmente, esta versión es la más reciente del controlador disponible en el momento en que se publica la versión de GKE en AWS.
El controlador preinstalado con GKE en AWS proporciona las siguientes StorageClasses de forma predeterminada:
standard-rwo
(predeterminado): se usa para aprovisionar volúmenes degp2
EBS.premium-rwo
: se usa para aprovisionar volúmenes deio1
de EBS.
Los volúmenes de EBS admiten el modo de acceso ReadWriteOnce de Kubernetes.
Volúmenes de EBS ya creados
Puedes aprovisionar volúmenes de EBS en tus cargas de trabajo de GKE en AWS. Consulta Importar un volumen de EBS ya creado para ver ejemplos de cómo usar volúmenes de EBS en GKE en AWS.
Elastic File System (EFS)
GKE on AWS admite el montaje de sistemas de archivos EFS y puntos de acceso preexistentes. Para obtener más información, consulta Usar un sistema de archivos EFS.
Otras opciones de almacenamiento
Otros sistemas de almacenamiento de terceros se pueden usar con GKE en AWS mediante controladores de interfaz de almacenamiento de contenedores (CSI) de terceros (opción recomendada) o complementos de volumen de Kubernetes integrados.
Controladores de CSI
La interfaz de almacenamiento de contenedores (CSI) es una API estándar abierta que permite a Kubernetes conectar sistemas de almacenamiento arbitrarios a cargas de trabajo en contenedores. Puedes consultar una lista no exhaustiva de controladores de CSI en la documentación para desarrolladores de CSI de Kubernetes. GKE on AWS admite CSI v1.x.
Para usar un controlador de CSI en tu clúster, debes instalar un controlador de CSI proporcionado por tu proveedor de almacenamiento. Después, puedes configurar las cargas de trabajo para que usen la clase de almacenamiento del controlador o establecer la clase de almacenamiento predeterminada.
Controladores de almacenamiento específicos
Los siguientes controladores de volumen se pueden usar con GKE en AWS.
FSx para Lustre (FSX)
GKE en AWS no gestiona los volúmenes de FSx directamente. Puedes instalar manualmente el controlador aws-fsx-csi-driver, pero Google no ofrece asistencia.
Complementos de volumen de Kubernetes
Kubernetes incluye plugins de volumen integrados. Entre los controladores incluidos en el árbol, se encuentran los siguientes:
- configMap
- emptyDir
- hostPath
- nfs
- previsto
- secretos
Siguientes pasos
- Consulta cómo usar StorageClasses con tus cargas de trabajo.
- Usar un volumen de EBS ya creado.
- Consulta información sobre los volúmenes persistentes y el aprovisionamiento dinámico en GKE.
- Consulta cómo capturar un PersistentVolume.
- Consulta la documentación de clases de almacenamiento de Kubernetes.
- Lee el anuncio de lanzamiento de la versión GA de Container Storage Interface (CSI) para Kubernetes.