Información general sobre el almacenamiento
Puedes crear almacenamiento persistente para 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 SSD Premium LRS para el plano de control y los volúmenes de etcd.
Usar almacenamiento persistente en cargas de trabajo de GKE en Azure
En GKE en Azure, se usan los recursos de Kubernetes PersistentVolume (PV), PersistentVolumeClaim (PVC) y StorageClass para proporcionar almacenamiento persistente de archivos y bloques a las cargas de trabajo. Puedes crear capturas de almacenamiento persistente con los recursos VolumeSnapshot y VolumeSnapshotClass. Las copias de seguridad se almacenan en tu cuenta de Azure.
StorageClass
Los clústeres tienen una StorageClass de Kubernetes predeterminada que aprovisiona de forma dinámica el almacenamiento con estado para las cargas de trabajo en volúmenes de Azure Disk Storage (AzureDisk). También puedes usar una 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 automáticamente una cuenta de almacenamiento de Azure cuando se crea un clúster. Si quieres usar una cuenta de almacenamiento específica, crea una clase de almacenamiento personalizada.
Configurar el almacenamiento del clúster
Si quieres aprovisionar volúmenes de almacenamiento con una StorageClass que no sea la predeterminada, puedes crear una StorageClass en un clúster que use parámetros o un controlador de almacenamiento diferentes. Después, puedes definir StorageClass como predeterminado del clúster o configurar tus cargas de trabajo para que usen StorageClass. Por ejemplo, puedes usar un StatefulSet para definir un nombre de StorageClass específico.
Azure Disk Storage (AzureDisk)
GKE en Azure gestiona 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 Kubernetes de GKE en Azure.
Cuando actualizas la versión de tu clúster, GKE en Azure actualiza automáticamente la versión del controlador. Normalmente, esta versión es el controlador más reciente disponible en el momento en que se publica la versión de GKE en Azure. No se admite el tipo de volumen kubernetes.io/azure-disk
de Kubernetes antiguo.
El controlador preinstalado con GKE en Azure proporciona las siguientes StorageClasses de forma predeterminada:
standard-rwo
(predeterminado): se usa para aprovisionar discos de Azure SSD estándar con LRS.premium-rwo
: se usa para aprovisionar discos de Azure SSD premium con LRS.
Los volúmenes de discos de Azure admiten el modo de acceso ReadWriteOnce de Kubernetes.
Capturas de volúmenes
Puedes usar el recurso VolumeSnapshot para crear capturas de volúmenes de almacenamiento. Después, puedes aprovisionar nuevos volúmenes persistentes a partir de estas capturas.
Clonación de volúmenes
Puedes usar la clonación de volúmenes de CSI para clonar volúmenes de discos de Azure. Para obtener más información, consulta el ejemplo de clonación de volúmenes.
Cambio de tamaño de los volúmenes
Puedes cambiar el tamaño de los volúmenes de discos de Azure no conectados con el cambio de tamaño de volumen. Para obtener más información, consulta el ejemplo de cambio de tamaño de volumen. No se puede cambiar el tamaño mientras el volumen está conectado y montado.
Discos compartidos de Azure
En el caso de las cargas de trabajo diseñadas para coordinar las escrituras en un disco de bloque sin formato compartido, GKE en Azure admite discos compartidos de Azure. Para obtener más información, consulta Disco compartido(lectura y escritura en varios nodos) en la documentación de CSI de disco de Azure.
Azure File Storage (AzureFile)
GKE en Azure gestiona los volúmenes de Azure Files con el controlador azurefile-csi-driver
.
El controlador de CSI está vinculado a una versión de Kubernetes de GKE en Azure. Cuando actualizas la versión de tu clúster, la nueva versión del controlador se aplica automáticamente.
Esta versión suele ser la versión más reciente del controlador disponible en el momento en que se lanza la versión de GKE en Azure. No se admite el tipo de volumen antiguo de Kubernetes
kubernetes.io/azure-file
.
El controlador preinstalado con GKE en Azure proporciona las siguientes StorageClasses de forma predeterminada:
- standard-rwx: se usa para aprovisionar sistemas de archivos compartidos de Azure SSD estándar con LRS.
- premium-rwx: se usa para aprovisionar sistemas de archivos compartidos de Azure SSD premium con LRS.
Los volúmenes de archivos de Azure usan el modo de acceso ReadWriteMany de Kubernetes.
Capturas de volúmenes
Puede usar el recurso VolumeSnapshot para crear capturas de volúmenes de Azure Files. Para obtener más información, consulta la documentación sobre la función de instantánea de archivos de Azure. Para restaurar una instantánea, usa Azure Portal. Para obtener más información, consulta Información general sobre las copias de un recurso compartido de Azure Files.
Cambio de tamaño de los volúmenes
Puedes cambiar el tamaño de los volúmenes de Azure Files con la función de cambio de tamaño de volumen. Para obtener más información, consulta el ejemplo de cambio de tamaño de volumen.
Controladores de almacenamiento adicionales
Otros sistemas de almacenamiento de terceros se pueden usar con GKE en Azure a través de controladores de interfaz de almacenamiento de contenedores (CSI) de terceros (opción recomendada) o de complementos de volumen de Kubernetes integrados.
Controladores 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. Puedes consultar una lista no exhaustiva de controladores de CSI en la documentación para desarrolladores de CSI de Kubernetes. GKE en Azure admite CSI v1.x.
Para usar un controlador de CSI en tu clúster, debes instalar el controlador de CSI que te proporcione tu proveedor de almacenamiento. Después, puedes configurar las cargas de trabajo para que usen la clase de almacenamiento del controlador o definirla como la clase de almacenamiento predeterminada.
Controladores de almacenamiento específicos de Azure
Los siguientes controladores de volumen se pueden usar con GKE en Azure:
GKE en Azure no gestiona directamente el almacenamiento de blobs de Azure. Puedes instalar manualmente el controlador CSI de blob-csi-driver
, pero Google no ofrece asistencia.
Complementos de volumen de Kubernetes
Kubernetes incluye plugins de volumen integrados. Entre los controladores incluidos en el árbol, se encuentran los siguientes:
- configMap
- emptyDir
- hostPath
- nfs
- previsto
- secretos
Siguientes pasos
- Consulta información sobre cómo usar StorageClasses con tus cargas de trabajo.
- Importar un volumen de disco de Azure ya creado en GKE en Azure.
- Consulta la documentación del controlador de CSI de disco de Azure o del controlador de CSI de archivo de Azure.
- Consulta información sobre las instantáneas de volúmenes en GKE.
- Consulta la documentación de clases de almacenamiento de Kubernetes.
- Lee el anuncio de lanzamiento de la interfaz de almacenamiento de contenedores.