Agendar trabalhos de patch,Agendar trabalhos de patch

Além de executar trabalhos de patch sob demanda , talvez você queira ter trabalhos de patch que sejam executados automaticamente com base em uma programação definida, criando uma implantação de patch.

Cada implantação de patch pode ter um agendamento único, que executa um trabalho de patch em uma data e hora específicas, ou um agendamento recorrente, que executa um trabalho de patch em um intervalo especificado.

Os filtros de instância permitem corrigir simultaneamente muitas instâncias ao mesmo tempo. Esses filtros são aplicados a cada trabalho de patch individual no momento em que ele é executado. Isso garante que as alterações em seu projeto sejam capturadas em tempo real. Por exemplo, digamos que uma implantação de patch seja criada para aplicar patches a todas as instâncias na zona asia-souteast1-b a partir de duas semanas a partir de agora. No momento da criação do patch, você tinha 20 instâncias na zona, mas 40 novas instâncias foram adicionadas à zona alguns dias depois. Como o filtro é aplicado no momento em que o patch é iniciado, todas as 60 instâncias são atualizadas. Isso permite adicionar e remover instâncias sem a necessidade de atualizar o cronograma de implantação de patches.

Antes de começar

  • Revise as cotas de configuração do sistema operacional .
  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar 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. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

Você pode programar seus jobs de patch usando o console do Google Cloud , a CLI do Google Cloud ou REST .

Permissões

Os proprietários de um projeto têm acesso total para criar e gerenciar implantações de patches. Para todos os outros usuários, você precisa conceder permissões. Você pode conceder uma das seguintes funções granulares:

  • roles/osconfig.patchDeploymentAdmin : contém permissões para criar, excluir, obter e listar implantações de patch.
  • roles/osconfig.patchDeploymentViewer : contém permissões para acesso somente leitura para obter e listar implantações de patch.

Por exemplo, para conceder a um usuário acesso de administrador às implantações de patch, execute o seguinte comando:

gcloud projects add-iam-policy-binding project-id \
    --member user:user-id@gmail.com \
    --role roles/osconfig.patchDeploymentAdmin

Substitua o seguinte:

  • project-id : o ID do projeto.
  • user-id : o nome de usuário do usuário no Google Workspace.

Criando uma implantação de patch

Ao criar uma implantação de patch, o nome da implantação de patch deve atender aos seguintes requisitos de nomenclatura:

  • Cada nome deve ser exclusivo dentro de um projeto
  • Conter apenas letras minúsculas, números e hifens
  • Comece com uma carta
  • Termine com um número ou uma letra
  • Ter entre 1 e 63 caracteres

Na CLI e no REST do Google Cloud, o nome da implantação do patch é conhecido como patch-deployment-id .

Depois de iniciar uma implantação de patch, você poderá monitorar seus patches usando o painel Patch . Demora aproximadamente 30 minutos após o início de um trabalho de patch para que os dados sejam preenchidos no painel.

console

  1. No console do Google Cloud, acesse a página Compute Engine > VM Manager > Patch .

    Vá para a página do patch

  2. Clique em Nova implantação de patch .
  3. Na seção VMs de destino , selecione a zona que contém as VMs que você deseja corrigir. Você também pode optar por selecionar todas as zonas.

    Por exemplo, para corrigir VMs específicas nas zonas selecionadas, insira os filtros de nome e rótulo semelhantes aos seguintes:

    • Prefixo do nome: test-
    • Marcadores: env=dev e app=web
  4. Na seção Configuração do patch , configure o patch.

    1. Especifique um nome para o seu patch.
    2. Selecione as atualizações necessárias para o seu sistema operacional. Para obter mais informações, consulte o que está incluído em um trabalho de patch do sistema operacional .
  5. Na seção Agendamento , preencha o seguinte:

  6. Na seção Opções de implementação , configure as opções de implementação de patch :

    • Selecione se deseja corrigir uma zona por vez ou corrigir zonas simultaneamente.
    • Defina um orçamento para interrupções. Um orçamento de interrupção é o número ou a porcentagem de VMs em uma zona que você deseja que sejam interrompidas de uma só vez pelo processo de patch.
  7. (Opcional) Na seção Opções avançadas , você pode concluir as seguintes tarefas:

  8. Clique em Implementar .

