Gerir políticas de convidado (antigas)

Depois de criar uma política de hóspedes, pode usar os seguintes procedimentos para rever e gerir as suas políticas:

Uma vez que o agente de configuração do SO é executado a cada 10 a 15 minutos, quando configura uma atualização ou uma eliminação de uma política, esta demora cerca de 10 a 15 minutos a entrar em vigor.

Pode gerir as políticas de hóspedes através da CLI do Google Cloud ou da 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:

    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.

Atualizar políticas de hóspedes

Para atualizar uma política de hóspedes, conclua os seguintes passos:

  1. Atualize o ficheiro YAML ou JSON.
  2. Execute um comando de atualização ou patch. O processo de atualização é semelhante ao processo de criação, com a adição do suporte para etags que permitem o controlo de simultaneidade e consistência.

gcloud

Use o comando os-config guest-policies update para atualizar uma política de hóspedes.

gcloud beta compute os-config guest-policies update POLICY_ID \
     --file=FILE

Substitua o seguinte:

  • POLICY_ID: o nome da política de hóspedes que quer atualizar.
  • FILE: o ficheiro JSON ou YAML que contém as especificações da política de hóspedes atualizadas.

REST

Na API, crie um pedido PATCH para o método projects.guestPolicies.patch.

PATCH https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies/POLICY_ID

{
  For more information, see Guest policy JSON
}

Substitua o seguinte:

  • PROJECT_ID: o ID do seu projeto.
  • POLICY_ID: o nome da sua política de hóspedes.

Descrever uma política de convidado

gcloud

Para ver detalhes sobre uma política de hóspedes, use o comando os-config guest-policies describe. Substitua POLICY_ID pelo nome da política de hóspedes que quer descrever.

gcloud beta compute os-config guest-policies describe POLICY_ID

REST

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

GET https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies/POLICY_ID

Substitua o seguinte:

  • PROJECT_ID: o ID do seu projeto.
  • POLICY_ID: o nome da sua política de hóspedes.

Indique políticas de hóspedes

gcloud

Para ver uma lista de políticas de convidados no seu projeto, use o comando os-config guest-policies list.

gcloud beta compute os-config guest-policies list

REST

Na API, crie um pedido GET para o método projects.guestPolicies.list. Substitua PROJECT_ID pelo ID do seu projeto.

GET https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies

A eliminar políticas de convidados

Quando o agente de configuração do SO deteta que é acionada uma eliminação de uma política de convidado, o estado atual do sistema é mantido, mas não é feita mais nenhuma manutenção da configuração. Por exemplo, suponhamos que tem uma política de hóspedes package-update-zone2b configurada que instala um pacote my-package em todas as MV na zona us-west2-b e mantém o pacote UPDATED.

Se eliminar a política package-update-zone2b, ocorrem as seguintes alterações:

  • Todas as VMs em us-west2-b que têm o my-package instalado mantêm o my-package instalado. Não existe reversão do estado atual do sistema.
  • Em todas as execuções futuras do agente de configuração do SO, após a eliminação da política, ocorre o seguinte:

    • Se for adicionada uma nova VM ao us-west2-b,my-package não é instalado nesta nova VM.
    • Para instâncias com o my-package instalado, o pacote não é atualizado.

gcloud

Para eliminar uma política de convidado, use o comando os-config guest-policies delete. Substitua POLICY_ID pelo nome da política de hóspedes que quer eliminar.

gcloud beta compute os-config guest-policies delete POLICY_ID

REST

Na API, crie um pedido DELETE para o método projects.guestPolicies.delete.

DELETE https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/guestPolicies/POLICY_ID

Substitua o seguinte:

  • PROJECT_ID: o ID do seu projeto.
  • POLICY_ID: o nome da sua política de hóspedes.

Veja as configurações de uma instância de VM

gcloud

Para ver as políticas aplicadas a uma única instância de VM, use o comando os-config guest-policies lookup.

gcloud beta compute os-config guest-policies lookup VM_NAME \
    --zone=ZONE

Substitua o seguinte:

  • VM_NAME: o nome da instância de VM.
  • ZONE: a zona da instância de VM.

REST

Para ver as políticas aplicadas a uma única instância de VM, use o seguinte pedido POST.

POST https://osconfig.googleapis.com/v1beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME:lookupEffectiveGuestPolicy

Substitua o seguinte:

  • PROJECT_ID: o ID do seu projeto.
  • ZONE: a zona da instância de VM.
  • VM_NAME: o nome da sua instância de VM.

Resolução de problemas

Inspeção das políticas de hóspedes

Pode usar a Google Cloud consola ou a Google Cloud CLI para inspecionar as políticas de SO convidado associadas ao seu projeto.

Consola

  1. Na Google Cloud consola, aceda à página Políticas de SO convidado.

    Aceda à página Políticas de hóspedes do SO

  2. Selecione a política de hóspedes que quer inspecionar e, de seguida, clique em VER DETALHES.

gcloud

  1. Use o comando os-config guest-policies list para apresentar uma lista de todas as suas políticas de hóspedes.

    gcloud beta compute os-config guest-policies list
    
  2. Na lista de políticas de convidado, copie os IDs das políticas de convidado que quer inspecionar e, em seguida, execute o comando para inspecionar cada uma das políticas de convidado. Substitua POLICY_ID pelo ID da política que quer rever.

    gcloud beta compute os-config guest-policies describe POLICY_ID
    

Inspecione as políticas de convidado de uma VM específica

Pode executar o comando lookup para uma determinada VM para ver que configurações se aplicam a essa VM.

Nos casos em que uma VM não parece estar a aplicar os requisitos da política de convidados esperada, é útil inspecionar a lista de políticas de convidados cujas atribuições incluem essa instância de VM específica. Isto ajuda a determinar se o campo Assignment na política de convidado corresponde a esta MV específica.

Use o comando os-config guest-policies lookup para listar as políticas de convidados que podem estar a segmentar uma determinada VM. Substitua VM_NAME pelo nome da VM a inspecionar.

gcloud beta compute os-config guest-policies lookup VM_NAME

Para mais informações, consulte o artigo Ver configurações de uma instância de VM.

O resultado do comando pode revelar que a VM não é realmente segmentada nas propriedades de atribuição de VMs da política de convidado. Por exemplo, pode não estar listado na lista de Labels ou na lista de prefixos de nomes de VMs.

Recuperar de falhas

Não é feita uma nova tentativa de instalação de uma receita de software com falha. Isto acontece porque o sistema não sabe em que estado o software falhou.

Quando depurar receitas de software com falhas, recomendamos os seguintes passos:

  1. Mude o nome da receita de software.
  2. Elimine e recrie a política de convidados com a receita de software renomeada.

Para ver mais passos de resolução de problemas, consulte o artigo Resolução de problemas do Gestor de VMs.

O que se segue?