Gestionar tareas de parches

Después de crear un trabajo de parche, puedes usar los siguientes procedimientos para revisar y gestionar tus parches:

Puedes gestionar tus tareas de parche mediante la Google Cloud consola, la interfaz de línea de comandos de Google Cloud o REST.

Antes de empezar

  • Consulta las cuotas de OS Config.
  • Si aún no lo has hecho, configura la autenticación. La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    2. Set a default region and zone.

    REST

    Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.

      Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .

Permisos

Los propietarios de un proyecto tienen acceso completo para ejecutar y gestionar tareas de parche. En el caso del resto de los usuarios, debes conceder permisos. Puedes conceder uno de los siguientes roles granulares:

  • roles/osconfig.patchJobExecutor: contiene permisos para ejecutar, cancelar, obtener y mostrar tareas de parche. También contiene permisos para ver los detalles de la instancia de un trabajo de parche.
  • roles/osconfig.patchJobViewer: contiene permisos de acceso de solo lectura para obtener y enumerar trabajos de parche. También contiene permisos para ver los detalles de la instancia de un trabajo de parche.

Mostrar tareas de parches

Ver una lista de todos los trabajos activos y completados.

consola

  1. En la Google Cloud consola, ve a Compute Engine > Gestor de VMs > Parche.

    Ir a la página de parches

  2. Seleccione la pestaña Patch Jobs (Trabajos de parche).

gcloud

Usa el comando os-config patch-jobs list para mostrar las tareas de parche.

gcloud compute os-config patch-jobs list

En el caso de Google Cloud CLI, el resultado predeterminado devuelve los 10 trabajos de parche más recientes, tanto si se han completado como si están activos. Puedes anular este ajuste con la marca --limit.

La salida es similar a la siguiente:

ID                                          NAME    DESCRIPTION               CREATE_TIME               UPDATE_TIME               STATE                  TARGETED_INSTANCES
23b0815e-1c94-4dc6-91b1-30a6da395cb9                                          2019-11-05T20:22:54.150Z  2019-11-06T19:40:08.641Z  COMPLETED_WITH_ERRORS  4
4116ad72-bd57-4e48-94dc-7a577dc707b6                                          2019-08-23T20:36:03.068Z  2019-08-23T20:36:15.984Z  CANCELED               2
06856cbe-9a7b-498e-9105-9ae4eb566511                                          2019-08-12T20:27:38.410Z  2019-08-12T20:28:37.583Z  SUCCEEDED              1
04a15964-9eaa-4282-96f5-9cd535352cf6                                          2019-08-12T17:48:22.938Z  2019-08-12T17:48:42.274Z  SUCCEEDED              0
21dc1e06-deee-4e3a-821e-8082a32abde5                testing patch job reboot  2019-07-24T22:45:07.451Z  2019-07-25T00:44:44.459Z  TIMED_OUT              1

Puedes usar más marcas para filtrar, ordenar y dar formato a tu búsqueda. Por ejemplo, para filtrar el resultado anterior y mostrar solo los URIs de las tareas de parche que tienen el estado SUCCEEDED, ordenados por hora de creación y en orden ascendente, ejecuta el siguiente comando:

gcloud compute os-config patch-jobs list \
   --filter="state=SUCCEEDED" \
   --sort-by="create_time" --uri

La salida es similar a la siguiente:

https://osconfig.googleapis.com/v1/projects/1234567/patchJobs/04a15964-9eaa-4282-96f5-9cd535352cf6
https://osconfig.googleapis.com/v1/projects/1234567/patchJobs/06856cbe-9a7b-498e-9105-9ae4eb566511

Para ver una lista completa de las marcas, consulta el comando os-config patch-jobs list.

REST

En la API, crea una solicitud GET al método patchJobs.list. Sustituye project-id por el ID de tu proyecto.

GET https://osconfig.googleapis.com/v1/projects/project-id/patchJobs

Mostrar todos los detalles de las instancias de VM de una tarea de parche específica

Consulta el estado de la tarea de parche para ver la lista completa de instancias de VM que usan la gestión de parches del SO.

consola

  1. En la Google Cloud consola, ve a Compute Engine > Gestor de VMs > Parche.

    Ir a la página de parches

  2. Seleccione la pestaña Patch Jobs (Trabajos de parche).
  3. Haga clic en el nombre del trabajo de parche que quiera revisar.
  4. Desplázate hacia abajo hasta Instancias de VM actualizadas.

gcloud

Usa el comando os-config patch-jobs list-instance-details para enumerar los detalles de todas las VMs de un trabajo de parche específico. Sustituye patch-job-id por el ID de tu trabajo de actualización.

gcloud compute os-config patch-jobs list-instance-details patch-job-id

