Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Creación de una clase de almacenamiento

Modo de enfoque
Creación de una clase de almacenamiento - Amazon EKS

Ayude a mejorar esta página

Para contribuir a esta guía del usuario, elija el enlace Edit this page on GitHub que se encuentra en el panel derecho de cada página.

Ayude a mejorar esta página

Para contribuir a esta guía del usuario, elija el enlace Edit this page on GitHub que se encuentra en el panel derecho de cada página.

Una StorageClass en el modo automático de EKS define cómo se aprovisionan automáticamente los volúmenes de Amazon EBS cuando las aplicaciones solicitan almacenamiento persistente. En esta página se explica cómo crear y configurar una StorageClass que funcione con el modo automático de Amazon EKS para aprovisionar volúmenes de EBS.

Al configurar una StorageClass, puede especificar la configuración predeterminada para los volúmenes de EBS, incluidos el tipo de volumen, el cifrado, las IOPS y otros parámetros de almacenamiento. También puede configurar StorageClass para que utilice claves de AWS KMS para la administración del cifrado.

El modo automático de EKS no crea una StorageClass en su nombre. Debe crear una StorageClass que haga referencia a ebs.csi.eks.amazonaws.com para utilizar la capacidad de almacenamiento del modo automático de EKS.

Primero, cree un archivo denominado storage-class.yaml:

apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: auto-ebs-sc annotations: storageclass.kubernetes.io/is-default-class: "true" provisioner: ebs.csi.eks.amazonaws.com volumeBindingMode: WaitForFirstConsumer parameters: type: gp3 encrypted: "true"

En segundo lugar, aplique la clase de almacenamiento al clúster.

kubectl apply -f storage-class.yaml

Componentes principales:

  • provisioner: ebs.csi.eks.amazonaws.com: utiliza el modo automático de EKS

  • volumeBindingMode: WaitForFirstConsumer: retrasa la creación del volumen hasta que un pod lo necesite

  • type: gp3: especifica el tipo de volumen de EBS

  • encrypted: "true": EBS cifrará todos los volúmenes creados con la StorageClass. EBS utilizará el alias de clave de aws/ebs predeterminado. Para obtener más información, consulte Cómo funciona el cifrado de Amazon EBS en la Guía del usuario de Amazon EBS. Este valor es opcional, pero recomendado.

  • storageclass.kubernetes.io/is-default-class: "true": Kubernetes utilizará esta clase de almacenamiento de forma predeterminada, a menos que se especifique una clase de volumen diferente en una reclamación de volumen persistente. Este valor es opcional. Tenga cuidado al establecer este valor si va a migrar desde un controlador de almacenamiento diferente.

Utilice una clave de KMS autoadministrada para cifrar los volúmenes de EBS

Para utilizar una clave de KMS autoadministrada para cifrar los volúmenes de EBS automatizados mediante el modo automático de EKS, deberá:

  1. Crear una clave de KMS autoadministrada.

  2. Cree una nueva política que permita el acceso a la clave de KMS.

    • Utilice la política de IAM de muestra que aparece a continuación para crear la política. Inserte el ARN de la nueva clave de KMS autoadministrada. Para obtener más información, consulte Cómo crear roles y asociar políticas (consola) en la Guía de usuario de IAM AWS.

  3. Asocie la política al rol de clúster de EKS.

    • Utilice la consola de AWS para buscar el ARN del rol de clúster de EKS. La información del rol aparece en la sección Descripción general. Para obtener más información, consulte Rol de IAM del clúster de Amazon EKS.

  4. Actualice la StorageClass de modo que haga referencia al ID de la clave de KMS en el campo parameters.kmsKeyId.

Ejemplo de política de IAM de KMS autoadministrada

Actualice los siguientes valores de la política que aparece a continuación:

  • <account-id>: el ID de la cuenta de AWS, como 111122223333

  • <aws-region>: la región de AWS del clúster, como us-west-2

{ "Version": "2012-10-17", "Id": "key-auto-policy-3", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<account-id>:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access through EBS for all principals in the account that are authorized to use EBS", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:CallerAccount": "<account-id>", "kms:ViaService": "ec2.<aws-region>.amazonaws.com" } } } ] }

Ejemplo de StorageClass de KMS autoadministrada

parameters: type: gp3 encrypted: "true" kmsKeyId: <custom-key-arn>

Referencia de los parámetros de StorageClass

Para obtener información general sobre los recursos de StorageClass de Kubernetes, consulte Clases de almacenamiento en la documentación de Kubernetes.

La sección parameters del recurso StorageClass es específica de AWS. Utilice la siguiente tabla para revisar las opciones disponibles.

Parámetros Valores Predeterminado/a Descripción

“csi.storage.k8s.io/fstype”

xfs, ext2, ext3, ext4

ext4

Tipo de sistema de archivos que se formateará durante la creación del volumen. Este parámetro distingue entre mayúsculas y minúsculas.

“tipo”

io1, io2, gp2, gp3, sc1, st1, standard, sbp1, sbg1

gp3

Tipo de volumen de EBS.

“iopsPerGB”

Operaciones de E/S por segundo por GiB. Se puede especificar para los volúmenes IO1, IO2 y GP3.

