Descripción general del almacenamiento

Puedes crear almacenamiento continuo para las cargas de trabajo que se ejecutan en GKE on AWS con objetos de Kubernetes.

Usa el almacenamiento continuo en tus cargas de trabajo de GKE on AWS

En GKE on AWS, usa los recursos de Kubernetes PersistentVolume (PV), PersistentVolumeClaim (PVC) y StorageClass para proporcionar almacenamiento continuo en bloque y de archivos a las cargas de trabajo. Puedes crear instantáneas 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 StorageClass de Kubernetes predeterminada que aprovisiona de forma dinámica el almacenamiento con estado para cargas de trabajo en volúmenes de AWS Elastic Block Storage (EBS). También puedes usar una StorageClass personalizada para aprovisionar otros tipos de volúmenes. Estas opciones se describen en la siguiente sección.

VolumeSnapshotClass

Los clústeres tienen una VolumeSnapshotClass de Kubernetes predeterminada que crea instantáneas de almacenamiento con estado en volúmenes de EBS.

Configurar el almacenamiento del clúster

Si deseas aprovisionar volúmenes de almacenamiento con una StorageClass no predeterminada, puedes crear una StorageClass personalizada en un clúster que use parámetros diferentes o un controlador de almacenamiento diferente. Luego, puedes establecer la StorageClass predeterminada o configurar las cargas de trabajo para que usen la StorageClass. Por ejemplo, puedes usar una referencia a la StorageClass en un StatefulSet para establecer un nombre de StorageClass específico.

Usa instantáneas de volumen

Puedes usar el recurso VolumeSnapshot para crear instantáneas de volúmenes de almacenamiento. Luego, puedes aprovisionar los volúmenes persistentes nuevos a partir de estas instantáneas. Para obtener más información, consulta Crea una instantánea de un PersistentVolume.

Elastic Block Storage (EBS)

GKE on AWS administra los volúmenes de EBS con el aws-ebs-csi-driver.

La versión del controlador de CSI de EBS está vinculada a la versión de Kubernetes de GKE on AWS. Cuando actualizas la versión del clúster, la versión nueva del controlador se aplica de forma automática. Por lo general, esta versión es el controlador más reciente disponible en el momento en que se lanza la versión de GKE en AWS.

El controlador preinstalado con GKE on AWS proporciona los siguientes StorageClass de forma predeterminada:

  • standard-rwo (opción predeterminada): Se usa para aprovisionar volúmenes gp2 de EBS.
  • premium-rwo: Se usa para aprovisionar volúmenes io1 de EBS.

Los volúmenes de EBS admiten el modo de acceso ReadWriteOnce de Kubernetes.

Volúmenes de EBS preexistentes

Puedes aprovisionar volúmenes de EBS existentes en las cargas de trabajo de GKE on AWS. Consulta Importa un volumen de EBS preexistente para obtener ejemplos sobre cómo usar volúmenes de EBS en GKE on AWS.

Elastic File System (EFS)

GKE en AWS admite la activación preexistente Sistemas de archivos EFS y puntos de acceso. Para obtener más información, consulta Usa un sistema de archivos EFS.

Opciones de almacenamiento adicionales

Se pueden usar otros sistemas de almacenamiento de terceros con GKE en AWS a través de controladores de interfaz de almacenamiento de contenedores (CSI) de terceros (recomendado) o en complementos de volúmenes de Kubernetes de árbol.

Controladores de CSI

Container Storage Interface (CSI) es una API estándar abierta que permite a Kubernetes conectar sistemas de almacenamiento arbitrarios con cargas de trabajo alojadas en contenedores. Una lista no completa de controladores de CSI se encuentra en la Documentación para desarrolladores de CSI de Kubernetes. GKE on AWS es compatible con CSI v1.x.

Para usar un controlador de CSI en un clúster, debes instalar un controlador de CSI que proporciona tu proveedor de almacenamiento. Luego, puedes configurar las cargas de trabajo para que usen l StorageClass del controlador o establecer la StorageClass predeterminada.

Controladores de almacenamiento específicos

Los siguientes controladores de volumen se pueden usar con GKE on AWS.

FSx for Lustre (FSX)

GKE en AWS no administra los volúmenes de FSx directamente. Puedes instalar aws-fsx-csi-driver de forma manual, pero Google no ofrece asistencia.

Complementos de volumen de árbol de Kubernetes

Kubernetes se entrega con complementos de volumen en árbol (integrados). Entre los controladores en árbol compatibles, se incluyen los siguientes:

  • configMap
  • emptyDir
  • hostPath
  • nfs
  • projected
  • secrets

Próximos pasos