gcloud

Use o comando os-config patch-deployments create para criar uma implantação de patch.

gcloud compute os-config patch-deployments create patch-deployment-id \
    --file patch-deployment-file

Substitua o seguinte:

  • patch-deployment-id : o nome da implantação do patch.
  • patch-deployment-file : o caminho para o arquivo YAML ou JSON que contém as configurações para a implantação do patch.

Exemplo de arquivos YAML de implantação de patch

O arquivo YAML de amostra a seguir pode ser usado para criar uma programação recorrente para todas as instâncias nas zonas us-west2-b e us-west2-c . A programação recorrente tem as seguintes especificações:

  • A data de início é 09 de janeiro de 2019 às 19h30
  • A data de término é 09 de janeiro de 2020 às 19h30
  • O fuso horário a ser usado é "América/Los_Angeles"
  • Funciona todas as semanas às terças-feiras
instanceFilter:
  zones:
  - us-west2-b
  - us-west2-c
recurringSchedule:
  frequency: WEEKLY
  weekly:
    dayOfWeek: TUESDAY
  timeOfDay:
    hours: 19
    minutes: 30
  timeZone:
    id: America/Los_Angeles
  startTime: '2019-09-01T12:00:00Z'
  endTime: '2020-09-01T12:00:00Z'

DESCANSAR

Na API, crie uma solicitação POST para criar uma nova implantação de patch. Você deve definir explicitamente todos os campos de configuração necessários conforme descrito na documentação da API patchDeployments.create . Por exemplo, uma implantação de patch com os campos mínimos obrigatórios (filtro de instância e agendamento) é semelhante a esta. Substitua project-id pelo ID do seu projeto.

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

{
  "instanceFilter": instance-filter

  // Add one of the following parameters:
  "recurringSchedule": schedule
  "oneTimeSchedule": schedule
}

Substitua o seguinte:

  • project-id : o ID do seu projeto.
  • instance-filter : os parâmetros de filtro que você deseja. Para obter mais informações sobre filtros de instância, consulte filtros de instância .
  • schedule : forneça o parâmetro oneTimeSchedule ou recurringSchedule que detalha os parâmetros de agendamento, como data, hora e frequência para executar o trabalho de patch.

Exemplos

Exemplo 1 : crie um agendamento único para executar um trabalho de patch em 10 de janeiro de 2020 às 12h UTC em todas as instâncias nas zonas us-west2-b e us-west2-c .

{
 "instanceFilter":{
   "zones":[
     "us-west2-b",
     "us-west2-c"
   ]
 },
 "oneTimeSchedule": {
   "executeTime": "2020-01-10T00:00:00Z"
 }
}

Exemplo 2 : Crie uma programação recorrente para todas as instâncias nas zonas us-west2-b e us-west2-c . A programação recorrente tem as seguintes especificações:

  • A data de início é 09 de janeiro de 2019 às 19h30
  • A data de término é 09 de janeiro de 2020 às 19h30
  • O fuso horário a ser usado é "América/Los_Angeles"
  • Funciona todas as semanas às terças-feiras
POST https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments
{
  "instanceFilter":{
    "zones":[
      "us-west2-b",
      "us-west2-c"
    ]
  },
  "recurringSchedule":{
    "frequency":"WEEKLY",
    "weekly":{
      "dayOfWeek":"TUESDAY"
    },
    "timeOfDay":{
      "hours":19,
      "minutes":30
    },
    "timeZone":{
      "id":"America/Los_Angeles"
    },
    "startTime":"2019-09-01T12:00:00Z",
    "endTime":"2020-09-01T12:00:00Z"
  }
}

Listar implantações de patch

console

  1. No console do Google Cloud, acesse a página Compute Engine > VM Manager > Patch .

    Vá para a página do Patch

  2. Selecione a guia Implantações agendadas .

gcloud

Use o comando os-config patch-deployments list para listar implantações de patch.

gcloud compute os-config patch-deployments list

Este comando retorna todas as implantações de patch. A saída é semelhante à seguinte:

NAME              LAST_RUN                  NEXT_RUN              FREQUENCY
first-deployment  2019-12-18T00:07:00.738Z  ---                   Once: Scheduled for 2019-12-18T00:07:00.000Z
my-deployment1    2020-01-05T14:00:00.228Z  2020-01-12T14:00:00Z  Recurring - Weekly
my-deployment2    ---                       2020-01-15T05:30:00Z  Recurring - Monthly on specific date(s)

