Além de executar jobs de patch sob demanda, convém criar jobs de patch automaticamente com base em uma programação definida. Para isso, crie uma implantação de patch.
Cada implantação de patch pode ter uma programação única, que executa um job de patch em uma data e hora específica, ou uma programação recorrente, que executa um job de patch em um intervalo especificado.
Os filtros de instâncias
permitem que você aplique vários patches ao mesmo
tempo. Estes filtros são aplicados a cada job de patch individual no momento da
execução. Isso garante que as alterações no 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
, começando daqui a duas semanas. No momento da criação
do patch, você tinha 20 instâncias na zona. Alguns dias depois, 40 novas instâncias
foram adicionadas à ela. 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 precisar atualizar o cronograma de implantação do patch.
Antes de começar
- Revise as cotas de configuração do SO.
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
roles/osconfig.patchDeploymentAdmin
: contém permissões para criar, excluir, receber e listar implantações de patch.roles/osconfig.patchDeploymentViewer
: contém permissões para acesso somente leitura a fim de receber e listar implantações de patch.project-id
: o ID do projeto.user-id
: o nome de usuário do Google Workspace.- Cada nome precisa ser exclusivo em um projeto
- Ter somente letras minúsculas, números e hifens
- Começar com uma letra
- Terminar com um número ou uma letra
- Ter entre 1 e 63 caracteres
- No console do Google Cloud, acesse a página Compute Engine > VM Manager > Patch.
- Clique em Nova implantação de patch.
Na seção VMs de destino, selecione a zona que contém as VMs que você quer corrigir. Se preferir, selecione 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 de nome:
test-
- Rótulos:
env=dev
eapp=web
- Prefixo de nome:
Na seção Configuração do patch, configure o patch.
- Especifique um Nome para seu patch.
- Selecione as atualizações necessárias para o sistema operacional. Para mais informações, consulte o que está incluído em um job de patch do SO.
Na seção Programação, conclua o seguinte:
- Selecione uma programação. É possível programar um job de patch único ou jobs de patch recorrentes.
- (Opcional) Defina uma duração ou janela de manutenção.
Na seção Opções de lançamento, configure as opções de lançamento do patch:
- Selecione se quer corrigir uma zona por vez ou várias zonas simultaneamente.
- Defina um orçamento de interrupção. Um orçamento de interrupção é o número ou a porcentagem de VMs em uma zona que você quer que seja interrompida de uma só vez pelo processo de aplicação de patches.
(Opcional) Na seção Opções avançadas, é possível concluir as seguintes tarefas:
- Selecione uma opção de reinicialização.
- Faça upload de scripts pré-patch e pós-patch. Para mais informações sobre scripts pré-patch e pós-patch, consulte Como especificar scripts pré-patch e pós-patch.
Clique em Implantar.
patch-deployment-id
: o nome da implantação de patch.patch-deployment-file
: o caminho para o arquivo YAML ou JSON que contém as configurações da implantação de patch.- A data de início é 9 de janeiro de 2019, às 19h30.
- A data de término é 9 de janeiro de 2020, às 19h30.
- O fuso horário a ser usado é "América/Los_Angeles"
- Executada toda semana em uma terça-feira
project-id
: o ID do projetoinstance-filter
: os parâmetros de filtro que você quer Para mais informações sobre filtros de instância, consulte filtros de instância.schedule
: forneça o parâmetrooneTimeSchedule
ourecurringSchedule
que detalha os parâmetros de programação, como data, hora e frequência, para executar o job de patch.- A data de início é 9 de janeiro de 2019, às 19h30.
- A data de término é 9 de janeiro de 2020, às 19h30.
- O fuso horário a ser usado é "América/Los_Angeles"
- Executada toda semana em uma terça-feira
- No console do Google Cloud, acesse a página Compute Engine > VM Manager > Patch.
- Selecione a guia Implantações programadas.
- No console do Google Cloud, acesse a página Compute Engine > VM Manager > Patch.
- Selecione a guia Implantações programadas.
- Clique no nome da implantação que você quer analisar.
project-id
: o ID do projeto.patch-deployment-id
: o nome da implantação de patch.- No console do Google Cloud, acesse a página Compute Engine > VM Manager > Patch.
- Selecione a guia Implantações programadas.
- Clique no nome da implantação que você quer excluir.
- Clique em Excluir esta programação.
project-id
: o ID do projeto.patch-deployment-id
: o nome da implantação de patch.- Saiba mais sobre Patch.
- Crie um job de patch.
- Gerencie seus jobs de patch.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
É possível programar seus jobs de patch usando o console do Google Cloud, a Google Cloud CLI ou a REST de dois minutos.
Permissões
Os proprietários de um projeto têm acesso total para criar e gerenciar implantações de patch. Para todos os outros usuários, você precisa conceder permissões. É possível conceder um dos seguintes papéis granulares:
Por exemplo, para conceder acesso às implantações de patch a um administrador de usuários, execute o seguinte comando:
gcloud projects add-iam-policy-binding project-id \ --member user:user-id@gmail.com \ --role roles/osconfig.patchDeploymentAdmin
Substitua:
Como criar uma implantação de patch
Quando você cria uma implantação de patch, o nome dela precisa atender aos seguintes requisitos de nomenclatura:
Na Google Cloud CLI e no REST, o nome da implantação de patch é
patch-deployment-id
.Depois de iniciar uma implantação de patch, é possível monitorar seus patches usando o painel de patches. Depois que um job de patch é iniciado, leva cerca de 30 minutos para que os dados sejam preenchidos no painel.
Console
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:
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 em todas as instâncias nas zonas
us-west2-b
eus-west2-c
. A programação recorrente tem as seguintes especificações: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'
REST
Na API, crie uma solicitação
POST
para criar uma nova implantação de patch. Você precisa definir explicitamente todos os campos de configuração obrigatórios, conforme descrito na documentação da APIpatchDeployments.create
. Por exemplo, uma implantação de patch com os campos mínimos obrigatórios (filtro e programação da instância) tem a seguinte aparência. Substituaproject-id
pelo ID do 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:
Exemplos
Exemplo 1: crie uma programação única para executar um job de patch em 10 de janeiro de 2020 às 12h UTC em todas as instâncias nas zonas
us-west2-b
eus-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
eus-west2-c
. A programação recorrente tem as seguintes especificações: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
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 será assim:
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)
Também é possível usar mais sinalizações para limitar e formatar sua pesquisa. Por exemplo, para listar as 10 primeiras implantações de patch em páginas de dois, execute o seguinte comando. Substitua
project-id
pelo código do projeto:gcloud compute os-config patch-deployments list --limit 10 --page-size 2
REST
Na API, crie uma solicitação
GET
para o métodopatchDeployments.list
. Substituaproject-id
pelo ID do projeto.GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments
Descrever uma implantação de patch
Console
gcloud
Use o comando
os-config patch-deployments describe
para descrever uma implantação de patch. Substituapatch-deployment-id
pelo nome da implantação de patch.gcloud compute os-config patch-deployments describe patch-deployment-id
REST
Na API, crie uma solicitação
GET
para o métodopatchDeployments.get
.GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id
Substitua:
Excluir uma implantação de patch
Console
gcloud
Use o comando
os-config patch-deployments delete
para excluir uma implantação de patch. Substituapatch-deployment-id
pelo nome da implantação de patch.gcloud compute os-config patch-deployments delete patch-deployment-id
REST
Na API, crie uma solicitação
DELETE
para o métodopatchDeployments.delete
.DELETE https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id
Substitua:
A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-12-22 UTC.
-