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

Acceso a los objetos de Amazon S3 mediante Mountpoint para Amazon S3 con el controlador CSI

Modo de enfoque
Acceso a los objetos de Amazon S3 mediante Mountpoint para Amazon S3 con el controlador CSI - 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.

Con el controlador de interfaz de almacenamiento de contenedores (CSI) de Mountpoint para Amazon S3, las aplicaciones de Kubernetes pueden acceder a los objetos de Amazon S3 a través de una interfaz de sistema de archivos, lo que permite lograr un rendimiento total alto sin cambiar códigos de aplicaciones. Basado en Mountpoint para Amazon S3, el controlador de CSI presenta un bucket de Amazon S3 como un volumen al que se puede acceder mediante contenedores de Amazon EKS y clústeres autoadministrados de Kubernetes. En este tema se muestra cómo implementar el controlador de CSI de Mountpoint para Amazon S3 en su clúster de Amazon EKS.

Consideraciones

  • El controlador de CSI de Mountpoint para Amazon S3 no es compatible con imágenes de contenedor basadas en Windows.

  • El controlador de CSI de Mountpoint para Amazon S3 no es compatible actualmente con los Nodos híbridos de Amazon EKS.

  • El controlador de CSI de Mountpoint para Amazon S3 no es compatible con AWS Fargate. Sin embargo, se admiten los contenedores que se ejecutan en Amazon EC2 (ya sea con Amazon EKS o con una instalación personalizada de Kubernetes).

  • El controlador de CSI de Mountpoint para Amazon S3 solo admite el aprovisionamiento estático. No se admite el aprovisionamiento dinámico o la creación de nuevos buckets.

    nota

    El aprovisionamiento estático se refiere al uso de un bucket de Amazon S3 existente que se especifica como bucketName en el volumeAttributes del objeto PersistentVolume. Para obtener más información, consulte Static Provisioning en GitHub.

  • Los volúmenes montados con el controlador de CSI de Mountpoint para Amazon S3 no admiten todas las características del sistema de archivos POSIX. Para obtener más información sobre el comportamiento del sistema de archivos, consulte Mountpoint for Amazon S3 file system behavior en GitHub.

Requisitos previos

  • Un proveedor existente de OpenID Connect (OIDC) de AWS Identity and Access Management (IAM) para su clúster. Para determinar si ya tiene un proveedor o para crear uno, consulte Crear un proveedor de OIDC de IAM para su clúster.

  • La versión 2.12.3 o posterior de AWS CLI instalada y configurada en su dispositivo o AWS CloudShell.

  • La herramienta de línea de comandos de kubectl está instalada en su dispositivo o AWS CloudShell. La versión puede ser la misma o hasta una versión secundaria anterior o posterior a la versión de Kubernetes de su clúster. Por ejemplo, si la versión del clúster es 1.29, puede usar la versión 1.28, 1.29 o 1.30 de kubectl con él. Para instalar o actualizar kubectl, consulte Configuración de kubectl y eksctl.

Creación de una política de IAM

El controlador de CSI de Mountpoint para Amazon S3 requiere permisos de Amazon S3 para interactuar con el sistema de archivos. En esta sección se muestra cómo crear una política de IAM que conceda los permisos necesarios.

El siguiente ejemplo de política sigue las recomendaciones de permisos de IAM para Mountpoint. Como alternativa, puede utilizar la política administrada de AWS AmazonS3FullAccess, pero esta política administrada concede más permisos de los necesarios para Mountpoint.