Você pode usar mais sinalizadores para limitar e formatar sua pesquisa. Por exemplo, para listar as primeiras 10 implantações de patch em páginas de 2, execute o comando a seguir. Substitua project-id pelo ID do seu projeto.

gcloud compute os-config patch-deployments list --limit 10 --page-size 2

DESCANSAR

Na API, crie uma solicitação GET para o método patchDeployments.list . Substitua project-id pelo ID do seu projeto.

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

Descrever uma implantação de patch

console

  1. No console do Google Cloud, acesse a página Compute Engine > VM Manager > Patch .

    Vá para a página do patch

  2. Selecione a guia Implantações agendadas .
  3. Clique no nome da implantação que você deseja revisar.

gcloud

Use o comando os-config patch-deployments describe para descrever uma implantação de patch. Substitua patch-deployment-id pelo nome da implantação do patch.

gcloud compute os-config patch-deployments describe patch-deployment-id

DESCANSAR

Na API, crie uma solicitação GET para o método patchDeployments.get .

GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id

Substitua o seguinte:

  • project-id : o ID do seu projeto.
  • patch-deployment-id : o nome da implantação do patch.

Excluir uma implantação de patch

console

  1. No console do Google Cloud, acesse a página Compute Engine > VM Manager > Patch .

    Vá para a página do patch

  2. Selecione a guia Implantações agendadas .
  3. Clique no nome da implantação que você deseja excluir.
  4. Clique em Excluir esta programação .

gcloud

Use o comando os-config patch-deployments delete para excluir uma implantação de patch. Substitua patch-deployment-id pelo nome da implantação do patch.

gcloud compute os-config patch-deployments delete patch-deployment-id

DESCANSAR

Na API, crie uma solicitação DELETE para o método patchDeployments.delete .

DELETE https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id

Substitua o seguinte:

  • project-id : o ID do seu projeto.
  • patch-deployment-id : o nome da implantação do patch.

O que vem a seguir?

,

Além de executar trabalhos de patch sob demanda , talvez você queira ter trabalhos de patch que sejam executados automaticamente com base em uma programação definida, criando uma implantação de patch.

Cada implantação de patch pode ter um agendamento único, que executa um trabalho de patch em uma data e hora específicas, ou um agendamento recorrente, que executa um trabalho de patch em um intervalo especificado.

Os filtros de instância permitem corrigir simultaneamente muitas instâncias ao mesmo tempo. Esses filtros são aplicados a cada trabalho de patch individual no momento em que ele é executado. Isso garante que as alterações em seu projeto sejam capturadas em tempo real. Por exemplo, digamos que uma implantação de patch seja criada para aplicar patches a todas as instâncias na zona asia-souteast1-b a partir de duas semanas a partir de agora. No momento da criação do patch, você tinha 20 instâncias na zona, mas 40 novas instâncias foram adicionadas à zona alguns dias depois. Como o filtro é aplicado no momento em que o patch é iniciado, todas as 60 instâncias são atualizadas. Isso permite adicionar e remover instâncias sem a necessidade de atualizar o cronograma de implantação de patches.

Antes de começar

  • Revise as cotas de configuração do sistema operacional .
  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar 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. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

Você pode programar seus jobs de patch usando o console do Google Cloud , a CLI do Google Cloud ou REST .

Permissões

Os proprietários de um projeto têm acesso total para criar e gerenciar implantações de patches. Para todos os outros usuários, você precisa conceder permissões. Você pode conceder uma das seguintes funções granulares:

  • roles/osconfig.patchDeploymentAdmin : contém permissões para criar, excluir, obter e listar implantações de patch.
  • roles/osconfig.patchDeploymentViewer : contém permissões para acesso somente leitura para obter e listar implantações de patch.

Por exemplo, para conceder a um usuário acesso de administrador às implantações de patch, execute o seguinte comando:

gcloud projects add-iam-policy-binding project-id \
    --member user:user-id@gmail.com \
    --role roles/osconfig.patchDeploymentAdmin

