View a markdown version of this page

Configuración de reparación de nodos de Support para grupos de nodos gestionados por EKS - Guía del usuario de Eksctl

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de reparación de nodos de Support para grupos de nodos gestionados por EKS

EKS Managed Nodegroups es compatible con la reparación de nodos, mediante la cual se supervisa el estado de los nodos gestionados y, en respuesta, se sustituyen o reinician los nodos que no funcionan correctamente. eksctl ahora ofrece opciones de configuración integrales para controlar con precisión el comportamiento de reparación de los nodos.

Configuración básica de reparación de nodos

Uso de indicadores CLI

Para crear un clúster con un grupo de nodos administrado mediante la reparación básica de nodos, pasa la --enable-node-repair siguiente marca:

eksctl create cluster --enable-node-repair

Para crear un grupo de nodos gestionado con la reparación de nodos en un clúster existente:

eksctl create nodegroup --cluster=<clusterName> --enable-node-repair

Uso de archivos de configuración

# basic-node-repair.yaml apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: basic-node-repair-cluster region: us-west-2 managedNodeGroups: - name: ng-1 nodeRepairConfig: enabled: true
eksctl create cluster -f basic-node-repair.yaml

Configuración de reparación de nodos mejorada

Configuración de umbral

Puede configurar cuándo se detendrán las acciones de reparación de nodos mediante umbrales basados en porcentajes o recuentos. Nota: No puede usar los umbrales de porcentaje y recuento al mismo tiempo.

Indicadores CLI para umbrales

# Percentage-based threshold - repair stops when 20% of nodes are unhealthy eksctl create cluster --enable-node-repair \ --node-repair-max-unhealthy-percentage=20 # Count-based threshold - repair stops when 5 nodes are unhealthy eksctl create cluster --enable-node-repair \ --node-repair-max-unhealthy-count=5

Archivo de configuración para los umbrales

managedNodeGroups: - name: threshold-ng nodeRepairConfig: enabled: true # Stop repair actions when 20% of nodes are unhealthy maxUnhealthyNodeThresholdPercentage: 20 # Alternative: stop repair actions when 3 nodes are unhealthy # maxUnhealthyNodeThresholdCount: 3 # Note: Cannot use both percentage and count thresholds simultaneously

Límites de reparación en paralelo

Controle el número máximo de nodos que se pueden reparar simultáneamente o en paralelo. Esto le permite controlar con mayor precisión el ritmo de las sustituciones de nodos. Nota: No puede usar los límites porcentuales y de recuento al mismo tiempo.

Banderas CLI para límites paralelos

# Percentage-based parallel limits - repair at most 15% of unhealthy nodes in parallel eksctl create cluster --enable-node-repair \ --node-repair-max-parallel-percentage=15 # Count-based parallel limits - repair at most 2 unhealthy nodes in parallel eksctl create cluster --enable-node-repair \ --node-repair-max-parallel-count=2

Archivo de configuración para límites paralelos

managedNodeGroups: - name: parallel-ng nodeRepairConfig: enabled: true # Repair at most 15% of unhealthy nodes in parallel maxParallelNodesRepairedPercentage: 15 # Alternative: repair at most 2 unhealthy nodes in parallel # maxParallelNodesRepairedCount: 2 # Note: Cannot use both percentage and count limits simultaneously

Anulaciones de reparación personalizadas

Especifique anulaciones granulares para acciones de reparación específicas. Estas anulaciones controlan la acción de reparación y el tiempo de demora de la reparación antes de que un nodo se considere elegible para la reparación. Si lo usa, debe especificar todos los valores de cada anulación.

managedNodeGroups: - name: custom-repair-ng instanceType: g4dn.xlarge # GPU instances nodeRepairConfig: enabled: true maxUnhealthyNodeThresholdPercentage: 25 maxParallelNodesRepairedCount: 1 nodeRepairConfigOverrides: # Handle GPU-related failures with immediate termination - nodeMonitoringCondition: "AcceleratedInstanceNotReady" nodeUnhealthyReason: "NvidiaXID13Error" minRepairWaitTimeMins: 10 repairAction: "Terminate" # Handle network issues with restart after waiting - nodeMonitoringCondition: "NetworkNotReady" nodeUnhealthyReason: "InterfaceNotUp" minRepairWaitTimeMins: 20 repairAction: "Restart"

Ejemplos de configuración completos

Para ver un ejemplo completo con todas las opciones de configuración, consulta examples/44-node-repair.yaml.

Ejemplo 1: Reparación básica con umbrales porcentuales

apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: basic-repair-cluster region: us-west-2 managedNodeGroups: - name: basic-ng instanceType: m5.large desiredCapacity: 3 nodeRepairConfig: enabled: true maxUnhealthyNodeThresholdPercentage: 20 maxParallelNodesRepairedPercentage: 15

Ejemplo 2: Reparación conservadora para cargas de trabajo críticas

apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: critical-workload-cluster region: us-west-2 managedNodeGroups: - name: critical-ng instanceType: c5.2xlarge desiredCapacity: 6 nodeRepairConfig: enabled: true # Very conservative settings maxUnhealthyNodeThresholdPercentage: 10 maxParallelNodesRepairedCount: 1 nodeRepairConfigOverrides: # Wait longer before taking action on critical workloads - nodeMonitoringCondition: "NetworkNotReady" nodeUnhealthyReason: "InterfaceNotUp" minRepairWaitTimeMins: 45 repairAction: "Restart"

Ejemplo 3: carga de trabajo de la GPU con reparación especializada

apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: gpu-workload-cluster region: us-west-2 managedNodeGroups: - name: gpu-ng instanceType: g4dn.xlarge desiredCapacity: 4 nodeRepairConfig: enabled: true maxUnhealthyNodeThresholdPercentage: 25 maxParallelNodesRepairedCount: 1 nodeRepairConfigOverrides: # GPU failures require immediate termination - nodeMonitoringCondition: "AcceleratedInstanceNotReady" nodeUnhealthyReason: "NvidiaXID13Error" minRepairWaitTimeMins: 5 repairAction: "Terminate"

Referencia de la CLI

Indicadores de reparación de nodos

Indicador Description (Descripción) Ejemplo

--enable-node-repair

Habilite la reparación automática de nodos

--enable-node-repair

--node-repair-max-unhealthy-percentage

Porcentaje máximo de nodos en mal estado antes de la reparación

--node-repair-max-unhealthy-percentage=20

--node-repair-max-unhealthy-count

Recuento máximo de nodos en mal estado antes de la reparación

--node-repair-max-unhealthy-count=5

--node-repair-max-parallel-percentage

Porcentaje máximo de nodos a reparar en paralelo

--node-repair-max-parallel-percentage=15

--node-repair-max-parallel-count

Número máximo de nodos a reparar en paralelo

--node-repair-max-parallel-count=2

Nota: Debido a su complejidad, las anulaciones de configuración de reparación de nodos solo se admiten en los archivos de configuración YAML.

Referencia de la configuración

nodo RepairConfig

Campo Tipo Description (Descripción) Restricciones Ejemplo

enabled

booleano

Enable/disable reparación de nodos

-

true

maxUnhealthyNodeThresholdPercentage

entero

Umbral porcentual de nodos en mal estado, por encima del cual se detendrán las acciones de reparación automática de nodos

No se puede usar con maxUnhealthyNodeThresholdCount

20

maxUnhealthyNodeThresholdCount

entero

Cuente el umbral de nodos en mal estado, por encima del cual se detendrán las acciones de reparación automática de nodos

No se puede usar con maxUnhealthyNodeThresholdPercentage

5

maxParallelNodesRepairedPercentage

entero

Porcentaje máximo de nodos en mal estado que se pueden reparar simultáneamente o en paralelo

No se puede usar con maxParallelNodesRepairedCount

15

maxParallelNodesRepairedCount

entero

Recuento máximo de nodos en mal estado que se pueden reparar simultáneamente o en paralelo

No se puede usar con maxParallelNodesRepairedPercentage

2

nodeRepairConfigOverrides

array

Anulaciones granulares para acciones de reparación específicas que controlan la acción de reparación y el tiempo de retraso

Se deben especificar todos los valores para cada anulación

Consulte los ejemplos anteriores

nodo RepairConfigOverrides

Campo Tipo Description (Descripción) Valores válidos

nodeMonitoringCondition

cadena

Condición no saludable notificada por el agente de supervisión de nodos a la que se aplica esta anulación

"AcceleratedInstanceNotReady", "NetworkNotReady"

nodeUnhealthyReason

cadena

Motivo indicado por el agente de supervisión de nodos por el que se aplica esta anulación a

"NvidiaXID13Error", "InterfaceNotUp"

minRepairWaitTimeMins

entero

Tiempo mínimo en minutos que se debe esperar antes de intentar reparar un nodo con la condición y el motivo especificados

Cualquier número entero positivo

repairAction

cadena

Reparar la acción que deben realizar los nodos cuando se cumplan todas las condiciones especificadas

"Terminate", "Restart", "NoAction"

Más información