Storage

Crea almacenamiento persistente para cargas de trabajo que se ejecutan en GKE en AWS con objetos de Kubernetes.

Uso de almacenamiento persistente en sus cargas de trabajo de GKE en AWS

En GKE en AWS, se utilizan los recursos PersistentVolume (PV), PersistentVolumeClaim (PVC) y StorageClass de Kubernetes para proporcionar almacenamiento persistente de archivos y bloques a las cargas de trabajo. Para clústeres de usuarios de la versión 1.17 y posteriores, se pueden crear instantáneas de almacenamiento persistente con los recursos VolumeSnapshot y VolumeSnapshotClass . Las instantáneas se almacenan en la cuenta de AWS.

Clase de almacenamiento

Los clústeres de usuarios tienen una StorageClass de Kubernetes predeterminada que aprovisiona dinámicamente almacenamiento con estado para cargas de trabajo en volúmenes de AWS Elastic Block Storage (EBS). También puede usar una StorageClass diferente para aprovisionar otros tipos de volúmenes. Estas opciones se describen en la siguiente sección.

Clase de instantánea de volumen

Los clústeres de usuarios tienen una VolumeSnapshotClass de Kubernetes predeterminada que crea instantáneas de almacenamiento con estado en volúmenes de AWS Elastic Block Storage (EBS).

Configuración del almacenamiento en clúster

Si desea aprovisionar volúmenes de almacenamiento con una StorageClass distinta a la predeterminada, puede crear una nueva StorageClass en un clúster que utilice parámetros o un controlador de almacenamiento diferente. A continuación, puede establecer la StorageClass como la predeterminada del clúster o configurar sus cargas de trabajo para que la utilicen. Por ejemplo, puede usar un StatefulSet para establecer un nombre específico para la StorageClass.

Uso de instantáneas de volumen

En las versiones 1.17 y posteriores de Kubernetes, puede usar el recurso VolumeSnapshot para crear instantáneas de volúmenes de almacenamiento. Posteriormente, puede aprovisionar nuevos volúmenes persistentes a partir de estas instantáneas.

Almacenamiento en bloques elásticos (EBS)

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

La versión del controlador CSI de EBS está vinculada a una versión de GKE en AWS Kubernetes. Al actualizar la versión del clúster de usuarios, la nueva versión del controlador se aplica automáticamente. Esta versión suele ser la más reciente disponible al momento del lanzamiento de la versión de GKE en AWS.

El controlador preinstalado con GKE en AWS proporciona las siguientes clases de almacenamiento de forma predeterminada:

  • standard-rwo (predeterminado): se utiliza para aprovisionar volúmenes EBS gp2 .
  • premium-rwo : se utiliza para aprovisionar volúmenes EBS io1 .

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

Volúmenes de EBS preexistentes

Puede aprovisionar volúmenes EBS existentes en sus cargas de trabajo de GKE en AWS. Consulte Importar un volumen EBS preexistente para ver ejemplos sobre cómo usar volúmenes EBS en GKE en AWS.

Sistema de archivos elástico (EFS)

GKE en AWS 1.6 y versiones posteriores admite el montaje de sistemas de archivos y puntos de acceso de AWS EFS preexistentes. Para obtener más información, consulte Uso de 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 (recomendados) o complementos de volumen de Kubernetes en árbol.

Conductores 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. Puede encontrar una lista no exhaustiva de controladores de CSI en la Documentación para Desarrolladores de CSI de Kubernetes . GKE en AWS es compatible con CSI v1.x.

Para usar un controlador CSI en su clúster, debe instalar el controlador CSI proporcionado por su proveedor de almacenamiento. A continuación, puede configurar las cargas de trabajo para que usen la clase de almacenamiento del controlador o establecerla como la clase de almacenamiento predeterminada .

Controladores de almacenamiento específicos de AWS

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

FSx para Lustre (FSX)

GKE en AWS no administra volúmenes FSx directamente. Puedes instalar manualmente el controlador aws-fsx-csi-driver , pero Google no ofrece soporte técnico.

Complementos de volumen en árbol de Kubernetes

Kubernetes incluye complementos de volumen integrados en el árbol . Los controladores compatibles en el árbol incluyen los siguientes:

  • Mapa de configuración
  • directorio vacío
  • ruta del host
  • nfs
  • proyectado
  • misterios

¿Que sigue?