Para obtener más información sobre los permisos recomendados por Mountpoint, consulte Mountpoint IAM permissions en GitHub.

  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación izquierdo, elija Policies (Políticas).

  3. En la página Políticas, seleccione Crear una política.

  4. En el editor de políticas, seleccione JSON.

  5. En el editor de políticas, copie y pegue lo siguiente:

    importante

    Reemplace amzn-s3-demo-bucket1 por el nombre de su bucket de Amazon S3.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "MountpointFullBucketAccess", "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1" ] }, { "Sid": "MountpointFullObjectAccess", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:AbortMultipartUpload", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*" ] } ] }

    Los buckets de directorio, introducidos con la clase de almacenamiento Amazon S3 Express One Zone, utilizan un mecanismo de autenticación diferente al de los buckets de uso general. En lugar de utilizar acciones s3:*, debe utilizar la acción s3express:CreateSession. Para más información sobre los buckets de directorio, consulte Buckets de directorio en la Guía de usuario de Amazon S3.

    A continuación, se muestra un ejemplo de política de privilegios mínimos que utilizaría para un bucket de directorios.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3express:CreateSession", "Resource": "arn:aws:s3express:us-west-2:111122223333:bucket/amzn-s3-demo-bucket1--usw2-az1--x-s3" } ] }
  6. Elija Siguiente.

  7. En la página Revisar y crear, asigne un nombre a la política. En este tutorial de ejemplo se utiliza el nombre AmazonS3CSIDriverPolicy.

  8. Seleccione Crear política.

Creación de un rol de IAM

El controlador de CSI de Mountpoint para Amazon S3 requiere permisos de Amazon S3 para interactuar con el sistema de archivos. En esta sección se muestra cómo crear un rol de IAM para delegar estos permisos. Para crear este rol, puede utilizar una de las siguientes herramientas:

nota

La política de IAM AmazonS3CSIDriverPolicy se creó en la sección anterior.

eksctl

Creación del rol de IAM del controlador de CSI de Mountpoint para Amazon S3 con eksctl

Para crear el rol de IAM y la cuenta de servicio de Kubernetes, ejecute los siguientes comandos. Estos comandos también asocian la política de IAM AmazonS3CSIDriverPolicy al rol, anotan la cuenta de servicio de Kubernetes (s3-csi-controller-sa) con el Nombre de recurso de Amazon (ARN) del rol de IAM y agregan el nombre de la cuenta de servicio de Kubernetes a la política de confianza correspondiente al rol de IAM.

CLUSTER_NAME=my-cluster REGION=region-code ROLE_NAME=AmazonEKS_S3_CSI_DriverRole POLICY_ARN=AmazonEKS_S3_CSI_DriverRole_ARN eksctl create iamserviceaccount \ --name s3-csi-driver-sa \ --namespace kube-system \ --cluster $CLUSTER_NAME \ --attach-policy-arn $POLICY_ARN \ --approve \ --role-name $ROLE_NAME \ --region $REGION \ --role-only

AWS Management Console

  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación izquierdo, elija Roles.

  3. En la página Roles, elija Crear rol.

  4. En la página Seleccionar entidad de confianza, haga lo siguiente:

    1. En la sección Tipo de entidad de confianza, elija Identidad web.

    2. Para Identity provider (Proveedor de identidades), elija OpenID Connect provider URL (URL del proveedor de OpenID Connect) para el clúster, como se muestra en Overview (Resumen) en Amazon EKS.

      Si no se muestra ninguna URL, consulte la sección Requisitos previos.

    3. En Audiencia, elija sts.amazonaws.com.

    4. Elija Siguiente.

  5. En la página Agregar permisos, haga lo siguiente:

    1. En el cuadro Filtrar políticas, ingrese AmazonS3CSIDriverPolicy.

      nota

      Esta política se creó en la sección anterior.

    2. Marque la casilla situada a la izquierda del resultado de AmazonS3CSIDriverPolicy que obtuvo en la búsqueda.

    3. Elija Siguiente.

  6. En la página Nombrar, revisar y crear, haga lo siguiente:

    1. En Nombre del rol, ingrese un nombre único para su rol, por ejemplo, AmazonEKS_S3_CSI_DriverRole.

    2. En Agregar etiquetas (Opcional), de manera opcional, agregue metadatos al rol asociando etiquetas como pares de clave-valor. Para obtener más información sobre el uso de etiquetas en IAM, consulte Etiquetado de recursos de IAM en la Guía de usuario de IAM.

    3. Elija Creación de rol.

  7. Una vez creado el rol, seleccione el rol en la consola para abrirlo y editarlo.

  8. Elija la pestaña Relaciones de confianza y, a continuación, Editar política de confianza.

  9. Busque la línea que se parezca a la siguiente:

    "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com"

    Agregue una coma al final de la línea anterior y, luego, agregue la siguiente línea después de esta. Reemplace region-code por la región de AWS en la que se encuentra el clúster. Reemplace EXAMPLED539D4633E53DE1B71EXAMPLE con el ID de proveedor de OIDC de su clúster.

    "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:kube-system:s3-csi-driver-sa"
  10. Asegúrese de que el operador Condition esté configurado en "StringEquals".

  11. Elija Actualizar política para terminar.

