En este documento se describen las opciones de almacenamiento que admite GKE y algunas consideraciones clave para seleccionar la opción que mejor se adapte a las necesidades de tu empresa. Para determinar qué familia de máquinas es la adecuada para tu selección, consulta la comparación de series de máquinas.
GKE admite los siguientes tipos de almacenamiento e integraciones:
- Almacenamiento en bloques con Persistent Disk
- Almacenamiento en bloques con Google Cloud Hyperdisk
- Almacenamiento en bloques con grupos de almacenamiento de Hyperdisk
- Almacenamiento en bloques efímero y sin formato con SSD local
- Sistema de archivos de red (NFS)
- Almacenamiento de objetos con Cloud Storage FUSE
- Bases de datos gestionadas
- Artefactos de compilación
Almacenamiento en bloques (Persistent Disk)
Los volúmenes de Persistent Disk son dispositivos de almacenamiento en red duraderos gestionados por Compute Engine a los que pueden acceder tus clústeres de GKE, como si fueran discos físicos de un ordenador o un servidor. Cuando tus clústeres necesiten más espacio de almacenamiento, puedes adjuntar más volúmenes de Persistent Disk a tus nodos o cambiar el tamaño de los volúmenes de Persistent Disk que ya tengas. Puedes permitir que GKE aprovisione dinámicamente PersistentVolumes respaldados por Persistent Disk o puedes aprovisionar discos manualmente.
Esta opción de almacenamiento se admite en los clústeres Autopilot y Estándar de GKE.
De forma predeterminada, los volúmenes de Persistent Disk son recursos zonales (se almacenan en una sola zona de una región). Puedes crear volúmenes de disco persistente regionales (que se conservan en dos zonas de la misma región). También puedes adjuntar un volumen de Persistent Disk como de solo lectura a varios nodos simultáneamente. Esta opción se admite tanto en volúmenes de disco persistente de zona como regionales.
El almacenamiento en discos persistentes de GKE es persistente, lo que significa que los datos almacenados en tus discos se conservarán aunque se termine el pod que los esté usando.
Por qué usar el almacenamiento de Persistent Disk
Usa el almacenamiento en Persistent Disk si tus clústeres necesitan acceder a un almacenamiento en bloques duradero, de alto rendimiento y de alta disponibilidad. Un volumen de disco persistente suele estar conectado a un solo pod. Esta opción de almacenamiento admite el modo de acceso ReadWriteOnce. GKE permite configurar volúmenes de disco persistente con varias opciones de latencia y rendimiento, entre las que se incluyen las siguientes:
- Disco persistente balanceado: adecuado para aplicaciones empresariales estándar. Esta opción ofrece un equilibrio entre rendimiento y coste. Con unidades de estado sólido (SSD). Esta es la opción predeterminada para el aprovisionamiento dinámico de volúmenes en clústeres y nodos que ejecutan GKE 1.24 o versiones posteriores.
- Disco persistente de rendimiento: adecuado para analíticas de escalado horizontal, bases de datos y almacenamiento en caché persistente. Esta opción es ideal para cargas de trabajo sensibles al rendimiento. Con unidades de estado sólido (SSD).
- Disco persistente estándar: adecuado para cargas de trabajo de macrodatos y computación de alto rendimiento. Esta opción es el tipo de disco más rentable. Respaldado por unidades de disco duro (HDD) estándar.
- Disco persistente Extreme: adecuado para aplicaciones empresariales como SAP HANA y Oracle. Esta opción ofrece el mejor rendimiento para satisfacer las necesidades de las bases de datos en memoria más grandes. Con unidades de estado sólido (SSD). En el caso de las aplicaciones críticas para el rendimiento, en las que Persistent Disk no ofrece un rendimiento suficiente, usa discos Hyperdisk Extreme.
Para empezar a usar esta opción de almacenamiento, consulta estos recursos:
- Para obtener información sobre los tipos de disco disponibles, consulta las opciones de almacenamiento de la documentación de Compute Engine.
- El controlador de CSI para Persistent Disk en Compute Engine es la forma principal de usar el almacenamiento de Persistent Disk con GKE. Para obtener instrucciones, consulta el artículo Usar el controlador de CSI para Persistent Disk en Compute Engine.
Almacenamiento en bloques (Google Cloud Hyperdisk)
Los volúmenes de Hyperdisk usan la nueva generación de Google Cloud almacenamiento en bloques. Los volúmenes de Hyperdisk te permiten ajustar de forma dinámica el rendimiento de tu almacenamiento en bloques a tu carga de trabajo. Puedes configurar las operaciones de entrada/salida por segundo (IOPS) y el rendimiento de forma independiente para tus aplicaciones y adaptarte a las necesidades de rendimiento cambiantes a lo largo del tiempo.
Esta opción de almacenamiento se admite en los clústeres Autopilot y Estándar de GKE. Los volúmenes de Hyperdisk son recursos de zona sujetos a disponibilidad regional. El almacenamiento de Hyperdisk en GKE es persistente, lo que significa que los datos almacenados en tus discos se conservarán aunque se termine el pod que los esté usando.
Ventajas de usar el almacenamiento de Hyperdisk
Usa el almacenamiento Hyperdisk si necesitas cambiar el tamaño y ajustar los IOPS o el
rendimiento de forma dinámica. Un volumen de Hyperdisk suele estar conectado a un solo pod. Esta opción de almacenamiento admite el modo de acceso ReadWriteOnce
. Puedes seleccionar una de las siguientes opciones de almacenamiento de Hyperdisk para GKE en función de tus necesidades de precio y rendimiento:
- Hyperdisk Balanced: la mejor opción para la mayoría de las cargas de trabajo. Esta es una buena opción para implementar la mayoría de las aplicaciones empresariales y de línea de negocio, así como bases de datos y servidores web.
- Rendimiento de Hyperdisk: optimizado para ofrecer un rendimiento alto y rentable. Esta es una buena opción si tu caso de uso se centra en analíticas de escalado horizontal (por ejemplo, Hadoop o Kafka), en restaurar datos inactivos de servidores de copia de seguridad y en cargas de trabajo sensibles a los costes orientadas al rendimiento.
- Hyperdisk Extreme: optimizado para el rendimiento de IOPS. Esta opción es adecuada si vas a desplegar cargas de trabajo de alto rendimiento, como sistemas de gestión de bases de datos.
- Hyperdisk ML: optimizado para cargas de trabajo de entrenamiento e inferencia de IA y aprendizaje automático que necesitan cargar pesos de modelos rápidamente. Usa esta opción para reducir la inactividad de los recursos de GPU o TPU debido a cuellos de botella de latencia.
Las opciones de almacenamiento de Hyperdisk se admiten en los clústeres Autopilot y Standard de GKE.
Para empezar a usar esta opción de almacenamiento, consulta estos recursos:
- Para obtener una descripción general, consulta Información sobre Hyperdisk para GKE.
- Para consultar los límites por disco, incluido el rendimiento y los IOPS máximos, consulta la sección Límites de Hyperdisk por disco de la documentación de Compute Engine.
- Para configurar y usar el almacenamiento Hyperdisk Throughput y Extreme en tus clústeres, consulta el artículo Escalar el rendimiento del almacenamiento con Hyperdisk.
Almacenamiento en bloques (grupo de almacenamiento Hyperdisk)
Un grupo de almacenamiento de Hyperdisk es un grupo preaprovisionado de recursos de almacenamiento (capacidad, rendimiento y IOPS) que pueden usar los discos de tu clúster de GKE. Los recursos de almacenamiento se comparten entre todos los Hyperdisks que crees en el grupo de almacenamiento.
Los clústeres Estándar de GKE permiten que tanto los discos de arranque Hyperdisk (para sistemas operativos) como los Hyperdisks conectados (para almacenamiento de datos) formen parte de un grupo de almacenamiento. Los clústeres de Autopilot de GKE solo admiten Hyperdisks adjuntos para los grupos de almacenamiento.
Para empezar a usar esta opción de almacenamiento, consulta los siguientes recursos:
- Para obtener una descripción general, consulta Información sobre los grupos de almacenamiento de Hyperdisk.
- Para configurar grupos de almacenamiento de Hyperdisk en tus clústeres de GKE, consulta el artículo Optimizar el rendimiento y los costes del almacenamiento con grupos de almacenamiento de Hyperdisk.
Almacenamiento en bloques efímero y sin formato (SSD local)
Los discos SSD locales son unidades físicas que están conectadas directamente a los nodos. Pueden ofrecer un mejor rendimiento, pero son efímeras. Cada volumen SSD local se adjunta a un nodo específico. No puedes mover el volumen a otro nodo.
Esta opción de almacenamiento se admite en clústeres Estándar de GKE. La compatibilidad con SSD local en Autopilot está disponible en versión preliminar en máquinas A2 Ultra A100, en clústeres y grupos de nodos que ejecutan GKE 1.27 y versiones posteriores.
El almacenamiento efímero respaldado por el almacenamiento en SSD local en GKE está vinculado al ciclo de vida de un pod. Cuando se termina tu Pod, también se elimina el almacenamiento efímero asociado a ese Pod.
Por qué usar SSD local
Usar el almacenamiento en SSD local en clústeres de GKE es adecuado si necesitas almacenamiento en caché activo para bases de datos y analíticas en tiempo real, o almacenamiento efímero optimizado para flash que ofrezca las latencias más bajas. El almacenamiento en SSD local puede ser especialmente eficaz como capa de almacenamiento en caché delante de Cloud Storage para casos prácticos de IA/ML, procesamiento por lotes, analíticas y bases de datos en memoria.
Para empezar a usar esta opción de almacenamiento, consulta estos recursos:
- Para obtener una descripción general, consulta Acerca del almacenamiento en SSD local de GKE.
- Para configurar y usar el almacenamiento de SSD local en tus clústeres como emptyDir, consulta Aprovisionar y usar almacenamiento efímero respaldado por SSD local.
- Para configurar y consumir almacenamiento SSD local en tus clústeres como recursos PersistentVolume locales, consulta Aprovisionar y usar almacenamiento en bloques sin formato respaldado por SSD local.
Sistema de archivos de red (NFS)
Filestore proporciona un sistema de archivos compartido basado en la nube para datos no estructurados con acceso al sistema de archivos de red (NFS). Las instancias de Filestore funcionan como servidores de archivos en Google Cloud , que proporcionan almacenamiento duradero con acceso ReadWriteMany
para tus clústeres de GKE. Las instancias de Filestore están desacopladas del host y requieren un mínimo de operaciones manuales. Las conmutaciones por error de las cargas de trabajo son fluidas porque no hay operaciones de infraestructura para adjuntar o separar volúmenes.
Esta opción de almacenamiento se admite en los clústeres Autopilot y Estándar de GKE. El almacenamiento de Filestore con el nivel de servicio Enterprise tiene la disponibilidad regional de forma predeterminada, mientras que los demás niveles de servicio tienen la disponibilidad por zonas. El almacenamiento de Filestore en GKE es persistente, lo que significa que los datos almacenados en tus instancias se conservarán aunque se cierre el pod que los esté usando.
Ventajas de usar el almacenamiento de Filestore
Usa el almacenamiento de Filestore si tus aplicaciones necesitan acceso al sistema de archivos de red (NFS) y varios lectores y escritores. Esta opción de almacenamiento es adecuada si tu caso práctico implica sistemas de gestión de contenido, migración de aplicaciones, análisis de datos, renderización y procesamiento multimedia.
Para disfrutar de una mayor eficiencia de costes, Filestore multishares para GKE te permite compartir una instancia de nivel Enterprise de Filestore de 10 GiB o más con hasta 80 PersistentVolumes.
Para empezar a usar esta opción de almacenamiento, consulta estos recursos:
- Para obtener una descripción general, consulta Información sobre la compatibilidad de Filestore con GKE.
- El controlador de CSI de Filestore es la forma principal de usar el almacenamiento de Filestore con GKE. Para obtener instrucciones, consulta Acceder a instancias de Filestore con el controlador de CSI para Filestore.
- Para obtener instrucciones sobre cómo usar las instancias compartidas múltiples de Filestore, consulta el artículo Optimizar el almacenamiento con instancias compartidas múltiples de Filestore para GKE.
Almacenamiento de objetos (Cloud Storage FUSE)
Cloud Storage es un almacén de objetos para datos binarios y de objetos, blobs y datos sin estructurar. El controlador CSI de Cloud Storage FUSE gestiona la integración de Cloud Storage FUSE con las APIs de Kubernetes para consumir los segmentos de Cloud Storage que ya existen como volúmenes. Puedes usar el controlador CSI de Cloud Storage FUSE para montar segmentos como sistemas de archivos en nodos de GKE.
El controlador CSI de Cloud Storage FUSE admite los modos de acceso ReadWriteMany
, ReadOnlyMany
y ReadWriteOnce
en los clústeres Autopilot y Standard de GKE. Los objetos de Cloud Storage tienen disponibilidad regional. Los datos de Cloud Storage en GKE son persistentes, lo que significa que los datos almacenados en tus segmentos se conservarán aunque se termine el pod que los esté usando.
Por qué usar Cloud Storage FUSE
La opción Cloud Storage FUSE es adecuada si necesitas una semántica de archivos delante de Cloud Storage para la portabilidad. Cloud Storage FUSE también es una opción habitual para los desarrolladores que quieren almacenar y acceder a datos de entrenamiento de aprendizaje automático (ML) y de modelos como objetos en Cloud Storage.
Para empezar a usar esta opción de almacenamiento, consulta estos recursos:
- Para obtener una descripción general, consulta Cloud Storage FUSE.
- Para usar los Google Cloud segmentos de tus clústeres, consulta Acceder a segmentos de Cloud Storage con el controlador FUSE de CSI de Cloud Storage.
Bases de datos gestionadas
Una base de datos gestionada, como Cloud SQL o Spanner, ofrece una sobrecarga operativa reducida y está optimizada para la infraestructura de Google Cloud. Las bases de datos gestionadas requieren menos esfuerzo para mantenerlas y operarlas que una base de datos que se implementa directamente en Kubernetes.
Ventajas de usar bases de datos gestionadas
Si usas una base de datos gestionada, tus cargas de trabajo con reconocimiento del estado en GKE podrán acceder a datos persistentes y, al mismo tiempo, automatizar tareas de mantenimiento, como la creación de copias de seguridad, la aplicación de parches y el escalado. Google Cloud Crea una base de datos, desarrolla tu aplicación y deja queGoogle Cloud la escale por ti. Sin embargo, esto también significa que es posible que no tengas acceso a la versión exacta de una base de datos, una extensión o el tipo de base de datos que quieras.
GKE ofrece compatibilidad para conectarse con Google Cloud servicios de bases de datos gestionados como los siguientes:
AlloyDB para PostgreSQL: base de datos totalmente gestionada y compatible con PostgreSQL que ofrece un rendimiento, una disponibilidad y una escala superiores para cargas de trabajo transaccionales y analíticas. Consulta el artículo Conectarse de Google Kubernetes Engine a AlloyDB para PostgreSQL.
Cloud SQL: base de datos de MySQL, PostgreSQL y SQL Server totalmente gestionada. Consulta el artículo Conectarse desde Google Kubernetes Engine.
Spanner: base de datos relacional escalable horizontalmente con alta coherencia y disponibilidad. Consulta el artículo Desplegar una aplicación con Autopilot de GKE y Cloud Spanner.
Memorystore para Redis: servicio totalmente gestionado de almacenamiento de datos en memoria. Consulta el artículo sobre cómo conectarse a una instancia de Redis desde un clúster de Google Kubernetes Engine.
Para empezar a usar esta opción de almacenamiento, consulta estos recursos:
- Explicación de las opciones de bases de datos Google Cloud
- Para consultar las consideraciones sobre el uso de una base de datos gestionada o una base de datos en contenedores alojada en GKE, consulta Planificar las implementaciones de bases de datos en GKE.
Artefactos de compilación (Artifact Registry)
Artifact Registry es un gestor de repositorios de imágenes de contenedor y paquetes de SO y de lenguajes que puedes desarrollar y desplegar por tu cuenta.
Por qué usar Artifact Registry
Artifact Registry es una opción adecuada para almacenar tus imágenes de contenedor privadas, gráficos de Helm y otros artefactos de compilación.
Para extraer imágenes de repositorios de Docker de Artifact Registry a GKE, consulta el artículo Desplegar en Google Kubernetes Engine de la documentación de Artifact Registry.
Siguientes pasos
- Lee la entrada de blog Mapa de opciones de almacenamiento en Google Cloud.
- Diseña una estrategia de almacenamiento óptima para tu carga de trabajo en la nube.
- Descubre cómo usar las abstracciones de almacenamiento de Kubernetes en GKE: PersistentVolumes y StatefulSets.
- Consulta la página de recursos Datos en GKE para obtener información sobre las soluciones de datos que puedes integrar con GKE.