Substitua o seguinte:

  • project-id : o ID do projeto.
  • user-id : o nome de usuário do usuário no Google Workspace.

Criando uma implantação de patch

Ao criar uma implantação de patch, o nome da implantação de patch deve atender aos seguintes requisitos de nomenclatura:

  • Cada nome deve ser exclusivo dentro de um projeto
  • Conter apenas letras minúsculas, números e hifens
  • Comece com uma carta
  • Termine com um número ou uma letra
  • Ter entre 1 e 63 caracteres

Na CLI e no REST do Google Cloud, o nome da implantação do patch é conhecido como patch-deployment-id .

Depois de iniciar uma implantação de patch, você poderá monitorar seus patches usando o painel Patch . Demora aproximadamente 30 minutos após o início de um trabalho de patch para que os dados sejam preenchidos no painel.

console

  1. No console do Google Cloud, acesse a página Compute Engine > VM Manager > Patch .

    Vá para a página do patch

  2. Clique em Nova implantação de patch .
  3. Na seção VMs de destino , selecione a zona que contém as VMs que você deseja corrigir. Você também pode optar por selecionar todas as zonas.

    Por exemplo, para corrigir VMs específicas nas zonas selecionadas, insira os filtros de nome e rótulo semelhantes aos seguintes:

    • Prefixo do nome: test-
    • Marcadores: env=dev e app=web
  4. Na seção Configuração do patch , configure o patch.

    1. Especifique um nome para o seu patch.
    2. Selecione as atualizações necessárias para o seu sistema operacional. Para obter mais informações, consulte o que está incluído em um trabalho de patch do sistema operacional .
  5. Na seção Agendamento , preencha o seguinte:

  6. Na seção Opções de implementação , configure as opções de implementação de patch :

    • Selecione se deseja corrigir uma zona por vez ou corrigir zonas simultaneamente.
    • Defina um orçamento para interrupções. Um orçamento de interrupção é o número ou a porcentagem de VMs em uma zona que você deseja que sejam interrompidas de uma só vez pelo processo de patch.
  7. (Opcional) Na seção Opções avançadas , você pode concluir as seguintes tarefas:

  8. Clique em Implementar .

gcloud

Use o comando os-config patch-deployments create para criar uma implantação de patch.

gcloud compute os-config patch-deployments create patch-deployment-id \
    --file patch-deployment-file

Substitua o seguinte:

  • patch-deployment-id : o nome da implantação do patch.
  • patch-deployment-file : o caminho para o arquivo YAML ou JSON que contém as configurações para a implantação do patch.

Exemplo de arquivos YAML de implantação de patch

O arquivo YAML de amostra a seguir pode ser usado para criar uma programação recorrente para todas as instâncias nas zonas us-west2-b e us-west2-c . A programação recorrente tem as seguintes especificações:

  • A data de início é 09 de janeiro de 2019 às 19h30
  • A data de término é 09 de janeiro de 2020 às 19h30
  • O fuso horário a ser usado é "América/Los_Angeles"
  • Funciona todas as semanas às terças-feiras
instanceFilter:
  zones:
  - us-west2-b
  - us-west2-c
recurringSchedule:
  frequency: WEEKLY
  weekly:
    dayOfWeek: TUESDAY
  timeOfDay:
    hours: 19
    minutes: 30
  timeZone:
    id: America/Los_Angeles
  startTime: '2019-09-01T12:00:00Z'
  endTime: '2020-09-01T12:00:00Z'

DESCANSAR

Na API, crie uma solicitação POST para criar uma nova implantação de patch. Você deve definir explicitamente todos os campos de configuração necessários conforme descrito na documentação da API patchDeployments.create . Por exemplo, uma implantação de patch com os campos mínimos obrigatórios (filtro de instância e agendamento) é semelhante a esta. Substitua project-id pelo ID do seu projeto.

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

{
  "instanceFilter": instance-filter

  // Add one of the following parameters:
  "recurringSchedule": schedule
  "oneTimeSchedule": schedule
}

Substitua o seguinte:

  • project-id : o ID do seu projeto.
  • instance-filter : os parâmetros de filtro que você deseja. Para obter mais informações sobre filtros de instância, consulte filtros de instância .
  • schedule : forneça o parâmetro oneTimeSchedule ou recurringSchedule que detalha os parâmetros de agendamento, como data, hora e frequência para executar o trabalho de patch.