AWS CLI

  1. Vea la URL del proveedor de OIDC para su clúster. Reemplace my-cluster por el nombre de su clúster. Si la salida del comando es None, revise los Requisitos previos.

    aws eks describe-cluster --name my-cluster --query "cluster.identity.oidc.issuer" --output text

    Un ejemplo de salida sería el siguiente.

    https://oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE
  2. Cree el rol de IAM otorgándole a la cuenta de servicio de Kubernetes la acción AssumeRoleWithWebIdentity.

    1. Copie los siguientes contenidos en un archivo denominado aws-s3-csi-driver-trust-policy.json. Reemplace 111122223333 por el ID de su cuenta. Reemplace EXAMPLED539D4633E53DE1B71EXAMPLE y region-code por los valores que se devolvieron en el paso anterior.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:sub": "system:serviceaccount:kube-system:s3-csi-driver-sa", "oidc.eks.region-code.amazonaws.com/id/EXAMPLED539D4633E53DE1B71EXAMPLE:aud": "sts.amazonaws.com" } } } ] }
    2. Creación del rol. Puede cambiar el nombre de AmazonEKS_S3_CSI_DriverRole, pero si lo hace, asegúrese de cambiarlo también en los pasos posteriores.

      aws iam create-role \ --role-name AmazonEKS_S3_CSI_DriverRole \ --assume-role-policy-document file://"aws-s3-csi-driver-trust-policy.json"
  3. Cree un rol de IAM y adjunte la política de IAM creada previamente al rol con el siguiente comando.

    aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonS3CSIDriverPolicy \ --role-name AmazonEKS_S3_CSI_DriverRole
    nota

    La política de IAM AmazonS3CSIDriverPolicy se creó en la sección anterior.

  4. Omita este paso si va a instalar el controlador como complemento de Amazon EKS. Para las instalaciones autoadministradas del controlador, cree cuentas de servicio de Kubernetes que estén anotadas con el ARN del rol de IAM que creó.

    1. Guarde los siguientes contenidos en un archivo llamado mountpoint-s3-service-account.yaml. Reemplace 111122223333 por el ID de su cuenta.

      --- apiVersion: v1 kind: ServiceAccount metadata: labels: app.kubernetes.io/name: aws-mountpoint-s3-csi-driver name: mountpoint-s3-csi-controller-sa namespace: kube-system annotations: eks.amazonaws.com/role-arn: arn:aws:iam::111122223333:role/AmazonEKS_S3_CSI_DriverRole
    2. Cree la cuenta de servicio de Kubernetes en el clúster. La cuenta de servicio de Kubernetes (mountpoint-s3-csi-controller-sa) está anotada con el rol de IAM que creó con el nombre AmazonEKS_S3_CSI_DriverRole.

      kubectl apply -f mountpoint-s3-service-account.yaml
      nota

      Cuando implementa el complemento en este procedimiento, crea una cuenta de servicio que se llama s3-csi-driver-sa y se configura para utilizarla.

Instalación del controlador de CSI de Mountpoint para Amazon S3

