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 |
|---|---|---|
|
|
Habilite la reparación automática de nodos |
|
|
|
Porcentaje máximo de nodos en mal estado antes de la reparación |
|
|
|
Recuento máximo de nodos en mal estado antes de la reparación |
|
|
|
Porcentaje máximo de nodos a reparar en paralelo |
|
|
|
Número máximo de nodos a reparar en paralelo |
|
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 |
|---|---|---|---|---|
|
|
booleano |
Enable/disable reparación de nodos |
- |
|
|
|
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 |
|
|
|
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 |
|
|
|
entero |
Porcentaje máximo de nodos en mal estado que se pueden reparar simultáneamente o en paralelo |
No se puede usar con |
|
|
|
entero |
Recuento máximo de nodos en mal estado que se pueden reparar simultáneamente o en paralelo |
No se puede usar con |
|
|
|
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 |
|---|---|---|---|
|
|
cadena |
Condición no saludable notificada por el agente de supervisión de nodos a la que se aplica esta anulación |
|
|
|
cadena |
Motivo indicado por el agente de supervisión de nodos por el que se aplica esta anulación a |
|
|
|
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 |
|
|
cadena |
Reparar la acción que deben realizar los nodos cuando se cumplan todas las condiciones especificadas |
|