Por ejemplo, para ver los detalles de todas las instancias que forman parte del trabajo de parche 23b0815e-1c94-4dc6-91b1-30a6da395cb9, ejecuta el siguiente comando:

gcloud compute os-config patch-jobs list-instance-details 23b0815e-1c94-4dc6-91b1-30a6da395cb9

La salida es similar a la siguiente:

NAME                        ZONE           STATE      FAILURE_REASON
instance-1                  us-central1-a  SUCCEEDED
guest-policy-test-instance  us-east1-c     TIMED_OUT  Instance timed out while in state: APPLYING_PATCHES after PT1H2.225S
my-centos                   us-west1-b     SUCCEEDED
my-windows                  us-west1-b     FAILED     Error running pre-patch step: fork/exec /tmp/pre_patch_script.sh: no such file ..."

Puedes usar más marcas para filtrar, ordenar y dar formato a tu búsqueda. Por ejemplo, para ver los detalles de todas las VMs inactivas ordenadas por nombre de instancia de forma descendente, ejecuta el siguiente comando. Sustituye patch-job-id por el ID de tu trabajo de parche.

gcloud compute os-config patch-jobs list-instance-details patch-job-id \
   --filter="state=INACTIVE" \
   --sort-by="~name"

Para ver una lista completa de las marcas, consulta el comando os-config patch-jobs list-instance-details.

REST

En la API, crea una solicitud GET al método patchJobs.instanceDetails.

GET https://osconfig.googleapis.com/v1/projects/project-id/patchJobs/patch-job-id/instanceDetails

Haz los cambios siguientes:

  • project-id: tu ID de proyecto.
  • patch-job-id: el ID del trabajo de parche.

Describir tareas de parches

Consulta información detallada sobre una tarea de parche.

consola

  1. En la Google Cloud consola, ve a Compute Engine > Gestor de VMs > Parche.

    Ir a la página de parches

  2. Seleccione la pestaña Patch Jobs (Trabajos de parche).
  3. Haga clic en el nombre del trabajo de parche que quiera revisar.
  4. Consulta la sección Actualizar información.

gcloud

Usa el comando os-config patch-jobs describe para describir un trabajo de parche. Sustituye patch-job-id por el ID de tu trabajo de parche.

gcloud compute os-config patch-jobs describe patch-job-id

Por ejemplo, para ver información sobre la tarea de parche 23b0815e-1c94-4dc6-91b1-30a6da395cb9, ejecuta el siguiente comando:

gcloud compute os-config patch-jobs describe 23b0815e-1c94-4dc6-91b1-30a6da395cb9

La salida es similar a la siguiente:

createTime: '2019-11-05T20:22:54.150Z'
errorMessage: Completed with 2 instance failure(s).
filter: id=*
instanceDetailsSummary:
  instancesFailed: '1'
  instancesSucceeded: '2'
  instancesTimedOut: '1'
instanceFilter: {}
name: projects/1234567/patchJobs/23b0815e-1c94-4dc6-91b1-30a6da395cb9
patchConfig: {}
percentComplete: 100.0
state: COMPLETED_WITH_ERRORS
updateTime: '2019-11-06T19:40:08.641Z'

REST

En la API, crea una solicitud GET al método patchJobs.get.

GET https://osconfig.googleapis.com/v1/projects/project-id/patchJobs/patch-job-id

Haz los cambios siguientes:

  • project-id: tu ID de proyecto.
  • patch-job-id: el ID del trabajo de parche.

Permiso para cancelar tareas de parches.

Cuando se cancela una tarea de parche, el agente de configuración del SO termina la subtarea en la que se encuentra, pero no continúa después. Subtarea hace referencia a una tarea realizada por el agente que no se puede detener.

Por ejemplo, si se cancela la tarea de parche mientras se reinicia la instancia de VM, el reinicio (y cualquier aplicación automática de parches posterior al reinicio) se completará, pero el agente no iniciará tareas adicionales para esa tarea de parche.

consola

  1. En la Google Cloud consola, ve a Compute Engine > Gestor de VMs > Parche.

    Ir a la página de parches

    1. Seleccione la pestaña Patch Jobs (Trabajos de parche).
    2. Despliega el menú Acciones del trabajo de parche que quieras cancelar.
    3. Selecciona Cancelar.

gcloud

Usa el comando os-config patch-jobs cancel para cancelar un trabajo de parche. Sustituye patch-job-id por el ID de tu trabajo de parche.

gcloud compute os-config patch-jobs cancel patch-job-id

REST

En la API, crea una solicitud POST al método patchJobs.cancel.

POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs/patch-job-id:cancel

Haz los cambios siguientes:

  • project-id: tu ID de proyecto.
  • patch-job-id: el ID del trabajo de parche.

Siguientes pasos