Descripción general del almacenamiento

Puedes crear almacenamiento persistente para las cargas de trabajo que se ejecutan en GKE en Azure con objetos de Kubernetes.

Almacenamiento del plano de control

Cuando creas un clúster, GKE en Azure aprovisiona discos LRS de Premium para el plano de control y los volúmenes de etcd.

Usa almacenamiento persistente en tus cargas de trabajo de GKE de Azure

En GKE en Azure, 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 predeterminada de Kubernetes que aprovisiona de forma dinámica el almacenamiento con estado para cargas de trabajo en los volúmenes de Azure Disk Storage (AzureDisk). También puedes usar un StorageClass diferente para aprovisionar otros tipos de volúmenes. Estas opciones se describen en la siguiente sección.

Cuentas de almacenamiento de Azure

GKE en Azure crea de forma automática una cuenta de almacenamiento de Azure cuando se crea un clúster. Si deseas usar una cuenta de almacenamiento específica, crea una clase de almacenamiento personalizada.

Configura 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.

Azure Disk Storage (AzureDisk)

GKE en Azure administra los volúmenes de Azure Disk con el azuredisk-csi-driver.

La versión del controlador de CSI está vinculada a una versión de GKE en Azure Kubernetes. Cuando actualizas la versión del clúster, GKE en Azure actualiza la versión del controlador de manera 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 GKE en Azure. No se admite el tipo de volumen kubernetes.io/azure-disk heredado de Kubernetes.

El controlador preinstalado con GKE en Azure proporciona los siguientes StorageClass de forma predeterminada:

  • standard-rwo (opción predeterminada): Se usa para aprovisionar discos SSD estándar de Azure con LRS.
  • premium-rwo: Se usa para aprovisionar discos SSD premium de Azure con LRS.

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

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.

Clonación de volúmenes

Puedes usar la clonación de volúmenes de CSI para clonar los volúmenes existentes de Azure Disk. Para obtener más información, consulta el ejemplo de clonación de volúmenes.

Cambio de tamaño de volúmenes

Puedes cambiar el tamaño de los volúmenes de Azure Disk no conectados con el cambio de tamaño de volúmenes. Para obtener más información, consulta el ejemplo del cambio de tamaño de volúmenes. No se admite el cambio de tamaño mientras el volumen está conectado y activado.

Discos compartidos de Azure

Para las cargas de trabajo diseñadas con el fin de coordinar las operaciones de escritura en un disco en bloque sin procesar compartido, GKE en Azure admite discos compartidos de Azure. Para obtener más información, consulta Discos compartidos (ReadWrite de varios nodos) en la documentación de CSI del disco de Azure.

Azure File Storage (AzureFile)

GKE en Azure administra los volúmenes de Azure Files con el azurefile-csi-driver

El controlador de CSI está vinculado a una versión de GKE en Azure Kubernetes. 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 Azure. No se admite el tipo de volumen kubernetes.io/azure-file heredado de Kubernetes.

El controlador preinstalado con GKE en Azure proporciona los siguientes StorageClass de forma predeterminada:

  • standard-rwx: Se usa para aprovisionar archivos SSD estándar con archivos compartidos de Azure con LRS
  • premium-rwx: Se usa para aprovisionar archivos SSD premium con archivos compartidos de Azure con LRS

Los volúmenes de archivos de Azure usan el modo de acceso ReadWriteMany de Kubernetes.

Instantáneas de volumen

Puedes usar el recurso VolumeSnapshot para crear instantáneas de volúmenes de Azure File. Para obtener más información, consulta la documentación de la función de instantánea de archivo de Azure. Para restablecer una instantánea, usa el portal de Azure. Si deseas obtener más información, consulta Descripción general de las instantáneas para compartir de Azure Files.

Cambio de tamaño de volúmenes

Puedes cambiar el tamaño de los volúmenes de Azure File con el cambio de tamaño de volumen. Para obtener más información, consulta el ejemplo del cambio de tamaño de volúmenes.

Controladores de almacenamiento adicionales

Otros sistemas de almacenamiento de terceros se pueden usar con GKE en Azure a través de controladores de la interfaz de almacenamiento de contenedores (CSI) de terceros (recomendado) o complementos de volumen de árbol de Kubernetes.

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 CSI de Kubernetes. GKE en Azure 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 Azure

Los siguientes controladores de volumen se pueden usar con GKE en Azure:

GKE en Azure no administra el almacenamiento de Blob de Azure directamente. Puedes instalar el controlador de CSI blob-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