Supervisa y depura cargas de trabajo


Cuando compilas, pruebas y ejecutas una carga de trabajo, puede ser útil supervisar su progreso para depurar problemas. Las siguientes herramientas están disponibles para la supervisión y depuración:

  • Cloud Logging: Como primer paso para solucionar problemas de una carga de trabajo de Confidential Space, puedes redireccionar STDOUT y STDERR a Cloud Logging y, luego, comprobar si hay códigos de retorno de la carga de trabajo para ver dónde se produjo una falla.

  • La imagen de depuración de Confidential Space: La imagen de depuración de Confidential Space mantiene la Confidential VM en ejecución de la carga de trabajo operativa después de que esta se completa y ejecuta un servidor SSH. Esto te permite acceder de forma remota a la VM para diagnosticar problemas. Es útil usar la imagen de depuración hasta que tengas la seguridad de que tu código se comporta como debería. Cuando llegue el momento de comenzar a trabajar en los datos de producción sensibles, cambia a la imagen de Confidential Space de producción.

  • Supervisión del uso de memoria: Puedes ver el uso de memoria de la carga de trabajo en Cloud Logging o en el Explorador de métricas. El autor de la carga de trabajo debe permitirlo y el operador de la carga de trabajo debe habilitarlo antes de que se realice un seguimiento del uso de la memoria.

  • Shell interactiva: Después de usar SSH para conectarte a la VM Confidencial de tu carga de trabajo, puedes usar el comando sudo ctr task exec -t --exec-id shell tee-container bash para ingresar a una shell interactiva dentro del contenedor y diagnosticar problemas de carga de trabajo.

Logging

Al igual que cualquier programa de línea de comandos, la carga de trabajo STDOUT y STDERR se puede mostrar en la consola. También se puede redireccionar a Cloud Logging si el operador de la carga de trabajo configura la clave de metadatos tee-container-log-redirect en true o cloud_logging en la VM de Confidential Space y se asegura de que la cuenta de servicio que ejecuta la carga de trabajo tenga el rol logging.logWriter.

El autor de la carga de trabajo puede evitar la redirección con la política de lanzamiento log_redirect.

Para reducir tu perfil de riesgo, registra la cantidad mínima de información y no registres información sensible.

Consulta los registros de Confidential Space

Si a la cuenta de servicio adjunta a la VM de Confidential Space se le otorgó el rol logging.logWriter y redireccionaste los registros a Cloud Logging, puedes solucionar los errores si consultas los registros de la VM:

  1. Ve a Registros en el proyecto del operador de cargas de trabajo en la consola de Google Cloud.

    Ir a Logging

  2. Junto a la pestaña Consulta, haz clic en el intervalo de tiempo para establecer el período de registro que deseas ver.

  3. Filtra los registros por los siguientes campos de registro si están disponibles:

    • Tipo de recurso: Instancia de VM

    • ID de instancia: El ID de instancia de la VM confidencial

    • Nombre del registro: confidential-space-launcher

  4. Lee el mensaje de error para averiguar cuál es el problema. Es posible que un recurso no se haya configurado de forma correcta, que las condiciones del atributo en los proveedores de WIP de tus colaboradores de datos no coincidan con las reclamaciones que realiza la carga de trabajo de Confidential Space o que la carga de trabajo en sí haya tenido un error.

Códigos de retorno

Los códigos de retorno se muestran en la consola cuando se ejecutan el selector y la carga de trabajo, y se pueden redireccionar a Cloud Logging.

Los códigos devueltos se describen en la siguiente tabla:

Código Definición Comportamiento de detención de la VM
0 La carga de trabajo se completó correctamente cuando se usó la imagen de producción. La VM se detiene después de que se completa la carga de trabajo.
1 La carga de trabajo o el selector mostraron un error cuando se usó la imagen de producción. La VM se detiene después de mostrar un error.
3 El selector se reinició después de una falla debido a su tee-restart-policy. Se reinicia la VM.
4 La carga de trabajo o el selector finalizaron su ejecución cuando se usó la imagen de depuración, y la VM ahora está inactiva. La VM no se detiene después de que se completa la carga de trabajo o muestra un error. Esto es para que puedas depurar la carga de trabajo a través de SSH.

Si una carga de trabajo falla, el operador solo recibe el mensaje workload finished with a non-zero return code, sin más contexto. En el caso de una imagen de producción, el selector se puede configurar para que se reinicie en caso de falla con tee-restart-policy=OnFailure.