Quiero usar Automatización de AWS Systems Manager para aplicar parches de seguridad a imágenes de máquina de Amazon (AMI) del nodo de trabajo de Amazon Elastic Kubernetes Service (Amazon EKS).
Resolución
Utiliza los runbooks de Automatización de AWS Systems Manager para aplicar parches de seguridad a los nodos de trabajo de Amazon EKS. Utiliza runbooks para aplicar nuevas versiones y automatizar la aplicación de parches de seguridad y las actualizaciones de versiones para grupos de nodos administrados o nodos autoadministrados.
Uso de Automatización de AWS Systems Manager para grupos de nodos administrados
Para ejecutar el runbook AWS-UpdateEKSManagedNodeGroup, sigue estos pasos:
- Abre la Consola de administración de AWS.
- Selecciona la región de AWS en la que se encuentra el clúster de Amazon EKS.
- Abre la consola de AWS Systems Manager.
- En el panel de navegación, elige Automatización.
- Selecciona Ejecutar runbook.
- En el campo de búsqueda Runbook de automatización, escribe AWS-UpdateEKSManagedNodeGroup y, a continuación, elige el runbook AWS-UpdateEKSManagedNodeGroup.
Nota: La pestaña de detalles del runbook se abre en una nueva ventana del navegador.
- Selecciona Ejecutar automatización.
Nota: La pestaña Ejecutar runbook de automatización se abre en una nueva ventana del navegador.
- En Parámetros de entrada, introduce los siguientes parámetros:
En ClusterName, introduce el nombre del clúster de Amazon EKS que contiene el grupo de nodos.
En NodeGroupName, introduce el nombre del grupo de nodos que deseas actualizar.
En UpdateType, elige Actualizar versión del grupo de nodos.
En ForceUpdate, elige True si los pods del grupo de nodos existente no se pueden drenar debido a un problema de presupuesto de interrupción de pods. De lo contrario, selecciona False.
(Opcional) En AutomationAssumeRole, introduce el nombre de recurso de Amazon (ARN) del rol de AWS Identity and Access Management (IAM) para que Automatización de Systems Manager lleve a cabo acciones en tu nombre. Si no especificas un rol, Automatización de Systems Manager utilizará los permisos del usuario que inicia el runbook.
- Si no creaste tu grupo de nodos a partir de una plantilla de lanzamiento, especifica los siguientes parámetros:
(Opcional) En KubernetesVersion, introduce la versión de Kubernetes a la que quieres actualizar el grupo de nodos. Por ejemplo, introduce 1.30.
(Opcional) En AMIReleaseVersion, introduce la versión de la AMI optimizada para Amazon EKS que quieras usar. Por ejemplo, introduce 1.30.2-20240828. El sistema usa la versión más reciente de forma predeterminada.
- Si creaste tu grupo de nodos a partir de una plantilla de lanzamiento, puedes especificar los siguientes parámetros:
(Opcional) En LaunchTemplateId, introduce el ID de la plantilla de lanzamiento.
(Opcional) En LaunchTemplateName, introduce el nombre de la plantilla de lanzamiento.
- Selecciona Ejecutar.
Uso de Automatización de AWS Systems Manager para grupos de nodos autoadministrados
Importante: Si tu clúster usa el escalamiento automático, debes reducir el despliegue de cluster-autoscaler a dos réplicas antes de ejecutar el runbook. Para desescalar verticalmente el despliegue de cluster-autoscaler, ejecuta el siguiente comando:
kubectl scale deployments/cluster-autoscaler --replicas=2 -n kube-system
Para ejecutar el runbook AWS-UpdateEKSSelfManagedLinuxNodeGroups, sigue estos pasos:
- Abre la Consola de administración de AWS.
- Selecciona la región de AWS en la que se encuentra el clúster de Amazon EKS.
- Abre la consola de AWS Systems Manager.
- En el panel de navegación, elige Automatización.
- Selecciona Ejecutar runbook.
- En el campo de búsqueda Runbook de automatización, escribe AWS-UpdateEKSSelfManagedLinuxNodeGroups y, a continuación, elige el runbook AWS-UpdateEKSSelfManagedLinuxNodeGroups.
Nota: La pestaña de detalles del runbook se abre en una nueva ventana del navegador.
- Selecciona Ejecutar automatización.
Nota: La pestaña Ejecutar runbook de automatización se abre en una nueva ventana del navegador.
- En Parámetros de entrada, introduce los siguientes parámetros:
(Opcional) En AutomationAssumeRole, introduce el ARN del rol de IAM que permite a Automatización de Systems Manager realizar las acciones en tu nombre. Si no especificas un rol, Automatización de Systems Manager utilizará los permisos del usuario que inicia el runbook.
En StackName, introduce el nombre de la pila de AWS CloudFormation para el nodo autoadministrado.
En NodeAutoScalingGroupDesiredCapacity, introduce el número de nodos que mantiene el grupo de nodos.
En NodeAutoScalingGroupMaxSize, introduce el número máximo de nodos para tu grupo de escalamiento automático de nodos.
En NodeInstanceType, introduce el tipo de instancia que se va a usar para el grupo de nodos.
En NodeImageIdSSMParam, introduce la ruta del almacén de parámetros para la AMI de tu grupo de nodos.
(Opcional) En NodeImageId, introduce el ID de AMI de tu grupo de nodos para anular cualquier valor especificado para NodeImageIdSSMParam.
En DisableIMDSv1, selecciona si quieres desactivar IMDSv1.
En WaitForStackUpdateProgress, introduce el tiempo en segundos que la automatización espera para dar tiempo a iniciar las actualizaciones de la pila de plantillas y a comenzar las actualizaciones sucesivas antes de evaluar el estado de la pila.
- Selecciona Ejecutar.
- Una vez finalizada la actualización, para volver a escalar el despliegue de cluster-autoscaler al número deseado de réplicas, ejecuta el siguiente comando:
kubectl scale deployments/cluster-autoscaler --replicas=number -n kube-system
Nota: Sustituye number por el número de réplicas que deseas usar.
Información relacionada
Actualización de un grupo de nodos administrados para un clúster
Actualización de los nodos autoadministrados para un clúster
Creación de runbooks propios