Administración del controlador de CSI de Amazon EBS como complemento de Amazon EKS - Amazon EKS

Administración del controlador de CSI de Amazon EBS como complemento de Amazon EKS

Para mejorar la seguridad y reducir la cantidad de trabajo, puede administrar el controlador de CSI de Amazon EBS como un complemento de Amazon EKS. Para obtener más información sobre los complementos de Amazon EKS, consulte Complementos de Amazon EKS. Puede agregar el complemento CSI de Amazon EBS si sigue los pasos descritos en Agregar el controlador CSI de Amazon EBS.

Si ha agregado el complemento CSI de Amazon EBS, puede administrarlo si sigue los pasos de las secciones Actualización del controlador de CSI de Amazon EBS como complemento de Amazon EKS y Eliminar el complemento CSI de Amazon EBS.

Requisitos previos
  • Un clúster existente. Para ver la versión de plataforma requerida, ejecute el siguiente comando.

    aws eks describe-addon-versions --addon-name aws-ebs-csi-driver
  • Un proveedor OpenID Connect (OIDC) de AWS Identity and Access Management (IAM) existente para el clúster. Para determinar si ya tiene un proveedor o para crear uno, consulte Creación de un proveedor de OIDC de IAM para su clúster.

  • Un rol de IAM del controlador de CSI de Amazon EBS. Si no cumple este requisito previo, aparecerá failed to provision volume with StorageClass con un error could not create volume in EC2: UnauthorizedOperation al intentar instalar el complemento y ejecutar kubectl describe pvc. Para obtener más información, consulte Creación del rol de IAM del controlador de CSI de Amazon EBS.

  • Si usa una PodSecurityPolicy restringida a nivel de clúster, asegúrese de que el complemento tenga los permisos suficientes para implementarla. Para ver los permisos que necesita cada Pod del complemento, consulte la definición de manifiesto del complemento pertinente en GitHub.

importante

Para utilizar la funcionalidad de instantáneas del controlador CSI de Amazon EBS, debe instalar el capturador de instantáneas externo antes de instalar el complemento. Los componentes del capturador de instantáneas externo deben instalarse en el siguiente orden:

Para obtener más información, consulte Capturador de instantáneas de CSI en GitHub.

Agregar el controlador CSI de Amazon EBS

importante

Antes de añadir el controlador de Amazon EBS como complemento de Amazon EKS, confirme que no tiene una versión autogestionada del controlador instalada en su clúster. Si es así, consulte Desinstalar un controlador CSI autogestionado de Amazon EBS en GitHub.

Puede usar eksctl, el AWS Management Console o el AWS CLI para agregar el complemento CSI de Amazon EBS a su clúster.

eksctl
Para agregar el complemento CSI de Amazon EBS 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_EBS_CSI_DriverRole por el nombre del rol de IAM creado anteriormente. Si su clúster está en las Regiones de AWS AWS GovCloud (Este de EE. UU.) o AWS GovCloud (Oeste de EE. UU.), reemplace arn:aws: con arn:aws-us-gov:.

eksctl create addon --name aws-ebs-csi-driver --cluster my-cluster --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKS_EBS_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 la administración de campos de Amazon EKS deKubernetes, consulte  Administración de campos de Kubernetes.

AWS Management Console
Para agregar el complemento CSI de Amazon EBS con la AWS Management Console
  1. Abra la consola de Amazon EKS en https://console.aws.amazon.com/eks/home#/clusters.

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

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

  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 CSI de Amazon EBS.

    2. Elija Siguiente.

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

    1. Seleccione la Version (Versión) que desea utilizar.

    2. En Seleccionar rol de IAM, seleccione el nombre de un rol de IAM al que ha adjuntado la política de IAM del controlador CSI de Amazon EBS.

    3. (Opcional) Puede ampliar las Valores de configuración opcionales. Si selecciona Anular en Método de resolución de conflictos, una o varias de las configuraciones del complemento existente pueden sobrescribirse 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. 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
Para agregar el complemento CSI de Amazon EBS con 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_EBS_CSI_DriverRole por el nombre del rol creado anteriormente. Si su clúster está en las Regiones de AWS GovCloud de AWS (EE. UU. Este) o GovCloud de AWS (EE. UU. Oeste), sustituya arn:aws: con arn:aws-us-gov:.

aws eks create-addon --cluster-name my-cluster --addon-name aws-ebs-csi-driver \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKS_EBS_CSI_DriverRole

Ahora que ha agregado el controlador de CSI de Amazon EBS como complemento de Amazon EKS, puede continuar con Implemente una aplicación de muestra y verifique que el controlador CSI funciona. Este procedimiento incluye la configuración de la clase de almacenamiento.

Actualización del controlador de CSI de Amazon EBS como complemento de Amazon EKS

Amazon EKS no actualiza de forma automática CSI de Amazon EBS para el clúster cuando se lanzan versiones nuevas o después de actualizar el clúster a una versión nueva secundaria de Kubernetes. Para actualizar CSI de Amazon EBS en un clúster existente, debe iniciar la actualización y, a continuación, Amazon EKS actualiza el complemento en su nombre.