Puede instalar el controlador de CSI de Mountpoint para Amazon S3 a través del complemento de Amazon EKS. Puede usar las herramientas a continuación para agregar el complemento a su clúster:

Como alternativa, puede instalar el controlador de CSI de Mountpoint para Amazon S3 como instalación autoadministrada. Para obtener instrucciones sobre cómo efectuar una instalación autoadministrada, consulte Installation en GitHub.

A partir de la versión v1.8.0, es posible configurar taints para tolerar los pods del controlador de CSI. Para ello, especifique un conjunto personalizado de taints para tolerar con node.tolerations o tolere todas las taints con node.tolerateAllTaints. Para obtener más información, consulte Taints y toleraciones en la documentación de Kubernetes.

eksctl

Agregar el complemento CSI de Amazon S3 con eksctl

Ejecute el siguiente comando de la . Reemplace my-cluster por el nombre del clúster, 111122223333 por el ID de cuenta y AmazonEKS_S3_CSI_DriverRole por el nombre del rol de IAM creado anteriormente.

eksctl create addon --name aws-mountpoint-s3-csi-driver --cluster my-cluster \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKS_S3_CSI_DriverRole --force

Si quita la opción --force y cualquiera de las configuraciones del complemento de Amazon EKS entran en conflicto con la configuración existente, se produce un error al actualizar el complemento de Amazon EKS y recibe un mensaje de error para ayudarlo a resolver el conflicto. Antes de especificar esta opción, asegúrese de que el complemento de Amazon EKS no administra la configuración que necesita administrar, ya que dicha configuración se sobrescribe con esta opción. Para obtener más información acerca de otras opciones para este ajuste, consulte Addons (Complementos) en la documentación de eksctl. Para obtener más información sobre el campo de administración de Kubernetes de Amazon EKS, consulte Determinación de los campos que se pueden personalizar para los complementos de Amazon EKS.

Puede personalizar eksctl mediante archivos de configuración. Para obtener más información, consulte Trabajar con valores de configuración en la documentación de eksctl. En el siguiente ejemplo se demuestra cómo tolerar todas las taints.

# config.yaml ... addons: - name: aws-mountpoint-s3-csi-driver serviceAccountRoleARN: arn:aws:iam::111122223333:role/AmazonEKS_S3_CSI_DriverRole configurationValues: |- node: tolerateAllTaints: true

AWS Management Console

  1. Abra la consola de Amazon EKS.

  2. En el panel de navegación izquierdo, elija Clusters (Clústeres).

  3. Seleccione el nombre del clúster para el cual desea configurar el complemento de CSI de Mountpoint para Amazon S3.

  4. Elija la pestaña Complementos.

  5. Escoja Obtener más complementos.

  6. En la página Seleccionar complementos, haga lo siguiente:

    1. En la sección Complementos de Amazon EKS, seleccione la casilla de verificación Controlador de CSI de Mountpoint para Amazon S3.

    2. Elija Siguiente.

  7. En la página Configurar las opciones de complementos seleccionados, haga lo siguiente:

    1. Seleccione la Versión que desea utilizar.

    2. En Seleccionar rol de IAM, seleccione el nombre de un rol de IAM al que le haya adjuntado la política de IAM del controlador de CSI de Mountpoint para Amazon S3.

    3. (Opcional) Actualice el método de resolución de conflictos después de ampliar los ajustes de configuración opcionales. Si selecciona Anular, es posible que una o varias configuraciones del complemento existente se sobrescriban con la configuración del complemento de Amazon EKS. Si no habilita esta opción y hay un conflicto con la configuración existente, la operación falla. Puede utilizar el mensaje de error resultante para solucionar el conflicto. Antes de seleccionar esta opción, asegúrese de que el complemento de Amazon EKS no administra las configuraciones que se necesitan autoadministrar.

    4. (Opcional) Configure las tolerancias en el campo Valores de configuración después de ampliar los ajustes de configuración opcionales.

    5. Elija Siguiente.

  8. En la página Revisar y añadir, elija Crear. Una vez finalizada la instalación del complemento, verá el complemento instalado.

