Depuración de nodos trabajadores
Virtual Private Cloud Infraestructura clásica
Revise las opciones para depurar sus nodos trabajadores y encontrar las causas raíz de los errores.
Comprobar notificaciones de nodo trabajador y actualizaciones de mantenimiento
Compruebe el panel de control de estado y salud de IBM Cloud para ver si hay notificaciones o actualizaciones de mantenimiento que puedan ser relevantes para los nodos trabajadores. Estas notificaciones o actualizaciones pueden ayudar a determinar la causa de las anomalías del nodo trabajador.
- Clústeres clásicos Compruebe en elpanel de control de estado las notificaciones de mantenimiento de emergencia de IBM Cloud que puedan afectar a los nodos trabajadores clásicos de la cuenta. En función de la naturaleza de la notificación de mantenimiento, es posible que tenga que rearrancar o volver a cargar los nodos trabajadores.
- Consulte la IBM Cloud panel de instrumentos Estado para ver los problemas conocidos que pueden afectar a los nodos trabajadores o al clúster. Si alguno de los componentes
siguientes muestra un estado de error, dicho componente puede ser la causa de las interrupciones del nodo trabajador.
- Para todos los clústeres, compruebe los componentes de Kubernetes Service y Container Registry.
- Para los clusters Red Hat OpenShift, compruebe el componente Red Hat OpenShift on IBM Cloud componente.
- Para los clústeres de VPC, compruebe los componentes Virtual Private Cloud, Virtual Private Endpoint y Virtual Server for VPC.
- Para los clústeres clásicos, compruebe los componentes Suministro de infraestructura clásica y Virtual Servers.
Pasos rápidos para resolver problemas del nodo de trabajador
Si el nodo de trabajador no está funcionando como se esperaba, puede seguir estos pasos para actualizar el clúster y las herramientas de línea de mandatos, o para ejecutar pruebas de diagnóstico. Si el problema persiste, consulte Depuración del nodo de trabajador para ver los pasos adicionales.
Depuración del nodo de trabajador
Paso 1: Obtener el estado de nodo trabajador
Si el clúster está en estado Crítico, Error al suprimir o Aviso, o se ha bloqueado en el estado Pendiente durante mucho tiempo, revise el estado de los nodos trabajadores.
ibmcloud oc worker ls --cluster <cluster_name_or_id>
Paso 2: Revisar el estado del nodo trabajador
Revise los campos State y Status de cada nodo trabajador en la salida de la CLI.
Para obtener más información, consulte Estados de los nodos trabajadores.
Paso 3: Obtener los detalles de cada nodo trabajador
Obtenga los detalles del nodo trabajador. Si en los detalles se incluye un mensaje de error, revise la lista de mensajes de error comunes para nodos trabajadores para saber cómo resolver el problema.
ibmcloud oc worker get --cluster <cluster_name_or_id> --worker <worker_node_id>
Paso 4: Revisar el proveedor de infraestructura para el nodo trabajador
Revise el entorno de infraestructura para comprobar si hay otras razones que puedan causar los problemas de nodo trabajador.
- Consulte con el equipo de red para asegurarse de que ningún mantenimiento reciente, como las actualizaciones de cortafuegos o de subred, pueda afectar a las conexiones del nodo trabajador.
- Consulte IBM Cloud para Red Hat OpenShift on IBM Cloud y el proveedor de la infraestructura subyacente, como Virtual Servers para componentes clásicos, relacionados con VPC, o Satellite.
- Si tiene acceso a la infraestructura subyacente, como por ejemplo los Servidores virtuales clásicos, revise los detalles de las máquinas correspondientes para los nodos trabajadores.
Paso 5: Reúna los registros y otros detalles sobre sus nodos trabajadores
Ejecutar el comando must-gather
El comando CLI oc adm must-gather
recoge la información de su cluster para depurar problemas. Esta herramienta imprescindible recopila definiciones de recursos, registros de servicios y mucho más. Tenga en cuenta que los registros
de auditoría no se recogen como parte del conjunto de información por defecto para reducir el tamaño de los archivos.
Al ejecutar oc adm must-gather
, se crea un nuevo pod con un nombre aleatorio en un nuevo proyecto del clúster. Los datos se recopilan en ese pod y se guardan en un nuevo directorio que empieza por must-gather.local
.
Revisa los siguientes comandos de ejemplo.
oc adm must-gather
Ejemplo de comando para recopilar datos relacionados con una o más características específicas, utilice el argumento --image
con una imagen específica.
oc adm must-gather \
--image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.17.5
Ejemplo de comando para recopilar registros de auditoría.
oc adm must-gather -- /usr/bin/gather_audit_logs
Comando de ejemplo para ejecutar must-gather en un espacio de nombres específico.
oc adm must-gather --run-namespace <namespace> \
--image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.17.5
Comandos de ejemplo para recopilar los registros de un periodo de tiempo determinado.
oc adm must-gather --since=24h
oc adm must-gather --since-time=$(date -d '-24 hours' +%Y-%m-%dT%T.%9N%:z )
Ejemplo de comando para recopilar registros de red.
oc adm must-gather -- gather_network_logs
Para más ejemplos y argumentos ejecute el siguiente comamnd
oc adm must-gather -h
Comando de ejemplo para crear un archivo comprimido a partir del directorio must-gather.
tar cvaf must-gather.tar.gz must-gather.local.5421342344627712289/
Adjunte el archivo comprimido a su caso de asistencia.
Recopilación de un informe SOS
sosreport
es una herramienta que recopila detalles de configuración, información del sistema y datos de diagnóstico de los sistemas Red Hat Enterprise Linux (RHEL) y Red Hat Enterprise Linux CoreOS (RHCOS). Proporciona una forma
estandarizada de recopilar información de diagnóstico relativa a un nodo, que puede facilitarse al servicio de asistencia para el diagnóstico de problemas.
En algunas interacciones de soporte, éste puede pedirle que recopile un archivo sosreport
para un nodo OpenShift Container Platform específico. Por ejemplo, podría ser necesario revisar los registros del sistema u otros datos
específicos del nodo que no se incluyen en la salida de oc adm must-gather
.
La forma recomendada de generar un sosreport
para un nodo de cluster OpenShift Container Platform es a través de un pod de depuración.
Acceda al clúster de Red Hat OpenShift.
-
Liste los nodos de trabajador.
oc get nodes
-
Inicia una sesión de depuración en el nodo de destino.
oc debug node/node_name
Para entrar en una sesión de depuración en el nodo de destino contaminado con el efecto
NoExecute
, añada una tolerancia a un espacio de nombres temporal e inicie el pod de depuración en el espacio de nombres temporal.oc new-project temp oc patch namespace temp --type=merge -p '{"metadata": {"annotations": { "scheduler.alpha.kubernetes.io/defaultTolerations": "[{\"operator\": \"Exists\"}]"}}}'
oc debug node/my-cluster-node
-
Establece
/host
como directorio raíz dentro del shell de depuración. El pod de depuración monta el sistema de archivos raíz del host en/host
dentro del pod. Cambiando el directorio raíz a/host
, puede ejecutar binarios contenidos en las rutas ejecutables del host.chroot /host
OpenShift Container Platform los nodos del clúster que ejecutan Red Hat Enterprise Linux CoreOS (RHCOS) son inmutables y dependen de los Operadores para aplicar los cambios en el clúster. No se recomienda acceder a los nodos del clúster mediante SSH. Sin embargo, si la API OpenShift Container Platform no está disponible, o el kubelet no funciona correctamente en el nodo de destino, las operaciones oc podrían verse afectadas. En tales situaciones, es posible acceder a los nodos utilizando
ssh core@<node>.<cluster_name>.<base_domain>
en su lugar. -
Inicie un contenedor toolbox, que incluye los binarios y plugins necesarios para ejecutar
sosreport
.toolbox
Si ya se está ejecutando un pod de caja de herramientas existente, el comando de caja de herramientas muestra
'toolbox-' already exists. Trying to start….
Elimine el contenedor de caja de herramientas en ejecución conpodman rm toolbox-
e inicie un nuevo contenedor de caja de herramientas. -
Ejecute el comando
sos report
y siga las instrucciones para recopilar datos de solución de problemas.sos report -k crio.all=on -k crio.logs=on -k podman.all=on -k podman.logs=on
Ejemplo de comando para incluir información sobre las configuraciones de red OVN- Kubernetes de un nodo en su informe.
sos report --all-logs
La salida
sosreport
proporciona la ubicación del archivo y la suma de comprobación. Las siguientes referencias de salida de ejemplo admiten el ID de caso 01234567. La ruta del archivo está fuera del entornochroot
porque el contenedor toolbox monta el directorio raíz del host en/host
.Your sosreport has been generated and saved in: /host/var/tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xz The checksum is: 382ffc167510fd71b4f12a4f40b97a4e
-
Envía
sosreport
a un archivo.El contenedor de depuración monta el directorio raíz del host en
/host
. Haga referencia a la ruta absoluta desde el directorio raíz del contenedor de depuración, incluyendo/host
, al especificar los archivos de destino para la concatenación.oc debug node/my-cluster-node -- bash -c 'cat /host/var/tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xz' > /tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xz
OpenShift Container Platform los nodos del clúster que ejecutan Red Hat Enterprise Linux CoreOS (RHCOS) son inmutables y dependen de los Operadores para aplicar los cambios en el clúster. No se recomienda transferir un archivo
sosreport
desde un nodo de clúster mediantescp
. Sin embargo, si la API OpenShift Container Platform no está disponible, o el kubelet no funciona correctamente en el nodo de destino, las operaciones deoc
podrían verse afectadas. En tales situaciones, es posible copiar un archivososreport
desde un nodo ejecutandoscp core@<node>.<cluster_name>.<base_domain>:<file_path> <local_path>
. -
Cargue el archivo en su caso de asistencia.