Faça a gestão de trabalhos de aplicação de patches

Depois de criar uma tarefa de aplicação de patches, pode usar os seguintes procedimentos para rever e gerir os seus patches:

Pode gerir as suas tarefas de aplicação de patches através da Google Cloud consola, da CLI do Google Cloud ou do REST.

Antes de começar

  • Reveja as quotas de configuração do SO.
  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:

    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. Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. Set a default region and zone.

    REST

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

      Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.

Autorizações

Os proprietários de um projeto têm acesso total para executar e gerir tarefas de aplicação de patches. Para todos os outros utilizadores, tem de conceder autorizações. Pode conceder uma das seguintes funções detalhadas:

  • roles/osconfig.patchJobExecutor: contém autorizações para executar, cancelar, obter e listar tarefas de aplicação de patches. Também contém autorizações para ver detalhes da instância para uma tarefa de aplicação de patches.
  • roles/osconfig.patchJobViewer: contém autorizações para acesso só de leitura para obter e listar tarefas de aplicação de patches. Também contém autorizações para ver detalhes da instância para uma tarefa de aplicação de patches.

Apresente tarefas de patch

Veja uma lista de todas as tarefas ativas e concluídas.

consola

  1. Na Google Cloud consola, aceda a Compute Engine > VM Manager > página Patch.

    Aceda à página Patch

  2. Selecione o separador Tarefas de aplicação de patches.

gcloud

Use o comando os-config patch-jobs list para apresentar uma lista de tarefas de aplicação de patches.

gcloud compute os-config patch-jobs list

Para a Google Cloud CLI, o resultado predefinido devolve as 10 tarefas de aplicação de patches mais recentes, quer estejam concluídas ou ativas. Pode substituir esta definição usando a flag --limit.

O resultado é semelhante ao seguinte:

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

Pode usar mais flags para filtrar, ordenar e formatar a sua pesquisa. Por exemplo, para filtrar o resultado acima para listar apenas os URIs das tarefas de patch com o estado SUCCEEDED, ordenados por hora de criação e por ordem ascendente, execute o seguinte comando:

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

O resultado é semelhante ao seguinte:

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 uma lista completa de flags, reveja o comando os-config patch-jobs list.

REST

Na API, crie um pedido GET para o método patchJobs.list. Substitua project-id pelo ID do seu projeto.

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

Liste todos os detalhes da instância de VM para uma tarefa de aplicação de patches específica

Reveja o estado da tarefa de aplicação de patches para ver a lista completa de instâncias de VM que usam a gestão de patches do SO.

consola

  1. Na Google Cloud consola, aceda a Compute Engine > VM Manager > página Patch.

    Aceda à página Patch

  2. Selecione o separador Tarefas de aplicação de patches.
  3. Clique no nome da tarefa de aplicação de patches que quer rever.
  4. Desloque a página para baixo até Instâncias de VM atualizadas.

gcloud

Use o comando os-config patch-jobs list-instance-details para apresentar os detalhes de todas as VMs numa tarefa de aplicação de patches específica. Substitua patch-job-id pelo ID da tarefa de aplicação de patches.

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

Por exemplo, para ver os detalhes de todas as instâncias que fazem parte da tarefa de aplicação de patches 23b0815e-1c94-4dc6-91b1-30a6da395cb9, execute o seguinte comando:

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

O resultado é semelhante ao seguinte:

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 ..."

Pode usar mais flags para filtrar, ordenar e formatar a sua pesquisa. Por exemplo, para apresentar detalhes de todas as VMs inativas ordenadas por nome da instância por ordem descendente, execute o seguinte comando. Substitua patch-job-id pelo ID da sua tarefa de aplicação de patches.

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

Para ver uma lista completa de flags, reveja o comando os-config patch-jobs list-instance-details.

REST

Na API, crie um pedido GET para o método patchJobs.instanceDetails.

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

Substitua o seguinte:

  • project-id: o ID do seu projeto.
  • patch-job-id: o ID da tarefa de aplicação de patches.

Descreva os trabalhos de aplicação de patches

Reveja informações detalhadas sobre uma tarefa de aplicação de patches.

consola

  1. Na Google Cloud consola, aceda a Compute Engine > VM Manager > página Patch.

    Aceda à página Patch

  2. Selecione o separador Tarefas de aplicação de patches.
  3. Clique no nome da tarefa de aplicação de patches que quer rever.
  4. Reveja a secção Atualizar informações.

gcloud

Use o comando os-config patch-jobs describe para descrever uma tarefa de aplicação de patches. Substitua patch-job-id pelo ID da sua tarefa de aplicação de patches.

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

Por exemplo, para ver informações sobre a tarefa de aplicação de patches 23b0815e-1c94-4dc6-91b1-30a6da395cb9, execute o seguinte comando:

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

O resultado é semelhante ao seguinte:

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

Na API, crie um pedido GET para o método patchJobs.get.

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

Substitua o seguinte:

  • project-id: o ID do seu projeto.
  • patch-job-id: o ID da tarefa de aplicação de patches.

Cancele tarefas de aplicação de patches

Quando cancela uma tarefa de aplicação de patches, o agente de configuração do SO termina a subtarefa em que se encontra, mas não continua depois disso. A subtarefa refere-se a uma tarefa realizada pelo agente que não pode ser interrompida.

Por exemplo, se a tarefa de aplicação de patches for cancelada enquanto a instância de VM está a ser reiniciada, o reinício (e qualquer potencial aplicação de patches automática após o reinício) continua até à conclusão, mas o agente não inicia tarefas adicionais para essa tarefa de aplicação de patches.

consola

  1. Na Google Cloud consola, aceda a Compute Engine > VM Manager > página Patch.

    Aceda à página Patch

    1. Selecione o separador Tarefas de aplicação de patches.
    2. Expanda o menu Ações para a tarefa de aplicação de patches que quer cancelar.
    3. Selecione Cancelar.

gcloud

Use o comando os-config patch-jobs cancel para cancelar uma tarefa de aplicação de patches. Substitua patch-job-id pelo ID da sua tarefa de aplicação de patches.

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

REST

Na API, crie um pedido POST para o método patchJobs.cancel.

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

Substitua o seguinte:

  • project-id: o ID do seu projeto.
  • patch-job-id: o ID da tarefa de aplicação de patches.

O que se segue?