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. Para los clústeres de usuario versión 1.17 y versiones posteriores, puedes crear instantáneas de almacenamiento continuo con los recursos VolumeSnapshot y VolumeSnapshotClass. Las instantáneas se almacenan en tu cuenta de AWS.
StorageClass
Los clústeres de usuario tienen un StorageClass de Kubernetes predeterminado 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 un StorageClass diferente para aprovisionar otros tipos de volúmenes. Estas opciones se describen en la siguiente sección.
VolumeSnapshotClass
Los clústeres de usuario tienen un VolumeSnapshotClass de Kubernetes predeterminado que crea instantáneas de almacenamiento con estado en volúmenes de AWS Elastic Block Storage (EBS).
Configurar el almacenamiento del clúster
Si deseas aprovisionar volúmenes de almacenamiento con una StorageClass no predeterminada, puedes crear una StorageClass nueva en un clúster que use parámetros diferentes o un controlador de almacenamiento diferente. Luego, puedes configurar el StorageClass como la opción predeterminada del clúster o configurar tus cargas de trabajo para que usen el StorageClass. Por ejemplo, puedes usar un StatefulSet para establecer un nombre específico de StorageClass.
Usa instantáneas de volumen
En las versiones 1.17 o posteriores de Kubernetes, 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.
Elastic Block Storage (EBS)
GKE on AWS administra los volúmenes de EBS de AWS 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 de usuario, 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úmenesgp2
de EBS.premium-rwo
: Se usa para aprovisionar volúmenesio1
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 on AWS 1.6 y las versiones posteriores admiten la activación de sistemas de archivos y puntos de acceso AWS EFS preexistentes. Para obtener más información, consulta Usa 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 en contenedores. Una lista no completa de controladores de CSI se encuentra en la Documentación para desarrolladores de Kubernetes de CSI. GKE on AWS es compatible con CSI v1.x.
Para usar un controlador de CSI en un clúster, debes instalar el controlador de CSI que proporciona tu proveedor de almacenamiento. Luego, puedes configurar las cargas de trabajo para que usen el recurso StorageClass del controlador o establecerlo como el StorageClass predeterminado.
Controladores de almacenamiento específicos de AWS
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
- Obtén más información en Usa recursos StorageClass con tus cargas de trabajo.
- Importa un volumen de EBS existente a GKE on AWS.
- Obtén más información sobre los volúmenes persistentes en GKE.
- Obtén información sobre las instantáneas de volumen en GKE.
- Lee la documentación Storage Classes (Clases de almacenamiento) de Kubernetes.
- Lee el anuncio de lanzamiento de Container Storage Interface.