eksctl
Para actualizar el complemento CSI de Amazon EBS con eksctl
  1. Verifique la versión actual del complemento CSI de Amazon EBS. Reemplace my-cluster por el nombre del clúster.

    eksctl get addon --name aws-ebs-csi-driver --cluster my-cluster

    Un ejemplo de salida sería el siguiente.

    NAME VERSION STATUS ISSUES IAMROLE UPDATE AVAILABLE aws-ebs-csi-driver v1.11.2-eksbuild.1 ACTIVE 0 v1.11.4-eksbuild.1
  2. Actualice el complemento a la versión devuelta en UPDATE AVAILABLE en el resultado del paso anterior.

    eksctl update addon --name aws-ebs-csi-driver --version v1.11.4-eksbuild.1 --cluster my-cluster \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKS_EBS_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 la administración de campos de Amazon EKS deKubernetes, consulte  Administración de campos de Kubernetes.

AWS Management Console
Para actualizar el complemento CSI de Amazon EBS con la AWS Management Console
  1. Abra la consola de Amazon EKS en https://console.aws.amazon.com/eks/home#/clusters.

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

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

  4. Elija la pestaña Complementos.

  5. Elija Controlador CSI de Amazon EBS.

  6. Elija Editar.

  7. En la página Configurar el controlador CSI de Amazon EBS, haga lo siguiente:

    1. Seleccione la Version (Versión) que desea utilizar.

    2. En Seleccionar rol de IAM, seleccione el nombre de un rol de IAM al que ha adjuntado la política de IAM del controlador CSI de Amazon EBS.

    3. (Opcional) Puede ampliar las Valores de configuración opcionales y modificarlas según sea necesario.

    4. Elija Guardar cambios.

AWS CLI
Para actualizar el complemento CSI de Amazon EBS con la AWS CLI
  1. Verifique la versión actual del complemento CSI de Amazon EBS. Reemplace my-cluster por el nombre del clúster.

    aws eks describe-addon --cluster-name my-cluster --addon-name aws-ebs-csi-driver --query "addon.addonVersion" --output text

    Un ejemplo de salida sería el siguiente.

    v1.11.2-eksbuild.1
  2. Determine qué versiones del complemento CSI de Amazon EBS se encuentran disponibles para la versión de su clúster.

    aws eks describe-addon-versions --addon-name aws-ebs-csi-driver --kubernetes-version 1.23 \ --query "addons[].addonVersions[].[addonVersion, compatibilities[].defaultVersion]" --output text

    Un ejemplo de salida sería el siguiente.

    v1.11.4-eksbuild.1
    True
    v1.11.2-eksbuild.1
    False

    La versión con True debajo es la versión predeterminada que se implementa cuando se crea el complemento. Es posible que la versión que se implementa al crear el complemento no sea la versión más reciente disponible. En el resultado anterior, la versión más reciente se implementa cuando se crea el complemento.

  3. Actualice el complemento a la versión que haya devuelto True en la salida del paso anterior. También se puede actualizar a una versión posterior si se devuelve en la salida.

    aws eks update-addon --cluster-name my-cluster --addon-name aws-ebs-csi-driver --addon-version v1.11.4-eksbuild.1 \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKS_EBS_CSI_DriverRole --resolve-conflicts PRESERVE

    La opción PRESERVE conserva cualquier configuración personalizada que haya establecido para el complemento. Para obtener más información acerca de otras opciones para este ajuste, consulte update-addon en la Referencia de la línea de comandos de Amazon EKS. Para obtener más información sobre la administración de la configuración de complementos de Amazon EKS, consulte Administración de campos de Kubernetes.

Eliminar el complemento CSI de Amazon EBS

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 eksctl, la AWS Management Console o la AWS CLI para eliminar el complemento CSI de Amazon EBS.

eksctl
Para eliminar el complemento CSI de Amazon EBS con eksctl

Reemplace my-cluster por el nombre del clúster y, a continuación, ejecute el siguiente comando.

eksctl delete addon --cluster my-cluster --name aws-ebs-csi-driver --preserve
AWS Management Console
Para eliminar el complemento CSI de Amazon EBS con la AWS Management Console
  1. Abra la consola de Amazon EKS en https://console.aws.amazon.com/eks/home#/clusters.

  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 CSI de Amazon EBS.

  6. Elija Eliminar.

  7. En el cuadro de diálogo de confirmación Eliminar: aws-ebs-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-ebs-csi-driver.

    3. Seleccione Remove (Eliminar).

AWS CLI
Para eliminar el complemento CSI de Amazon EBS con la AWS CLI

Reemplace my-cluster por el nombre del clúster y, a continuación, ejecute el siguiente comando.

aws eks delete-addon --cluster-name my-cluster --addon-name aws-ebs-csi-driver --preserve