Ayude a mejorar esta página
¿Quiere contribuir a esta guía del usuario? Desplácese hasta el final de esta página y seleccione Editar esta página en GitHub. Sus contribuciones ayudarán a que nuestra guía del usuario sea mejor para todos.
Administración del controlador de CSI de Amazon EBS como un 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 Uso de las APIs de AWS para instalar o actualizar los componentes del clúster con complementos de EKS. Puede agregar el complemento CSI de Amazon EBS si sigue los pasos descritos en Obtención del 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 complemento CSI de Amazon EBS y Eliminación del 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 de un 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.
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.
Obtención del controlador CSI de Amazon EBS
Puede usar eksctl
, el AWS Management Console o el AWS CLI para agregar el complemento CSI de Amazon EBS a su clúster.
- eksctl
-
Obtención del 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 Personalización de la configuración del complemento de Amazon EKS con la administración de campos.
- AWS Management Console
-
Obtención del complemento CSI de Amazon EBS con la AWS Management Console
Abra la consola de Amazon EKS en https://console.aws.amazon.com/eks/home#/clusters.
-
En el panel de navegación izquierdo, elija Clusters (Clústeres).
-
Seleccione el nombre del clúster para el que desea configurar el complemento CSI de Amazon EBS.
-
Elija la pestaña Complementos.
-
Escoja Obtener más complementos.
-
En la página Seleccionar complementos, haga lo siguiente:
-
En la sección Complementos de Amazon EKS, seleccione la casilla de verificación Controlador CSI de Amazon EBS.
-
Elija Siguiente.
-
En la página Configurar las opciones de complementos seleccionados, haga lo siguiente:
-
Seleccione la Version (Versión) que desea utilizar.
-
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.
-
(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.
-
Elija Siguiente.
-
En la página Revisar y añadir, elija Crear. Una vez finalizada la instalación del complemento, verá el complemento instalado.
- AWS CLI
-
Obtención del 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 Implementar una aplicación de ejemplo. Este procedimiento incluye la configuración de la clase de almacenamiento.
Actualización del complemento CSI de Amazon EBS
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
-
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
-
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 Personalización de la configuración del complemento de Amazon EKS con la administración de campos.
- AWS Management Console
-
Para actualizar el complemento CSI de Amazon EBS con la AWS Management Console
Abra la consola de Amazon EKS en https://console.aws.amazon.com/eks/home#/clusters.
-
En el panel de navegación izquierdo, elija Clusters (Clústeres).
-
Elija el nombre del clúster para el que desea actualizar el complemento CSI de Amazon EBS.
-
Elija la pestaña Complementos.
-
Elija Controlador CSI de Amazon EBS.
-
Elija Editar.
-
En la página Configurar el controlador CSI de Amazon EBS, haga lo siguiente:
-
Seleccione la Version (Versión) que desea utilizar.
-
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.
-
(Opcional) Puede ampliar las Valores de configuración opcionales y modificarlas según sea necesario.
-
Elija Guardar cambios.
- AWS CLI
-
Para actualizar el complemento CSI de Amazon EBS con la AWS CLI
-
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
-
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.
-
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 Personalización de la configuración del complemento de Amazon EKS con la administración de campos.
Eliminación del 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
Abra la consola de Amazon EKS en https://console.aws.amazon.com/eks/home#/clusters.
-
En el panel de navegación izquierdo, elija Clusters (Clústeres).
-
Elija el nombre del clúster para el que desea eliminar el complemento CSI de Amazon EBS.
-
Elija la pestaña Complementos.
-
Elija Controlador CSI de Amazon EBS.
-
Elija Eliminar.
-
En el cuadro de diálogo de confirmación Eliminar: aws-ebs-csi-driver, haga lo siguiente:
-
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.
-
Escriba aws-ebs-csi-driver
.
-
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