AWS CLI

Adición del complemento de CSI de Mountpoint para Amazon S3 mediante la AWS CLI

Ejecute el siguiente comando de la . Reemplace my-cluster por el nombre del clúster, 111122223333 por el ID de cuenta y AmazonEKS_S3_CSI_DriverRole por el nombre del rol creado anteriormente.

aws eks create-addon --cluster-name my-cluster --addon-name aws-mountpoint-s3-csi-driver \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKS_S3_CSI_DriverRole

Puede personalizar el comando con la marca --configuration-values. El siguiente ejemplo alternativo muestra cómo tolerar todas las taints.

aws eks create-addon --cluster-name my-cluster --addon-name aws-mountpoint-s3-csi-driver \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKS_S3_CSI_DriverRole \ --configuration-values '{"node":{"tolerateAllTaints":true}}'

Configuración de Mountpoint para Amazon S3

En la mayoría de los casos, puede configurar Mountpoint para Amazon S3 solo con un nombre de bucket. Para obtener instrucciones sobre la configuración de Mountpoint para Amazon S3, consulte Configuring Mountpoint for Amazon S3 en GitHub.

Implementación de una aplicación de muestra

Puede implementar el aprovisionamiento estático en el controlador de un bucket de Amazon S3 existente. Para obtener más información, consulte Static provisioning en GitHub.

Eliminación del controlador de CSI de Mountpoint para Amazon S3

Tiene dos opciones al eliminar un complemento de Amazon EKS.

  • Conservar el software del complemento en el clúster: esta opción elimina la administración de Amazon EKS de cualquier configuración. También elimina la capacidad de Amazon EKS de notificarle las actualizaciones y actualizar de forma automática el complemento de Amazon EKS después de iniciar una actualización. Sin embargo, conserva el software del complemento en el clúster. Esta opción hace que la instalación sea autoadministrada, en lugar de un complemento de Amazon EKS. Con esta opción, no hay tiempo de inactividad para el complemento. Los comandos de este procedimiento utilizan esta opción.

  • Eliminar por completo el software del complemento del clúster: recomendamos que elimine el complemento de Amazon EKS del clúster solo si no hay recursos en el clúster que dependan de él. Para hacer esta opción, elimine --preserve del comando que utiliza en este procedimiento.

Si el complemento tiene una cuenta de IAM asociada, esta no se elimina.

Puede usar las herramientas a continuación para eliminar el complemento Amazon S3 CSI.

eksctl

Eliminar el complemento Amazon S3 CSI con eksctl

Reemplace my-cluster por el nombre de su clúster y ejecute el siguiente comando.

eksctl delete addon --cluster my-cluster --name aws-mountpoint-s3-csi-driver --preserve

AWS Management Console

  1. Abra la consola de Amazon EKS.

  2. En el panel de navegación izquierdo, elija Clusters (Clústeres).

  3. Elija el nombre del clúster para el que desea eliminar el complemento CSI de Amazon EBS.

  4. Elija la pestaña Complementos.

  5. Elija Controlador de CSI de Mountpoint para Amazon S3.

  6. Elija Eliminar.

  7. En el cuadro de diálogo de confirmación Eliminar: aws-mountpoint-s3-csi-driver, haga lo siguiente:

    1. Si desea que Amazon EKS deje de administrar la configuración del complemento, seleccione Conservar en clúster. Haga esto si desea retener el software del complemento en el clúster. Esto es para que pueda administrar todas las configuraciones del complemento por su cuenta.

    2. Escriba aws-mountpoint-s3-csi-driver.

    3. Seleccione Eliminar.

AWS CLI

Eliminar el complemento Amazon S3 CSI con la AWS CLI

Reemplace my-cluster por el nombre de su clúster y ejecute el siguiente comando.

aws eks delete-addon --cluster-name my-cluster --addon-name aws-mountpoint-s3-csi-driver --preserve
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.