Administra trabajos de aplicación de parches

Después de crear trabajos de aplicación de parches, puedes usar los siguientes procedimientos para revisar y administrar los parches:

Puedes administrar tus trabajos de aplicación de parches mediante Google Cloud Console, la herramienta de línea de comandos de gcloud o la API de configuración del SO de Cloud.

Antes de comenzar

Permisos

Los propietarios de un proyecto tienen acceso completo para ejecutar y administrar trabajos de aplicación de parches. Para el resto de los usuarios, debes otorgar permisos. Puedes otorgar una de las siguientes funciones detalladas:

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

Enumera trabajos de aplicación de parches

Visualiza una lista de todos los trabajos activos y completados.

console

  1. En Google Cloud Console, ve a la página Administración de parches de SO.

    Ir a la página Administración de parches de SO

  2. Selecciona la pestaña Trabajos de aplicación de parches.

gcloud

Usa el comando os-config patch-jobs list para enumerar los trabajos de aplicación de parches.

gcloud compute os-config patch-jobs list

Para la herramienta de línea de comandos de gcloud, el resultado predeterminado muestra los 10 trabajos de aplicación de parches más recientes, ya sean completos o activos. Puedes anular esta configuración con la marca --limit.

El resultado se ve de la siguiente manera:

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 enumerar solo los URI de los trabajos de aplicación de parches que tienen un estado de SUCCEEDED ordenado por tiempo 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

El resultado se ve de la siguiente manera:

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 obtener una lista completa de las marcas, revisa el comando os-config patch-jobs list.

API

En la API, crea una solicitud GET para el método patchJobs.list. Reemplaza project-id con el ID de tu proyecto.

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

Enumera todos los detalles de la instancia de VM para un trabajo de aplicación de parches específico

Revisa el estado del trabajo de aplicación de parches para la lista completa de instancias de VM que usan la Administración de parches de SO.

console

  1. En Google Cloud Console, ve a la página Administración de parches de SO.

    Ir a la página Administración de parches de SO

  2. Selecciona la pestaña Trabajos de aplicación de parches.
  3. Haz clic en el nombre del trabajo de aplicación de parches que deseas 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 VM en un trabajo de aplicación de parches específico. Reemplaza patch-job-id con el ID de tu trabajo de aplicación de parches.

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 aplicación de parches 23b0815e-1c94-4dc6-91b1-30a6da395cb9, ejecuta el siguiente comando:

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

El resultado se ve de la siguiente manera:

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 enumerar los detalles de todas las VM inactivas ordenadas por nombre de instancia de forma descendente, ejecuta el siguiente comando. Reemplaza patch-job-id con el ID de tu trabajo de aplicación de parches.

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

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

API

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

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

Reemplaza lo siguiente:

  • project-id: el ID de tu proyecto.
  • patch-job-id: el ID de tu trabajo de aplicación de parches.

Describe los trabajos de aplicación de parches

Revisa la información detallada de un trabajo de aplicación de parches.

console

  1. En Google Cloud Console, ve a la página Administración de parches de SO.

    Ir a la página Administración de parches de SO

  2. Selecciona la pestaña Trabajos de aplicación de parches.
  3. Haz clic en el nombre del trabajo de aplicación de parches que deseas revisar.
  4. Revisa la sección sobre cómo actualizar información.

gcloud

Usa el comando os-config patch-jobs describe para describir un trabajo de aplicación de parches. Reemplaza patch-job-id con el ID de tu trabajo de aplicación de parches.

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

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

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

El resultado se ve de la siguiente manera:

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'

API

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

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

Reemplaza lo siguiente:

  • project-id: el ID de tu proyecto.
  • patch-job-id: el ID de tu trabajo de aplicación de parches.

Cancela trabajos de aplicación de parches

Cuando cancelas un trabajo de aplicación de parches, el agente de configuración del SO finaliza la subtarea en la que se encuentra, pero no continúa después de eso. La subtarea se refiere a una tarea que realiza el agente y que no se puede detener fácilmente.

Por ejemplo, si el trabajo de aplicación de parches se cancela mientras se reinicia la instancia de VM, el reinicio (y cualquier posible parche automático posterior al reinicio) aún se ejecuta hasta completarse, pero el agente no inicia tareas adicionales para ese trabajo de aplicación de parches.

console

  1. En Google Cloud Console, ve a la página Administración de parches de SO.

    Ir a la página Administración de parches de SO

    1. Selecciona la pestaña Trabajos de aplicación de parches.
    2. Haz clic en el nombre del trabajo de aplicación de parches que deseas cancelar.
    3. En la parte inferior de la página, haz clic en Anular.

gcloud

Usa el comando os-config patch-jobs cancel para cancelar un trabajo de aplicación de parches. Reemplaza patch-job-id con el ID de tu trabajo de aplicación de parches.

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

API

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

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

Reemplaza lo siguiente:

  • project-id: el ID de tu proyecto.
  • patch-job-id: el ID de tu trabajo de aplicación de parches.

Recupera datos de cumplimiento de parches

Puedes recuperar datos de cumplimiento de parches para una instancia de VM determinada mediante la API de Container Analysis.

  1. Configura el acceso. Debes tener el permiso containeranalysis.occurrences.list en tu proyecto. Como alternativa, puedes otorgar la función roles/containeranalysis.occurrences.viewer, que proporciona automáticamente todos los permisos necesarios.
  2. En la API de Container Analysis, crea una solicitud GET para el método projects.occurrences.list. Debes definir todos los campos de configuración obligatorios. Por ejemplo, una solicitud con los campos obligatorios se ve de la siguiente manera.

    GET https://containeranalysis.googleapis.com/v1/projects/project-id/occurrences/?filter=filter-expression
    

    Reemplaza lo siguiente:

    • project-id: el ID de tu proyecto.
    • filter-expression: la expresión de filtro. Para el cumplimiento de parches, tu expresión de filtro debe incluir los siguientes parámetros:

      kind="UPGRADE" AND resourceUrl="resource_url"
      • El tipo de caso. Para el cumplimiento de parches, usa UPGRADE.
      • resource_url es la URL completa de la instancia de VM. Por ejemplo, https://www.googleapis.com/compute/projects/my-project-id/zones/my-zone/instances/my-instance-id.

      La URL de recurso deseada debe estar codificada en la URL y debe estar incorporada en una solicitud GET de la siguiente manera:

      GET https://containeranalysis.googleapis.com/v1/projects/project-id/occurrences/?filter=kind%3D%22UPGRADE%22%20AND%20resourceUrl%3D%22resource_url%22

Próximos pasos