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. Puede crear instantáneas de almacenamiento persistente con los recursos VolumeSnapshot y VolumeSnapshotClass . Las instantáneas se almacenan en su cuenta de AWS.
Clase de almacenamiento
Los clústeres 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 personalizada 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 tienen una VolumeSnapshotClass de Kubernetes predeterminada que crea instantáneas de almacenamiento con estado en volúmenes 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 StorageClass personalizada en un clúster que utilice parámetros o un controlador de almacenamiento diferente. A continuación, puede establecer la StorageClass predeterminada o configurar sus cargas de trabajo para que la utilicen. Por ejemplo, puede usar una referencia a la StorageClass en un StatefulSet para establecer un nombre de StorageClass específico.
Uso de instantáneas de volumen
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. Para obtener más información, consulte Crear instantáneas de un volumen persistente .
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, 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 EBSgp2
. -
premium-rwo
: se utiliza para aprovisionar volúmenes EBSio1
.
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 admite el montaje de sistemas de archivos EFS y puntos de acceso preexistentes. Para obtener más información, consulte Usar 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 (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 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 usar 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 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?
- Aprenda a utilizar StorageClasses con sus cargas de trabajo .
- Utilice un volumen EBS preexistente .
- Obtenga información sobre los volúmenes persistentes y el aprovisionamiento dinámico en GKE.
- Aprenda a crear una instantánea de un PersistentVolume .
- Lea la documentación de clases de almacenamiento de Kubernetes.
- Lea el anuncio del lanzamiento de la Interfaz de almacenamiento de contenedores (CSI) para Kubernetes GA .