Instala controladores de almacenamiento

En este tema, se explica cómo instalar un controlador de almacenamiento de la interfaz de almacenamiento de contenedores (CSI) en tus clústeres.

Descripción general

De forma predeterminada, los clústeres de Anthos en AWS aprovisiona volúmenes de EBS de AWS con la StorageClass predeterminada. Si tus cargas de trabajo necesitan usar otro tipo de volumen de almacenamiento, puedes instalar un controlador de CSI compatible para proporcionar acceso a este.

Container Storage Interface (CSI) es una API estándar abierta que brinda a las cargas de trabajo de Kubernetes acceso a sistemas de almacenamiento compatibles. CSI también permite el uso de características modernas de almacenamiento, como el cambio de tamaño y las instantáneas.

Después de instalar un controlador de CSI, debes crear un StorageClass de Kubernetes. Establece el controlador de CSI como aprovisionador para el StorageClass. Luego, puedes configurar el StorageClass como predeterminado o configurar tus cargas de trabajo para que usen el StorageClass. Para ver un ejemplo de cómo crear un StatefulSet con un recurso StorageClass personalizado, consulta Usa recursos StorageClass con tus cargas de trabajo.

Instala el controlador de CSI de un proveedor

Los proveedores de almacenamiento son responsables de proporcionar instrucciones de instalación para sus controladores de CSI. Consulta la lista de controladores de CSI en la documentación de CSI.

Sigue las instrucciones de instalación del controlador de CSI y, luego, continúa con los siguientes pasos de esta página.

Verifica la instalación del controlador

Después de instalar un controlador de CSI, puedes verificar la instalación mediante la ejecución de los siguientes comandos.

kubectl get csinodes \
  -o jsonpath='{range .items[*]} {.metadata.name}{": "} {range .spec.drivers[*]} {.name}{"\n"} {end}{end}'

Cómo usar un controlador de CSI

Para usar un controlador CSI, sigue estos pasos:

  1. Crea una StorageClass personalizada que haga referencia al controlador en su campo provisioner.

  2. Para aprovisionar almacenamiento, puedes hacer lo siguiente:

Consideraciones para un StorageClass respaldado por un controlador de CSI

Cuando crees una StorageClass, ten en cuenta lo siguiente:

  • Revisa la documentación de tu controlador de CSI para ver los parámetros específicos del controlador que proporcionas al StorageClass, incluido el nombre del aprovisionador.

  • Debes llamar al StorageClass según sus propiedades (como fast o highly-replicated), en lugar de por el nombre del controlador o dispositivo específico detrás de ella. Cuando le asignas un nombre a un StorageClass según sus propiedades, puedes crear StorageClasses con el mismo nombre en diferentes clústeres y entornos. Luego, configura tus cargas de trabajo para usar el mismo StorageClass.

¿Qué sigue?

  • Crea una StorageClass que haga referencia al controlador de CSI.