Reparación de hosts de GPU
Descubra cómo configurar y utilizar la reparación de host de GPU para nodos de trabajador de GPU en clusters creados con Kubernetes Engine (OKE).
La reparación de hosts de GPU le ayuda a responder a condiciones específicas relacionadas con el hardware en nodos de trabajador de GPU con hardware dedicado elegibles. Cuando un nodo es elegible para reparación, OKE coordina el flujo de trabajo de reparación. En primer lugar, el flujo de trabajo hace que el nodo no esté disponible para nuevas cargas de trabajo e intenta vaciar las cargas de trabajo de él antes de realizar la acción de cálculo aplicable.
La reparación de host de GPU admite los siguientes tipos de reparación:
- Reparación iniciada por el usuario: utilice este tipo de reparación cuando identifique una condición que requiere que se sustituya un nodo de trabajador de GPU. OKE coordina el vaciado del nodo, el informe de la condición a Compute, la terminación de la instancia afectada y la restauración de la capacidad del pool de nodos gestionado.
- Recuperación de instancias de GPU: utilice este tipo de reparación para disparar una acción de reparación cuando la supervisión del estado de la GPU informe una señal de estado de la GPU crítica elegible. OKE coordina el vaciado del nodo y reinicia la instancia afectada.
- Reparación de eventos de mantenimiento: utilice este tipo de reparación para disparar una acción de reparación cuando OKE correlacione un fallo de GPU o RDMA local de nodo con un evento de mantenimiento de OCI Compute para la misma instancia de Compute. OKE coordina el vaciado del nodo y programa un evento de mantenimiento que no termina o finaliza la instancia, según la acción del evento de mantenimiento.
La reparación de host de GPU está disponible para nodos de trabajador de GPU con hardware dedicado elegibles en clusters que ejecutan Kubernetes versión 1.32 o posterior. La reparación iniciada por el usuario y la recuperación de instancias de GPU se aplican a los nodos de trabajador de GPU gestionados elegibles en los pools de nodos gestionados. La reparación de eventos de mantenimiento se aplica a los nodos de trabajador de GPU con hardware dedicado gestionados y autogestionados elegibles. Un nodo solo es elegible cuando su unidad de GPU está soportada y disponible en la región seleccionada. La reparación del host de GPU no se aplica a los nodos virtuales ni a los nodos de trabajador que no son de GPU.
La reparación de hosts de GPU utiliza recursos de Kubernetes y herramientas de Kubernetes estándar. Un NodeRepairConfig es un recurso personalizado de Kubernetes que selecciona los nodos de trabajador de GPU a los que se aplica una política de reparación. Un NodeHealthReport es un recurso personalizado de Kubernetes que registra las señales de estado y el progreso de reparación de un nodo. Puede inspeccionar un NodeHealthReport, pero no debe editar su estado. El controlador de reparación de nodos coordina el flujo de trabajo de reparación. Para la recuperación de instancias de GPU y la reparación de eventos de mantenimiento, el monitor de fallos de GPU informa las señales de estado de GPU y RDMA. Para la reparación de eventos de mantenimiento, OKE correlaciona las señales de fallo locales con los eventos de mantenimiento de OCI Compute. La coordinación de reparaciones utiliza un arrendamiento de Kubernetes para evitar el procesamiento simultáneo de la misma solicitud de reparación.
Utilice el modo de ejecución simulada para verificar la configuración y observar una reparación propuesta sin acordonar ni drenar el nodo, aplicando una etiqueta de cálculo, terminando o reiniciando la instancia o sustituyendo el nodo.
La reparación del host de GPU puede interrumpir las cargas de trabajo que se ejecutan en un nodo afectado. Antes de configurar la reparación del host de GPU, diseñe las cargas de trabajo para la interrupción. Revise los presupuestos de interrupción de pod, la configuración de réplicas, los requisitos de puntos de control, las restricciones de topología y la capacidad de GPU de repuesto disponible.
Una solicitud de reparación con el estado Completed indica que se ha completado el flujo de trabajo de reparación. No confirma que se haya corregido el fallo subyacente de la GPU. Para la reparación de eventos de mantenimiento, una solicitud de reparación con el estado Completed tampoco confirma que todos los procesos de diagnóstico, reparación, validación o devolución al servicio físicos subyacentes estén completos, que la capacidad de sustitución esté lista o que las cargas de trabajo se hayan recuperado. Después de cualquier reparación, verifique las señales de estado actuales del nodo y el estado de la aplicación.
Configuración de Reparación Iniciada por el Usuario para Nodos de Trabajadores de GPU Gestionados
Antes de configurar la reparación iniciada por el usuario, identifique un pool de nodos de GPU gestionado elegible y un nodo de prueba controlado. Asegúrese de que se puedan interrumpir las cargas de trabajo en el nodo seleccionado.
La reparación iniciada por el usuario requiere control de acceso tanto en OCI IAM como en Kubernetes RBAC. En OCI IAM, la entidad de recurso de cluster de OKE necesita permiso para aplicar la etiqueta definida que se utiliza para informar la condición de host a Compute. En Kubernetes, solo un operador de confianza debe poder iniciar la solicitud de reparación protegida. El operador de confianza necesita permisos RBAC de Kubernetes estándar para actualizar el recurso Node de destino y la autorización específica de OKE delegada a través de ClusterRoleBinding.
Cuando solicita una reparación iniciada por el usuario, OKE coordina las siguientes acciones:
- Garantiza que solo se procese una solicitud de reparación a la vez.
- Conecta el nodo para que Kubernetes no programe nuevos pods en él.
- Intenta vaciar cargas de trabajo del nodo.
- Informa de la condición a Compute y finaliza la instancia afectada.
- Restaura la capacidad configurada del pool de nodos gestionado.
Para configurar y probar la reparación iniciada por el usuario:
-
Verifique que el cluster sea un cluster mejorado y que esté ejecutando Kubernetes versión 1.32 o posterior. Verifique que el nodo sea un nodo de trabajador de GPU gestionado elegible. Verifique que el controlador de reparación de nodos gestionado por OKE y las CRD
NodeHealthReport,oke-customer-node-repair-triggerClusterRoley la política de admisión de protección de disparadores y el enlace estén instalados en el cluster. Si falta algún recurso gestionado por OKE, póngase en contacto con los Servicios de Soporte Oracle. No vuelva a crear los recursos gestionados por OKE. Antes de utilizar la reparación en directo, abra una solicitud de soporte para permitir el manejo de fallos de hardware informados por el usuario para su arrendamiento. Incluya el arrendamiento, la región, el OCID del cluster y el pool de nodos de GPU en la solicitud.
-
Cree o reutilice la etiqueta definida que el controlador de reparación de nodos utiliza para informar la condición del host a Compute.
Cree o reutilice un espacio de nombres de etiqueta denominado
ComputeInstanceHostActions. En ese espacio de nombres, cree o reutilice una definición de clave de etiqueta denominadaCustomerReportedHostStatus. No cree una etiqueta de formato libre con el mismo texto. Para obtener más información, consulte Creating a Tag Namespace y Creating a Tag Key Definition.Antes de terminar la instancia original, el controlador de reparación de nodos escribe el valor
unhealthyen la etiqueta definidaComputeInstanceHostActions.CustomerReportedHostStatusen la instancia. Cree una política de OCI IAM que otorgue a la entidad de recurso de cluster de OKE el permiso de ámbito limitado para aplicar la etiqueta definida:
Allow any-user to use tag-namespace in tenancy where all {request.principal.type = 'cluster', request.principal.id = '<cluster-ocid>', target.tag-namespace.name = 'ComputeInstanceHostActions'}Los cambios de IAM pueden tardar en propagarse. Espere la propagación antes de realizar una validación destructiva.
-
Delegue el disparador de reparación iniciado por el usuario protegido a operadores de confianza.
Cree un
ClusterRoleBindingque enlace un OCID de grupo de OCI IAM de confianza aloke-customer-node-repair-triggerClusterRolepropiedad de OKE. Los operadores también necesitan permisos RBAC de Kubernetes estándar para actualizar el recursoNodede destino.Cree un archivo denominado
cir-trigger-operators.yamlcon el siguiente contenido:apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: oke-node-repair-trigger-operators roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: oke-customer-node-repair-trigger subjects: - apiGroup: rbac.authorization.k8s.io kind: Group name: <trusted-oci-iam-group-ocid>Sustituya
<trusted-oci-iam-group-ocid>por el OCID del grupo de OCI IAM que contiene los operadores de confianza.Aplique y verifique el enlace introduciendo:
kubectl apply -f cir-trigger-operators.yamlkubectl get clusterrolebinding \ oke-node-repair-trigger-operators \ -o yamlEste enlace no otorga permiso general para actualizar los recursos
Node. Utilice su modelo de autorización de Kubernetes existente para otorgar solo los permisos de RBAC de Kubernetes estándar necesarios para los operadores de confianza. -
Cree un recurso personalizado
NodeRepairConfigde ámbito de cluster no solapado en modo de ejecución simulada.Seleccione nodos mediante una etiqueta duradera de agrupación de nodos que gestione y que esté presente en los nodos de sustitución. La etiqueta del selector está definida por el usuario. Configure la etiqueta en el pool de nodos gestionado deseado para que los nodos de sustitución la retengan.
Un nodo debe coincidir exactamente con un recurso
NodeRepairConfig. Las solicitudes sin configuración coincidente o con configuraciones superpuestas se rechazan sin efectos secundarios de reparación. Puede utilizar la misma configuración o configuraciones independientes para la reparación iniciada por el usuario y la recuperación de instancias de GPU. Si utiliza configuraciones independientes, no incluya los mismos nodos en varias configuraciones; de lo contrario, la solicitud de reparación se rechazará.El siguiente ejemplo comienza en modo de ejecución en seco, permite una reparación a la vez, establece el umbral de nodo no saludable en un 10%, utiliza un período de gracia de drenaje de 60 minutos y desactiva el comportamiento de fuerza después de la gracia:
apiVersion: oci.oraclecloud.com/v1beta1 kind: NodeRepairConfig metadata: name: gpu-node-repair spec: nodeSelector: matchLabels: example.com/gpu-repair: "enabled" policy: dryRun: true evictionGracePeriodMinutes: 60 forceActionAfterGracePeriod: false maxUnhealthyNodeThreshold: "10%" maximumParallelNodeRepairs: 1En la sección
policy,dryRunyforceActionAfterGracePeriodson valores booleanos.evictionGracePeriodMinuteses un entero no negativo.maximumParallelNodeRepairses un entero positivo.maxUnhealthyNodeThresholdacepta un recuento de nodos positivo o un porcentaje entrecomillado, como"10%".Comience con
dryRun: true. Después de validar la configuración, actualice solodryRunafalsepara la operación activa. -
Solicite una reparación de ejecución simulada aplicando la etiqueta protegida
oci.oraclecloud.com/customer-report-host-status=unhealthyal nodo seleccionado. InspeccioneNodeHealthReporty el estado del nodo relacionado. Una solicitud de ejecución simulada crea un registroNodeHealthReportcompletado, pero no acorta, drena, aplica la etiqueta definida de Compute, termina, reinicia ni reemplaza el nodo. Disparar una reparación en directo mediante la aplicación de la etiqueta de disparador protegida junto con la sustitución en directo puntual
oci.oraclecloud.com/node-repair-dry-run=false. La sustitución activa solo es válida con un disparador activo y se muestra solo cuando se crea un nuevo disparador.Para volver a intentar una solicitud de reparación iniciada por el usuario, elimine y vuelva a aplicar la etiqueta
oci.oraclecloud.com/customer-report-host-status=unhealthy. Si se vuelve a aplicar el mismo valor de etiqueta, no se inicia otra solicitud. La eliminación de la etiqueta no cancela una reparación activa.Importante
Una reparación activa iniciada por el usuario puede vaciar las cargas de trabajo y terminar la instancia informática original. Draining utiliza la API de desalojo de Kubernetes y respeta los presupuestos de interrupción de pod. Se omiten los pods DaemonSet y los pods estáticos. Si la opción force-after-grace está activada, el controlador de reparación de nodos no fuerza la supresión de los pods restantes, pero la acción posterior del host puede interrumpirlos.Verifique el progreso de la acción de reparación, la etiqueta definida por Compute, la terminación de la instancia original, la restauración de la capacidad del pool de nodos gestionados y la creación de un nodo de sustitución con un nuevo UID y un OCID de instancia. El valor
NodeHealthReportpara las instancias terminadas se retiene temporalmente una vez finalizado el flujo de trabajo.Un resultado
Deferredsignifica que el flujo de trabajo está bloqueado temporalmente. Un resultadoFailedsignifica que el intento se detuvo. Un resultadoSupersededsignifica que un flujo de trabajo de OKE de mayor prioridad asumió el control. Un resultadoCompletedsignifica que OKE finalizó el flujo de trabajo de terminación solicitado. No significa que la reparación física esté completa o que la capacidad de sustitución seaReady. Cuando finalice el flujo de trabajo, verifique que el pool de nodos gestionado tenga la capacidad esperada y que el nodo de sustitución informe del estado actual en buen estado.
Para la reparación iniciada por el usuario, la creación de un nodo de trabajador de sustitución depende de la conciliación de nodos y agrupaciones gestionadas y de la capacidad de GPU disponible. Un flujo de trabajo completado no confirma que el fallo de GPU subyacente se haya corregido.
Configuración de Recuperación de Instancias de GPU para Nodos de Trabajadores de GPU Gestionados
Antes de configurar la recuperación de instancias de GPU, identifique un pool de nodos de GPU gestionado elegible y confirme que sus cargas de trabajo se pueden interrumpir. La recuperación de instancias de GPU puede acordonar y drenar un nodo afectado antes de reiniciar su instancia.
Antes de configurar la recuperación de instancias de GPU, cree las políticas de IAM necesarias para que el complemento GPU Health Monitoring controle los hosts de GPU:
Allow dynamic-group <dg-name> to manage instance-family in compartment id <compartment-ocid>
Allow dynamic-group <dg-name> to read instance-agent-plugins in compartment id <compartment-ocid>
donde:
-
<dg-name>es el nombre del grupo dinámico que incluye las instancias informáticas para los nodos de trabajador de GPU. Por ejemplo, mediante una regla comoALL {instance.compartment.id = '<compartment-ocid>'}. Al aplicar etiquetas a pools de nodos, puede crear reglas más restrictivas, como:ALL { instance.compartment.id = 'ocid1.compartment.oc1..examplecompartment', tag.Operations.Workload.value = 'gpu-monitoring', tag.Operations.Environment.value = 'prod' }Para obtener más información, consulte Aplicación de etiquetas a pools de nodos.
<compartment-ocid>es el OCID del compartimento que contiene los nodos de trabajador de GPU.
La recuperación de instancias de GPU solo está soportada en nodos de trabajador de GPU gestionados elegibles que utilizan las siguientes unidades de GPU:
BM.GPU.A10.4BM.GPU.A100-v2.8BM.GPU.B200.8BM.GPU.B300.8BM.GPU.B300.HS.8BM.GPU.B4.8BM.GPU.GB200-v2.4BM.GPU.GB200-v3.4BM.GPU.GB200.4BM.GPU.GB300.4BM.GPU.H100.8BM.GPU.H100T.8BM.GPU.H200-NC.8BM.GPU.H200.8BM.GPU.L40S-NC.4BM.GPU.L40S.4BM.GPU.MI300X.8BM.GPU.MI355X-v1.8BM.GPU.MI355X.8
La disponibilidad de la unidad de GPU varía según la región. Confirme que la unidad de GPU seleccionada está disponible en la región donde se ejecuta el cluster.
El plugin Compute RDMA GPU Monitoring necesita la versión 1.64.0 o posterior del agente de Oracle Cloud y debe instalarse en los nodos seleccionados.
Cuando OKE recibe una señal de estado de GPU elegible, coordina las siguientes acciones:
- Garantiza que solo se procese una solicitud de recuperación a la vez.
- Conecta el nodo para que Kubernetes no programe nuevos pods en él.
- Intenta vaciar cargas de trabajo del nodo.
- Reinicia la instancia informática afectada.
Para configurar la recuperación de instancias de GPU:
-
Verifique que el cluster esté ejecutando Kubernetes versión 1.32 o posterior. Verifique que el nodo sea un nodo de trabajador de GPU gestionado elegible. Verifique que el controlador de reparación de nodos gestionado por OKE y las CRD
NodeHealthReportestén instaladas en el cluster y verifique que el complemento de supervisión del estado de la GPU esté disponible para el cluster. Verifique que el complemento GPU Health Monitoring tenga una opción
ACTIVEpara la versión de Kubernetes que se ejecuta en el cluster introduciendo:oci ce addon-option list \ --kubernetes-version <version> \ --addon-name GpuHealthMonitoringAl instalar el complemento, instale la última opción
ACTIVEen lugar de anclar una versión. La versión instalada debe serv1.1.0o posterior.Instale el complemento de supervisión del estado de la GPU gestionado por OKE escribiendo:
oci ce cluster install-addon \ --addon-name GpuHealthMonitoring \ --cluster-id $CLUSTER_ID \ --region $REGIONEl comando instala la última versión disponible del complemento para el cluster.
Las claves de configuración del complemento soportadas son
nodeSelectors,tolerationsyrollingUpdate. El valorrollingUpdatecontrola el comportamiento de actualización sucesiva pormaxSurgeymaxUnavailable, utilizando el formato JSON en texto sin formato.-
Cree un recurso
GpuHealthMonitoringConfigpara activar la supervisión del estado de la GPU para los nodos de trabajador de la GPU seleccionados. La configuración requierespec.enabledy un selector de nodos que no esté vacío.apiVersion: oci.oraclecloud.com/v1beta1 kind: GpuHealthMonitoringConfig metadata: name: gpu-health-monitoring spec: enabled: true nodeSelector: matchLabels: nvidia.com/gpu.present: "true"Guarde la configuración como
gpu-health-monitoring.yamly aplíquela introduciendo:kubectl apply -f gpu-health-monitoring.yamlEl campo
spec.enabledactiva o desactiva la supervisión de los nodos seleccionados. El campospec.nodeSelectorselecciona los nodos de GPU en los que se ejecutan el plugin Compute RDMA GPU Monitoring y el supervisor de fallos de GPU.Evite crear varios recursos
GpuHealthMonitoringConfigactivados cuyos selectores coincidan con el mismo nodo. Las políticas superpuestas se rechazan con una condiciónReadyque tienestatusdefinido enFalseyreasondefinido enMultipleMatchingPolicies. Verifique la configuración de supervisión del estado de la GPU en los nodos seleccionados.
El controlador publica la condición de nodo
oci.oraclecloud.com/GpuHealthMonitoringConfigured. El valorTrueindica que el plugin Compute RDMA GPU Monitoring se ha configurado como activado. Un valor deFalseindica que se ha configurado como desactivado. Un valor deUnknownindica que actualmente no se puede confiar en el estado configurado.El supervisor de fallos de GPU publica la condición de nodo
oci.oraclecloud.com/GpuHealthMonitoringUnavailable. El valorTrueindica que uno o más archivos de resultado de estado de GPU necesarios no están disponibles. Las posibles causas incluyen una versión obsoleta de Oracle Cloud Agent, una unidad no soportada, un plugin desactivado o en mal estado o una configuración incorrecta. El valorFalseindica que los archivos de resultados necesarios están presentes.-
Cree un recurso personalizado
NodeRepairConfigde ámbito de cluster no solapado en modo de ejecución simulada.Seleccione nodos mediante una etiqueta duradera de agrupación de nodos que gestione. La etiqueta del selector está definida por el usuario.
Un nodo debe coincidir exactamente con un recurso
NodeRepairConfig. Las solicitudes sin configuración coincidente o con configuraciones superpuestas se rechazan sin efectos secundarios de reparación. Puede utilizar la misma configuración o configuraciones independientes para la reparación iniciada por el usuario y la recuperación de instancias de GPU. Si utiliza configuraciones independientes, no incluya los mismos nodos en varias configuraciones; de lo contrario, la solicitud de reparación se rechazará.El siguiente ejemplo comienza en modo de ejecución en seco, permite una reparación a la vez, establece el umbral de nodo no saludable en un 10%, utiliza un período de gracia de drenaje de 60 minutos y desactiva el comportamiento de fuerza después de la gracia:
apiVersion: oci.oraclecloud.com/v1beta1 kind: NodeRepairConfig metadata: name: gpu-node-repair spec: nodeSelector: matchLabels: example.com/gpu-repair: "enabled" policy: dryRun: true evictionGracePeriodMinutes: 60 forceActionAfterGracePeriod: false maxUnhealthyNodeThreshold: "10%" maximumParallelNodeRepairs: 1 pauseBeforeRepair: trueEn la sección
policy,dryRun,forceActionAfterGracePeriodypauseBeforeRepairson valores booleanos.evictionGracePeriodMinuteses un entero no negativo.maximumParallelNodeRepairses un entero positivo.maxUnhealthyNodeThresholdacepta un recuento de nodos positivo o un porcentaje entrecomillado, como"10%".Comience con
dryRun: trueypauseBeforeRepair: true. Si se definepauseBeforeRepairentrue, podrá inspeccionar la reparación seleccionada antes de que OKE inicie las acciones de interrupción. La pausa también se aplica durante la ejecución en seco. CuandopauseBeforeRepairestá definido entrue, debe continuar la simulación en pausa antes de que se pueda completar.Después de validar la configuración, actualice solo
dryRunafalsepara la operación activa.Tenga en cuenta que la recuperación de instancias de GPU está controlada por señales de estado. No aplique la etiqueta de reparación iniciada por el usuario
oci.oraclecloud.com/customer-report-host-status=unhealthypara la recuperación de instancias de GPU. Verifique que se informe una señal de estado de GPU elegible para el nodo.
Un nodo es elegible para el reinicio automatizado solo cuando se cumplen todas las condiciones siguientes:
- La condición de nodo
oci.oraclecloud.com/GpuHealthMonitoringFaultDetectedesTrue. NodeHealthReportcontiene una entrada enstatus.signals.clusterHealthCheck[].- La señal tiene un
idno vacío. - La señal tiene
action=REBOOT. El valor es no sensible a mayúsculas/minúsculas. - La señal tiene un valor
firstObservedAtno nulo. - La señal tiene un valor
lastObservedAtno nulo, lo que indica que la señal está activa. - La señal ha permanecido activa durante al menos 10 minutos.
- Las reglas de reintento y enfriamiento del controlador de reparación de nodos permiten otro intento. El tiempo de reutilización de reinicio repetido es de 60 minutos.
- El valor de ejecución simulada efectivo es
falsepara un reinicio real. - Los límites de admisión e interrupción posteriores pasan.
Las señales con
action=CUSTOMER_ACTION_REQUIREDno disparan un reinicio automático. Si ve una de estas señales, revise las condiciones de nodo yNodeHealthReport, investigue el problema de estado de la GPU informado y póngase en contacto con Soporte si necesita ayuda para resolverlo.- La condición de nodo
-
Active la reparación en directo en el recurso
NodeRepairConfig.La recuperación de instancias de GPU comienza solo después de que la señal elegible se haya mantenido activa durante al menos 10 minutos, y el tiempo de reutilización de reinicio repetido es de 60 minutos. El comportamiento de drenaje sigue la política de reparación especificada en el recurso
NodeRepairConfigcoincidente. Draining utiliza la API de desalojo de Kubernetes y respeta los presupuestos de interrupción de pod. El tiempo necesario para completar la recuperación de la instancia de GPU puede variar en función de la configuración de interrupción de la carga de trabajo, el comportamiento de vaciado de nodos y el estado de la instancia de Compute. -
Verifique que la recuperación de la instancia de GPU se ha realizado correctamente.
Confirme que
NodeHealthReportmuestra una acciónRebooten modo activo y que tiene un estado de terminalCompleted. Confirme que la instancia informática tiene el estadoRunning, que el nodo de Kubernetes esReadyy que el resultado de estado de la GPU actual ya no informa el fallo. Revise el resultado de estado de la GPU después de que se complete el flujo de trabajo.
Si el resultado de estado de la GPU aún informa el mismo fallo después del reinicio o vuelve a informar el fallo, el fallo no se ha resuelto. Un flujo de trabajo de recuperación completado no significa que se haya corregido el fallo subyacente de la GPU. La recuperación de instancias de GPU utiliza reglas de recuperación para evitar bucles de reinicio inmediato. Una vez que el resultado de estado de la GPU deja de informar el fallo, un resultado de estado de la GPU posterior que informe un nuevo fallo puede hacer que el nodo sea elegible para otra reparación.
El recurso
GpuHealthMonitoringAction generado es propiedad del controlador. No cree ni edite recursos GpuHealthMonitoringAction.Configuración de Reparación de Eventos de Mantenimiento para Nodos de Trabajador de GPU
Antes de configurar la reparación de eventos de mantenimiento, identifique los nodos de trabajador de GPU con hardware dedicado elegibles y confirme que las cargas de trabajo en los nodos seleccionados se puedan interrumpir. La reparación de eventos de mantenimiento puede acordonar y drenar un nodo afectado antes de que OKE realice la acción de cálculo correspondiente.
La reparación de eventos de mantenimiento está soportada para nodos de trabajador de GPU con hardware dedicado elegibles, incluidos los nodos gestionados y los nodos autogestionados. El cluster debe ser un cluster mejorado y debe ejecutar Kubernetes versión 1.32 o posterior. La reparación de eventos de mantenimiento no se aplica a nodos virtuales ni nodos de trabajador que no sean de hardware dedicado.
La reparación de eventos de mantenimiento utiliza la supervisión de estado de GPU para identificar fallos de GPU o RDMA locales de nodo en unidades de GPU. OKE correlaciona la señal de fallo local con un evento de mantenimiento de OCI Compute para la misma instancia de Compute. Si el nodo está seleccionado exactamente por un recurso NodeRepairConfig coincidente y la política de reparación permite la reparación, OKE coordina el flujo de trabajo de reparación.
Antes de configurar la reparación de eventos de mantenimiento, cree las políticas de IAM necesarias para que el complemento GPU Health Monitoring controle los hosts de GPU:
Allow dynamic-group <dg-name> to manage instance-family in compartment id <compartment-ocid>
Allow dynamic-group <dg-name> to read instance-agent-plugins in compartment id <compartment-ocid>
donde:
-
<dg-name>es el nombre del grupo dinámico que incluye las instancias informáticas para los nodos de trabajador de GPU. Por ejemplo, mediante una regla comoALL {instance.compartment.id = '<compartment-ocid>'}. Al aplicar etiquetas a pools de nodos, puede crear reglas más restrictivas, como:ALL { instance.compartment.id = 'ocid1.compartment.oc1..examplecompartment', tag.Operations.Workload.value = 'gpu-monitoring', tag.Operations.Environment.value = 'prod' }Para obtener más información, consulte Aplicación de etiquetas a pools de nodos.
<compartment-ocid>es el OCID del compartimento que contiene los nodos de trabajador de GPU.
Cree también una política que permita a la entidad de recurso de cluster de OKE utilizar eventos de mantenimiento de instancias en el compartimento que contiene las instancias de nodo de trabajador de GPU y sus eventos de mantenimiento:
Allow any-user to use instance-maintenance-events in compartment id <worker-compartment-ocid> where request.principal.type = 'cluster'
Para restringir el acceso a un cluster específico, utilice una política como:
Allow any-user to use instance-maintenance-events in compartment id <worker-compartment-ocid> where all {request.principal.type = 'cluster', request.principal.id = '<cluster-ocid>'}
donde:
<worker-compartment-ocid>es el OCID del compartimento que contiene las instancias de nodo de trabajador de GPU y sus eventos de mantenimiento.<cluster-ocid>es el OCID del cluster.
La reparación de eventos de mantenimiento admite las siguientes acciones de eventos de mantenimiento de Compute:
STOP: OKE coordina un evento de mantenimiento que no termina. Se espera que la misma instancia informática y el mismo nodo de Kubernetes vuelvan al servicio después de procesar el evento de mantenimiento.TERMINATE: OKE coordina la terminación de la instancia informática afectada. Para los pools de nodos gestionados, la sustitución depende de la gestión de la capacidad de los pools de nodos gestionados y de la capacidad de GPU disponible. En el caso de los nodos autogestionados, OKE no sustituye automáticamente el nodo después de la terminación. Aprovisione y una un nodo de sustitución mediante el proceso de gestión de nodos que normalmente se utiliza para los nodos autogestionados (consulte Trabajar con nodos autogestionados).
El plugin Compute RDMA GPU Monitoring necesita la versión 1.64.0 o posterior del agente de Oracle Cloud y debe instalarse en los nodos seleccionados.
Cuando OKE admite una solicitud de reparación de eventos de mantenimiento, coordina las siguientes acciones:
- Garantiza que solo se procese una solicitud de reparación a la vez.
- Correlación de la señal de fallo de GPU o RDMA local con un evento de mantenimiento de Compute para la misma instancia.
- Registra la información de reparación en
NodeHealthReport. - Conecta el nodo para que Kubernetes no programe nuevos pods en él.
- Intenta vaciar cargas de trabajo del nodo.
- Realiza el flujo de trabajo del evento de mantenimiento
STOPoTERMINATEaplicable.
Para configurar la reparación de eventos de mantenimiento:
-
Verifique que el cluster sea un cluster mejorado y que esté ejecutando Kubernetes versión 1.32 o posterior. Verifique que el nodo sea un nodo de trabajador de GPU con hardware dedicado elegible, ya sea un nodo gestionado o un nodo autogestionado.
Verifique que el controlador de reparación de nodos gestionado por OKE y las CRD
NodeHealthReportestén instaladas en el cluster y verifique que el complemento de supervisión del estado de la GPU esté disponible para el cluster. Si falta algún recurso gestionado por OKE, póngase en contacto con los Servicios de Soporte Oracle. No vuelva a crear los recursos gestionados por OKE. -
Instale y configure el complemento Supervisión de estado de GPU para los nodos de trabajador de GPU seleccionados.
La reparación de eventos de mantenimiento requiere que se active la supervisión de estado de GPU en los nodos de trabajador de GPU seleccionados para que OKE pueda correlacionar una señal de fallo de GPU o RDMA local con un evento de mantenimiento de Compute.
Verifique que el complemento GPU Health Monitoring tenga una opción
ACTIVEpara la versión de Kubernetes que se ejecuta en el cluster introduciendo:oci ce addon-option list \ --kubernetes-version <version> \ --addon-name GpuHealthMonitoringInstale el complemento de supervisión del estado de la GPU gestionado por OKE escribiendo:
oci ce cluster install-addon \ --addon-name GpuHealthMonitoring \ --cluster-id $CLUSTER_ID \ --region $REGIONCree un recurso
GpuHealthMonitoringConfigpara activar la supervisión del estado de la GPU para los nodos de trabajador de la GPU seleccionados. La configuración requierespec.enabledy un selector de nodos que no esté vacío.apiVersion: oci.oraclecloud.com/v1beta1 kind: GpuHealthMonitoringConfig metadata: name: gpu-health-monitoring spec: enabled: true nodeSelector: matchLabels: nvidia.com/gpu.present: "true"Guarde la configuración como
gpu-health-monitoring.yamly aplíquela introduciendo:kubectl apply -f gpu-health-monitoring.yamlEl campo
spec.enabledactiva o desactiva la supervisión de los nodos seleccionados. El campospec.nodeSelectorselecciona los nodos de GPU en los que se ejecutan el plugin Compute RDMA GPU Monitoring y el supervisor de fallos de GPU.Evite crear varios recursos
GpuHealthMonitoringConfigactivados cuyos selectores coincidan con el mismo nodo. Las políticas superpuestas se rechazan con una condiciónReadyque tienestatusdefinido enFalseyreasondefinido enMultipleMatchingPolicies.Verifique la configuración de supervisión del estado de la GPU en los nodos seleccionados. El controlador publica la condición de nodo
oci.oraclecloud.com/GpuHealthMonitoringConfigured. El supervisor de fallos de GPU publica la condición de nodooci.oraclecloud.com/GpuHealthMonitoringUnavailable. -
Cree un recurso personalizado
NodeRepairConfigde ámbito de cluster no solapado en modo de ejecución simulada.Seleccione nodos mediante una etiqueta duradera que gestione y que esté presente en los nodos de trabajador de GPU previstos. Para los pools de nodos gestionados, configure la etiqueta en el pool de nodos para que los nodos de sustitución la retengan. Para los nodos autogestionados, asegúrese de que la etiqueta se aplique de manera coherente a los nodos previstos.
Un nodo debe coincidir exactamente con un recurso
NodeRepairConfig. Las solicitudes sin configuración coincidente o con configuraciones superpuestas se rechazan sin efectos secundarios de reparación. No cree configuraciones superpuestas para la reparación iniciada por el usuario, la recuperación de instancias de GPU y la reparación de eventos de mantenimiento.El siguiente ejemplo comienza en modo de ejecución en seco, permite una reparación a la vez, establece el umbral de nodo no saludable en un 10%, utiliza un período de gracia de drenaje de 60 minutos y desactiva el comportamiento de fuerza después de la gracia:
apiVersion: oci.oraclecloud.com/v1beta1 kind: NodeRepairConfig metadata: name: gpu-node-repair spec: nodeSelector: matchLabels: example.com/gpu-repair: "enabled" policy: dryRun: true evictionGracePeriodMinutes: 60 forceActionAfterGracePeriod: false maxUnhealthyNodeThreshold: "10%" maximumParallelNodeRepairs: 1 pauseBeforeRepair: trueEn la sección
policy,dryRun,forceActionAfterGracePeriodypauseBeforeRepairson valores booleanos.evictionGracePeriodMinuteses un entero no negativo.maximumParallelNodeRepairses un entero positivo.maxUnhealthyNodeThresholdacepta un recuento de nodos positivo o un porcentaje entrecomillado, como"10%".Comience con
dryRun: trueypauseBeforeRepair: true. Si se definepauseBeforeRepairentrue, podrá inspeccionar la reparación seleccionada antes de que OKE inicie las acciones de interrupción. La pausa también se aplica durante la ejecución en seco. CuandopauseBeforeRepairestá definido entrue, debe continuar la simulación en pausa antes de que se pueda completar. -
Verifique el comportamiento de ejecución simulada.
En el modo de ejecución simulada, OKE evalúa el nodo seleccionado, la política de reparación coincidente, el evento de mantenimiento correlacionado y la acción de evento de mantenimiento propuesto. El modo de ejecución en seco no debe acordonar, drenar, detener, terminar ni reemplazar el nodo.
Inspeccione
NodeHealthReportpara ver el evento de mantenimiento correlacionado y el resultado del flujo de trabajo. El OCID del evento de mantenimiento se muestra enstatus.signals.maintenanceEvent[].maintenanceEventId. La acción correlacionada se muestra enstatus.signals.maintenanceEvent[].action. El estado del ciclo de vida del evento Compute se muestra enstatus.signals.maintenanceEvent[].maintenanceLifecycleState.Para verificar el intento de reparación seleccionado, revise
status.repair.selectedSignalIds,status.repair.repairAction,status.repair.dryRun,status.repair.terminalStateystatus.lastRepairAttempt. Una simulación de ejecución en seco exitosa registraCompletedcondryRun: true. La finalización de ejecución en seco no prueba que una acción de drenaje o cálculo real se realice correctamente. -
Active la reparación activa controlada actualizando el recurso
NodeRepairConfigcoincidente.Para la operación activa, actualice solo los campos de política deseados, como cambiar
dryRundetrueafalse. El cambio dedryRunno reproduce un intento de reparación ya admitido. El cambio del recursoNodeRepairConfigno vuelve a evaluar una señal de evento de mantenimiento existente ni altera un intento de reparación ya admitido. La política actualizada se aplica a la siguiente señal de evento de mantenimiento distinta.No edite los recursos
NodeHealthReportni cambie las condicionesNodeinternas para forzar un reintento.Importante
Una reparación de evento de mantenimiento activo puede vaciar las cargas de trabajo y parar o terminar la instancia informática afectada. Draining utiliza la API de expulsión de Kubernetes y respeta los presupuestos de interrupción de pod. Se omiten los pods DaemonSet y los pods estáticos. Si la opción force-after-grace está activada, el controlador de reparación de nodos no fuerza la supresión de los pods restantes, pero la acción de cálculo posterior aún puede interrumpirlos. -
Si la reparación se pausa antes de la acción Compute, inspeccione las condiciones de nodo y
NodeHealthReport. La condición de nodooci.oraclecloud.com/NodeAutoRepairPaused=Trueindica una reparación en pausa.Para continuar con la reparación en pausa, introduzca:
kubectl label node <node-name> oci.oraclecloud.com/node-repair-paused-response=continue --overwritePara cancelar la reparación en pausa, introduzca:
kubectl label node <node-name> oci.oraclecloud.com/node-repair-paused-response=cancel --overwriteEl controlador de reparación de nodo consume la etiqueta de respuesta y borra la condición de pausa. Cuando continúa una reparación en pausa, OKE vuelve a comprobar la política de reparación y los límites de interrupción antes de continuar.
La cancelación de una reparación en pausa solo detiene el intento de reparación de OKE. No cancela, reprograma ni elimina el evento de mantenimiento de Compute subyacente. OKE registra
Cancelledpara el intento de reparación y borra la condición de pausa y la etiqueta de respuesta. OKE sigue realizando un seguimiento del evento de mantenimiento de Compute y es posible que la condiciónMaintenanceEventDetectedpermanezca presente. La cancelación del intento de reparación de OKE no impide que Compute procese el mantenimiento según su propio programa. -
Para una reparación de evento de mantenimiento
STOP, verifique que el flujo de trabajo del evento de mantenimiento se complete y que el mismo nodo vuelva a estar en servicio.En una reparación correcta de
STOPque no termina, el nombreNodede Kubernetes, el UIDNodede Kubernetes y el OCID de la instancia informática siguen siendo los mismos.Confirme que
NodeHealthReportregistrarepairAction: STOPy no es una ejecución en seco. Confirme questatus.lastRepairAttemptregistraresult: Completedy un registro de horacompletedAt. Confirme que elNodeoriginal seaReadyy programable, con identidades sin cambios. -
Para una reparación de evento de mantenimiento
TERMINATE, verifique que la reparación en directo coincide con el evento de mantenimiento y la instancia informática previstos, que la instancia original ha terminado y que se ha eliminado elNodede Kubernetes original.Para los pools de nodos gestionados, confirme que la capacidad de sustitución esté disponible cuando la capacidad de GPU, los límites de servicio y las cuotas de compartimento permitan la sustitución. Para los nodos autogestionados, aprovisione y únase a un nodo de sustitución mediante el proceso de gestión de nodos que normalmente se utiliza para los nodos autogestionados (consulte Trabajo con nodos autogestionados).
Un resultado
Completedindica que OKE completó el flujo de trabajo de terminación. No confirma que la reparación del host físico se haya completado, que la capacidad de sustitución esté lista o que las cargas de trabajo se hayan recuperado.
Un flujo de trabajo de reparación de eventos de mantenimiento completado no confirma que se haya corregido el fallo subyacente de GPU o RDMA, que se haya completado la reparación del host físico, que la capacidad de sustitución esté lista o que las cargas de trabajo se hayan recuperado. Una vez completado el flujo de trabajo, verifique las señales de estado actuales del nodo, la preparación del nodo, la capacidad esperada y el estado de la aplicación.
Supervisión y solución de problemas de reparación de host de GPU para nodos de trabajador de GPU
Utilice los recursos de Kubernetes y las herramientas de supervisión de Kubernetes estándar para inspeccionar NodeHealthReport, las condiciones del nodo, las cargas de trabajo afectadas y el flujo de trabajo de reparación.
Un
NodeHealthReport con un estado Completed indica que el flujo de trabajo de reparación ha finalizado. No indica que se haya corregido el fallo subyacente de la GPU. Verifique las señales de estado actuales, la preparación del nodo de trabajador y el estado de la aplicación después de que se complete el flujo de trabajo.Para supervisar un flujo de trabajo de reparación de host de GPU:
Inspeccione el nodo de trabajador afectado y
NodeHealthReportantes, durante y después de la reparación.Revise
NodeHealthReportpara ver la solicitud de reparación, el progreso de la reparación, la acción, el modo activo o de ejecución en seco y el resultado del flujo de trabajo. Revise el recursoNodede Kubernetes afectado para ver las etiquetas y condiciones de los nodos. Revise los eventos de Kubernetes para conocer la actividad reciente de reparación y nodo. Para la recuperación de instancias de GPU, compruebe las condicionesGpuHealthMonitoringConfigured,GpuHealthMonitoringUnavailableyGpuHealthMonitoringFaultDetecteden el recursoNodede Kubernetes afectado. Para la reparación de eventos de mantenimiento, compruebe la señal de estado de GPU o RDMA, el evento de mantenimiento de Compute correlacionado y el estado de reparación del evento de mantenimiento registrado enNodeHealthReport.Tratar los recursos propiedad del controlador como de solo lectura. No cree ni edite acciones generadas ni recursos propiedad del controlador.
Revise el estado de reparación admitido y el estado del nodo.
Utilice
NodeHealthReportpara revisar la política de reparación, el valor efectivo de ejecución en seco, el resultado de admisión, el resultado terminal y el último intento de reparación. Utilice el recursoNodede Kubernetes afectado para revisar las condiciones del nodo. Cuando corresponda, verifique el estado del ciclo de vida de la instancia de Compute, la etiqueta definida de Compute utilizada para la reparación iniciada por el usuario, los detalles del evento de mantenimiento para la reparación del evento de mantenimiento y si la capacidad de sustitución está lista.No se base en permisos internos, IDs de petición, rutas de archivos, intervalos de sondeo ni fases intermedias de workflow como indicadores de estado.
-
Para la reparación iniciada por el usuario, investigue las solicitudes rechazadas, la reparación diferida, la reparación fallida y la reparación sustituida.
Se puede rechazar una solicitud cuando ningún recurso
NodeRepairConfigcoincide con el nodo o cuando se aplica más de una configuración.Utilice el resultado
NodeHealthReportpara decidir qué investigar:- Si
NodeHealthReportmuestraAdmissionRejected, verifique el recursoNodeRepairConfig, la autorización de disparadores y la configuración de etiquetas. - Si
NodeHealthReportmuestraDeferred, espere a que se borre la condición de bloqueo o ajuste la capacidad si la capacidad de sustitución no está disponible. - Si
NodeHealthReportmuestraFailed, inspeccioneNodeHealthReport, Kubernetes Events, los presupuestos de interrupción del pod, la política de IAM, la etiqueta definida por Compute y el estado de la instancia de Compute. - Si
NodeHealthReportmuestraSuperseded, siga el flujo de trabajo de OKE que se hizo cargo de la reparación. - Si
NodeHealthReportmuestraCompleted, verifique que la instancia original se ha terminado y que la capacidad de sustitución está lista.
- Si
-
Para la recuperación de instancias de GPU, investigue la configuración de supervisión del estado de la GPU, los resultados de estado no disponibles, las señales de reinicio, las señales que requieren acción, los drenajes incompletos, los reinicios completados con un fallo continuo y las señales continuas que no disparan reinicios repetidos.
Utilice condiciones de nodo, señales de estado de GPU y el resultado
NodeHealthReportpara decidir qué investigar:- Si la condición del nodo
GpuHealthMonitoringConfiguredesFalseoUnknown, verifique la configuración del agente de Oracle Cloud y la configuración del complementoGpuHealthMonitoring. - Si la condición del nodo
GpuHealthMonitoringUnavailableesTrue, verifique que la unidad de GPU esté soportada, que Oracle Cloud Agent versión1.64.0o posterior esté instalada, que el plugin Compute RDMA GPU Monitoring esté activado y que el complemento GPU Health Monitoring esté instalado y configurado. - Si una señal de estado de GPU activa tiene
action=REBOOT, superviseNodeHealthReportpara el flujo de trabajo de recuperación de instancias de GPU. - Si una señal de estado de GPU tiene
action=CUSTOMER_ACTION_REQUIRED, investigue el problema de estado de GPU informado. Esta señal no activa un reinicio automatizado. - Si
NodeHealthReportmuestra un vaciado incompleto o una reparación fallida, inspeccione los eventos de Kubernetes, los presupuestos de interrupción del pod, el estado de la carga de trabajo y las condiciones del nodo. - Si se completó el reinicio, pero el resultado de estado de la GPU aún informa el fallo, investigue el fallo en curso.
- Si la misma señal continúa después del reinicio, la recuperación de la instancia de GPU no reinicia inmediatamente el nodo de nuevo. Las reglas de enfriamiento evitan los bucles de reinicio inmediato.
- Si la condición del nodo
-
Para la reparación de eventos de mantenimiento, investigue la configuración de GPU Health Monitoring, las señales de fallo locales de GPU o RDMA, los eventos de mantenimiento de Compute correlacionados, los recursos
NodeRepairConfigcoincidentes, las reparaciones en pausa, los drenajes incompletos y el resultado del flujo de trabajoSTOPoTERMINATE.Para la reparación de eventos de mantenimiento, revise las condiciones de nodo
oci.oraclecloud.com/MaintenanceEventDetectedyoci.oraclecloud.com/NodeAutoRepairPaused. EnNodeHealthReport, revise el OCID del evento de mantenimiento, la acción, los códigos de fallo, el estado del ciclo de vida de mantenimiento, el ID de reparación, los ID de señal seleccionados, la acción de reparación, el valor de ejecución en seco, el estado de admisión, los detalles de rechazo, el estado de terminal y el último intento de reparación.Utilice las condiciones del nodo, la información del evento de mantenimiento y el resultado
NodeHealthReportpara decidir qué investigar:- Si un fallo local de GPU o RDMA no inicia la reparación del evento de mantenimiento, verifique GPU Health Monitoring, Oracle Cloud Agent, la unidad de nodo de trabajador de GPU y las señales de estado registradas en
NodeHealthReport. Confirme que existe un evento de mantenimiento de Compute coincidente para la misma instancia. - Si no se admite la reparación de eventos de mantenimiento, confirme que exactamente un
NodeRepairConfigseleccione el nodo y que la política de reparación y los límites de interrupción permitan la reparación. Inspeccione el resultado de admisiónNodeHealthReport. - Si la reparación está en pausa, inspeccione las condiciones de nodo y
NodeHealthReporty, a continuación, utilice el mecanismo de respuesta soportado para continuar o cancelar la reparación. - Si se completa una reparación de
STOPpero el nodo no es programable, compruebe la preparación del nodo, el estado del cordón, el estado del ciclo de vida del evento de mantenimiento de Compute, las señales de estado actuales y los eventos de Kubernetes. - Si se completa una reparación de
TERMINATE, pero la capacidad esperada no está disponible, compruebe la capacidad de la unidad de GPU, los límites de servicio, las cuotas de compartimento y el estado del pool de nodos. Para los nodos autogestionados, aprovisione y únase a un nodo de sustitución mediante el proceso de gestión de nodos que normalmente se utiliza para los nodos autogestionados (consulte Trabajo con nodos autogestionados).
Los resultados de reparación relevantes de OKE incluyen
Completed,Failed,Cancelled,SupersededyAdmissionRejected. Un estadoDeferredrepresenta un bloqueo temporal, no un resultado terminal. Los valores del ciclo de vida de mantenimiento de recursos informáticos son independientes de los resultados de reparación de OKE. - Si un fallo local de GPU o RDMA no inicia la reparación del evento de mantenimiento, verifique GPU Health Monitoring, Oracle Cloud Agent, la unidad de nodo de trabajador de GPU y las señales de estado registradas en
-
Antes de abrir una solicitud de servicio, recopile la información necesaria para investigar el flujo de trabajo de reparación.
Incluya el OCID del arrendamiento, el OCID del cluster, la región, la versión de Kubernetes, la versión del complemento de supervisión del estado de la GPU, la versión del agente de Oracle Cloud, el nombre del nodo de trabajador afectado, el OCID de la instancia informática, los recursos
NodeHealthReportyNodeRepairConfigrelevantes, las etiquetas y condiciones de los nodos, los eventos de Kubernetes, el presupuesto de interrupción del pod y el estado de la carga de trabajo, los registros de hora y los resultados actuales del estado de la GPU. Para la reparación de eventos de mantenimiento, también incluya el OCID del evento de mantenimiento de Compute, la acción del evento de mantenimiento, los códigos de fallo, el estado del ciclo de vida del evento de mantenimiento y cualquier detalle de evento de mantenimiento disponible de Compute.No modifique los CRD propiedad de OKE, los recursos del controlador, los objetos de admisión, las acciones generadas ni los recursos de coordinación.
Resolución de problemas de reparación de host de GPU
| Incidencia | Acción |
|---|---|
| Ninguna reparación se inicia después de una solicitud iniciada por el usuario. | Compruebe que hay exactamente un NodeRepairConfig que selecciona el nodo, confirme que la solicitud la realizó un operador autorizado e inspeccione el resultado de admisión NodeHealthReport. |
| El nodo permanece acordonado o las cargas de trabajo no se drenan. | Revise los presupuestos de interrupción de pods, los pods que no se pueden expulsar, las restricciones de programación de carga de trabajo y la capacidad de reemplazo disponible. |
| El pool de nodos gestionado no vuelve a su capacidad configurada después de la reparación iniciada por el usuario. | Compruebe la capacidad de la unidad de GPU en la región seleccionada, los límites de servicio, las cuotas de compartimento y el estado del pool de nodos gestionado. |
| Una señal de estado de GPU no inicia la recuperación de la instancia de GPU. | Confirme que la señal y el nodo son elegibles y verifique el complemento Supervisión del estado de la GPU y NodeRepairConfig. |
| El nodo de trabajador de GPU no está listo después de la recuperación de la instancia de GPU. | Compruebe las condiciones del nodo, las señales de estado actuales de la GPU y el estado de la aplicación. Un flujo de trabajo completado no confirma que el fallo de GPU subyacente se haya resuelto. |
| Un fallo local de GPU o RDMA no inicia la reparación del evento de mantenimiento. | Verifique la supervisión del estado de la GPU, Oracle Cloud Agent, la unidad del nodo de trabajador de la GPU y las señales NodeHealthReport. Confirme que existe un evento de mantenimiento de Compute coincidente para la misma instancia. |
| No se admite la reparación de eventos de mantenimiento. | Confirme que exactamente un NodeRepairConfig seleccione el nodo y que la política de reparación y los límites de interrupción permitan la reparación. Inspeccione el resultado de admisión NodeHealthReport. |
| La reparación de un evento de mantenimiento en pausa no continúa. | Compruebe la condición del nodo oci.oraclecloud.com/NodeAutoRepairPaused=True. Inspeccione NodeHealthReport y, a continuación, continúe la reparación mediante la aplicación de la etiqueta oci.oraclecloud.com/node-repair-paused-response=continue. Si cancela la reparación en pausa, OKE solo detiene el intento de reparación; no cancela, reprograma ni elimina el evento de mantenimiento de Compute subyacente. |
Se completa una reparación de evento de mantenimiento STOP, pero el nodo no se puede programar. |
Compruebe la preparación del nodo, el estado del cordón, el estado del ciclo de vida del evento de mantenimiento de recursos informáticos, las señales de estado actuales y los eventos de Kubernetes. |
Se completa una reparación de evento de mantenimiento TERMINATE, pero la capacidad esperada no está disponible. |
Verifique que la reparación en directo coincide con el evento de mantenimiento y la instancia informática deseados, que la instancia original ha terminado y que se ha eliminado el Node de Kubernetes original. Para los pools de nodos gestionados, compruebe la capacidad de la unidad de GPU, los límites de servicio, las cuotas de compartimentos y el estado del pool de nodos. Para los nodos autogestionados, aprovisione y únase a un nodo de sustitución mediante el proceso de gestión de nodos que normalmente se utiliza para los nodos autogestionados. |
Utilice los recursos de Kubernetes, las condiciones de los nodos y los eventos de Kubernetes como prueba de resolución de problemas. Si abre una solicitud de servicio, los Servicios de Soporte Oracle pueden recuperar logs del servicio según sea necesario.