Exemplos

Exemplo 1 : crie um agendamento único para executar um trabalho de patch em 10 de janeiro de 2020 às 12h UTC em todas as instâncias nas zonas us-west2-b e us-west2-c .

{
 "instanceFilter":{
   "zones":[
     "us-west2-b",
     "us-west2-c"
   ]
 },
 "oneTimeSchedule": {
   "executeTime": "2020-01-10T00:00:00Z"
 }
}

Exemplo 2 : Crie uma programação recorrente para todas as instâncias nas zonas us-west2-b e us-west2-c . A programação recorrente tem as seguintes especificações:

  • A data de início é 09 de janeiro de 2019 às 19h30
  • A data de término é 09 de janeiro de 2020 às 19h30
  • O fuso horário a ser usado é "América/Los_Angeles"
  • Funciona todas as semanas às terças-feiras
POST https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments
{
  "instanceFilter":{
    "zones":[
      "us-west2-b",
      "us-west2-c"
    ]
  },
  "recurringSchedule":{
    "frequency":"WEEKLY",
    "weekly":{
      "dayOfWeek":"TUESDAY"
    },
    "timeOfDay":{
      "hours":19,
      "minutes":30
    },
    "timeZone":{
      "id":"America/Los_Angeles"
    },
    "startTime":"2019-09-01T12:00:00Z",
    "endTime":"2020-09-01T12:00:00Z"
  }
}

Listar implantações de patch

console

  1. No console do Google Cloud, acesse a página Compute Engine > VM Manager > Patch .

    Vá para a página do Patch

  2. Selecione a guia Implantações agendadas .

gcloud

Use o comando os-config patch-deployments list para listar implantações de patch.

gcloud compute os-config patch-deployments list

Este comando retorna todas as implantações de patch. A saída é semelhante à seguinte:

NAME              LAST_RUN                  NEXT_RUN              FREQUENCY
first-deployment  2019-12-18T00:07:00.738Z  ---                   Once: Scheduled for 2019-12-18T00:07:00.000Z
my-deployment1    2020-01-05T14:00:00.228Z  2020-01-12T14:00:00Z  Recurring - Weekly
my-deployment2    ---                       2020-01-15T05:30:00Z  Recurring - Monthly on specific date(s)

Você pode usar mais sinalizadores para limitar e formatar sua pesquisa. Por exemplo, para listar as primeiras 10 implantações de patch em páginas de 2, execute o comando a seguir. Substitua project-id pelo ID do seu projeto.

gcloud compute os-config patch-deployments list --limit 10 --page-size 2

DESCANSAR

Na API, crie uma solicitação GET para o método patchDeployments.list . Substitua project-id pelo ID do seu projeto.

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

Descrever uma implantação de patch

console

  1. No console do Google Cloud, acesse a página Compute Engine > VM Manager > Patch .

    Vá para a página do Patch

  2. Selecione a guia Implantações agendadas .
  3. Clique no nome da implantação que você deseja revisar.

gcloud

Use o comando os-config patch-deployments describe para descrever uma implantação de patch. Substitua patch-deployment-id pelo nome da implantação do patch.

gcloud compute os-config patch-deployments describe patch-deployment-id

DESCANSAR

Na API, crie uma solicitação GET para o método patchDeployments.get .

GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id

Substitua o seguinte:

  • project-id : o ID do seu projeto.
  • patch-deployment-id : o nome da implantação do patch.

Excluir uma implantação de patch

console

  1. No console do Google Cloud, acesse a página Compute Engine > VM Manager > Patch .

    Vá para a página do Patch

  2. Selecione a guia Implantações agendadas .
  3. Clique no nome da implantação que você deseja excluir.
  4. Clique em Excluir esta programação .

gcloud

Use o comando os-config patch-deployments delete para excluir uma implantação de patch. Substitua patch-deployment-id pelo nome da implantação do patch.

gcloud compute os-config patch-deployments delete patch-deployment-id

DESCANSAR

Na API, crie uma solicitação DELETE para o método patchDeployments.delete .

DELETE https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id

Substitua o seguinte:

  • project-id : o ID do seu projeto.
  • patch-deployment-id : o nome da implantação do patch.

O que vem a seguir?