Descripción general del almacenamiento
Crea almacenamiento persistente para cargas de trabajo que se ejecutan en GKE en Azure con objetos de Kubernetes.
Almacenamiento del plano de control
Cuando se crea un clúster, GKE en Azure aprovisiona discos SSD LRS Premium para el plano de control y los volúmenes etcd.
Utilice almacenamiento persistente en sus cargas de trabajo de GKE en Azure
En GKE en Azure, se usan 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 Azure.
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 Azure Disk Storage (AzureDisk). También puede 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 al crear un clúster. Si desea usar una cuenta de almacenamiento específica, cree una clase de almacenamiento personalizada .
Configurar el almacenamiento en clúster
Si desea aprovisionar volúmenes de almacenamiento con una StorageClass distinta a la predeterminada, puede crear una nueva StorageClass en un clúster que utilice parámetros o un controlador de almacenamiento diferente. A continuación, puede establecer la StorageClass como la predeterminada del clúster o configurar sus cargas de trabajo para que la utilicen. Por ejemplo, puede usar un StatefulSet para establecer un nombre específico para la StorageClass.
Almacenamiento en disco de Azure (AzureDisk)
GKE en Azure administra los volúmenes de Azure Disk Drive con azuredisk-csi-driver
.
La versión del controlador CSI está vinculada a una versión de GKE en Azure Kubernetes. Al actualizar la versión del clúster, GKE en Azure actualiza automáticamente la versión del controlador. Esta versión suele ser la más reciente disponible al momento del lanzamiento de la versión de GKE en Azure. El tipo de volumen heredado de Kubernetes, kubernetes.io/azure-disk
no es compatible.
El controlador preinstalado con GKE en Azure proporciona las siguientes clases de almacenamiento de forma predeterminada:
-
standard-rwo
(predeterminado): se utiliza para aprovisionar discos SSD estándar de Azure con LRS -
premium-rwo
: se utiliza para aprovisionar discos SSD premium de Azure con LRS
Los volúmenes de disco de Azure admiten el modo de acceso ReadWriteOnce de Kubernetes.
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.
Clonación de volumen
Puede usar la clonación de volúmenes CSI para clonar volúmenes de Azure Disk existentes. Para obtener más información, consulte el ejemplo de clonación de volúmenes .
Cambio de tamaño del volumen
Puede redimensionar volúmenes de Azure Disk sin conectar mediante el ajuste de tamaño de volumen. Para obtener más información, consulte el ejemplo de cambio de tamaño de volumen . No se permite redimensionar mientras el volumen está conectado y montado.
Discos compartidos de Azure
Para las cargas de trabajo diseñadas para coordinar escrituras en un disco de bloques sin procesar compartido, GKE en Azure admite discos compartidos de Azure . Para obtener más información, consulte Disco compartido (lectura y escritura multinodo) en la documentación de CSI de discos de Azure.
Almacenamiento de archivos de Azure (AzureFile)
GKE en Azure administra volúmenes de Azure Files con azurefile-csi-driver
El controlador CSI está vinculado a una versión de GKE en Azure 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 Azure. El tipo de volumen heredado de Kubernetes, kubernetes.io/azure-file
no es compatible.
El controlador preinstalado con GKE en Azure proporciona las siguientes clases de almacenamiento de forma predeterminada:
- standard-rwx: se utiliza para aprovisionar recursos compartidos de archivos SSD estándar de Azure con LRS
- premium-rwx: se utiliza para aprovisionar recursos compartidos de archivos SSD premium de Azure con LRS
Los volúmenes de archivos de Azure utilizan el modo de acceso ReadWriteMany de Kubernetes.
Instantáneas de volumen
Puede usar el recurso VolumeSnapshot para crear instantáneas de volúmenes de Azure Files. Para obtener más información, consulte la documentación de la característica Instantáneas de Azure Files . Para restaurar una instantánea, use Azure Portal. Para obtener más información, consulte Información general sobre las instantáneas de recursos compartidos para Azure Files .
Cambio de tamaño del volumen
Puede cambiar el tamaño de los volúmenes de archivos de Azure con el ajuste de tamaño de volumen. Para obtener más información, consulte el ejemplo de ajuste de tamaño de volumen .
Controladores de almacenamiento adicionales
Se pueden usar otros sistemas de almacenamiento de terceros con GKE en Azure 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 de CSI en la Documentación para Desarrolladores de CSI de Kubernetes . GKE en Azure 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 que usen la clase de almacenamiento del controlador o establecerla 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 administra Azure Blob Storage directamente. Puedes instalar manualmente el controlador CSI blob-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?
- Obtenga información sobre el uso de StorageClasses con sus cargas de trabajo .
- Importar un volumen de disco de Azure preexistente en GKE en Azure .
- Lea la documentación del controlador CSI de disco de Azure o del controlador CSI de archivos de Azure .
- Obtenga información sobre las instantáneas de volumen en GKE .
- Lea la documentación de clases de almacenamiento de Kubernetes.
- Lea el anuncio del lanzamiento de la interfaz de almacenamiento de contenedores .