“allowAutoIOPSPerGBIncrease”

true, false

false

Si es "true", el controlador CSI aumenta las IOPS de un volumen si iopsPerGB * <volume size> es demasiado bajo para ajustarse en el rango de IOPS admitido por AWS. Esto permite que el aprovisionamiento dinámico siempre se realice correctamente, incluso si el usuario especifica una capacidad de PVC o un valor de iopsPerGB demasiado bajo. Por otro lado, esto puede generar costos adicionales, ya que dichos volúmenes tienen IOPS más altas que las solicitadas en iopsPerGB.

“iops”

Operaciones de E/S por segundo. Se puede especificar para los volúmenes IO1, IO2 y GP3.

“rendimiento”

125

El rendimiento se indica en MB/s. Solo es efectivo cuando se especifica el tipo de volumen gp3.

“cifrado”

true, false

false

Especifica si el volumen debe estar cifrado o no. Los valores válidos son “verdadero” o “falso”.

“blockExpress”

true, false

false

Habilita la creación de volúmenes io2 Block Express.

“kmsKeyId”

El ARN completo de la clave que se va a utilizar al cifrar el volumen. Si no se especifica, AWS utilizará la clave de KMS predeterminada para la región en la que se encuentra el volumen. Será una clave generada automáticamente y se llamará /aws/ebs, si no se modifica.

“blockSize”

El tamaño del bloque que se utilizará al formatear el sistema de archivos subyacente. Solo se admite en nodos de Linux y con fstype ext2, ext3, ext4 o xfs.

“inodeSize”

El tamaño del nodo de índice que se utilizará al formatear el sistema de archivos subyacente. Solo se admite en nodos de Linux y con fstype ext2, ext3, ext4 o xfs.

“bytesPerInode”

Los bytes-per-inode que se utilizarán al formatear el sistema de archivos subyacente. Solo se admite en nodos de Linux y con fstype ext2, ext3 y ext4.

“numberOfInodes”

Los number-of-inodes que se utilizarán al formatear el sistema de archivos subyacente. Solo se admite en nodos de Linux y con fstype ext2, ext3 y ext4.

“ext4BigAlloc”

true, false

false

Cambia el sistema de archivos ext4 de modo que utilice la asignación de bloques en clústeres, para lo que habilita la opción de formateo bigalloc. Advertencia: es posible que bigalloc no sea completamente compatible con el núcleo de Linux del nodo.

“ext4ClusterSize”

El tamaño del clúster que se utilizará al formatear un sistema de archivos ext4cuando la característica bigalloc esté habilitada. Nota: El parámetro ext4BigAlloc debe estar establecido en “verdadero”.

Para obtener más información, consulte Controlador de CSI de AWS EBS en GitHub.

Consideraciones

La capacidad de almacenamiento en bloques del modo automático de EKS es diferente a la del controlador de CSI de EBS.

  • Aprovisionamiento estático

    • Si desea utilizar volúmenes de EBS creados externamente con el modo automático de EKS, tendrá que agregar manualmente una etiqueta eks:eks-cluster-name con la clave AWS y el valor del nombre del clúster.

  • Taint de inicio de nodos

    • No puede usar la característica de taint de inicio de nodos para evitar la programación de pods antes de que la capacidad de almacenamiento esté lista.

  • Etiquetas personalizadas en volúmenes aprovisionados dinámicamente

    • No puede utilizar la marca de la CLI de etiquetas adicionales para configurar etiquetas personalizadas en volúmenes de EBS aprovisionados dinámicamente

    • Puede utilizar el etiquetado de StorageClass para agregar etiquetas personalizadas. El modo automático de EKS agregará etiquetas a los recursos de AWS asociados. Deberá actualizar el rol de IAM del clúster para las etiquetas personalizadas. Para obtener más información, consulte Etiquetas personalizadas de AWS para los recursos del modo automático de EKS.

  • Métricas de rendimiento detalladas de EBS

    • No puede acceder a las métricas de Prometheus para obtener el rendimiento detallado de EBS

Instale el complemento de controlador de instantáneas de CSI

El modo automático de EKS es compatible con el complemento de Amazon EKS de controlador de instantáneas de CSI.

AWS sugiere configurar este complemento para que se ejecute en el grupo de nodos del system integrado.

Para obtener más información, consulte:

Para instalar el controlador de instantáneas en el grupo de nodos del sistema

  1. Abra el clúster de EKS en la consola de AWS

  2. En la pestaña Complementos, seleccione Obtener más complementos

  3. Seleccione el Controlador de instantáneas de CSI y luego Siguiente

  4. En la página Configuración de los ajustes de los complementos seleccionados, seleccione Ajustes de configuración opcionales para ver el Esquema de configuración del complemento

    1. Inserte el siguiente yaml para asociar el controlador de instantáneas al grupo de nodos del system. El controlador de instantáneas incluye una tolerancia a la taint CriticalAddonsOnly.

      { "nodeSelector": { "karpenter.sh/nodepool": "system" } }
    2. Seleccione Siguiente.

  5. Revise la configuración del complemento y, a continuación, seleccione Crear

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.