Com as políticas de extensão global, é possível gerenciar extensões em várias zonas e regiões de um projeto. Ao aplicar uma política global, o Gerenciador de extensões de VM garante que as VMs em qualquer região ou zona que correspondam aos critérios da política tenham as extensões especificadas instaladas e em execução.
O diagrama a seguir ilustra como usar uma política de extensão global para aplicar extensões a VMs em diferentes zonas e regiões do seu projeto:
Como mostrado no diagrama anterior, é possível definir uma política de extensão global no nível do projeto. O VM Extension Manager aplica essa política a todas as VMs que correspondem aos critérios de seleção. Por exemplo, se você selecionar VMs com o rótulo env=prod em todas as zonas e regiões do projeto, o Gerenciador de extensões de VM vai aplicar as extensões especificadas, como o agente de operações e a extensão para SAP, somente a essas VMs.
Planos de lançamento para políticas globais
As políticas globais usam planos de lançamento para gerenciar a implantação de extensões em zonas e regiões. Com um plano de lançamento, é possível controlar a implantação de extensões, o que ajuda a minimizar o risco de problemas generalizados. Com um plano de lançamento, é possível definir a ordem e o tempo das atualizações para garantir um lançamento gradual e controlado.
Ao criar ou atualizar uma política global, é possível especificar um dos seguintes planos de lançamento:
- Lançamento lento. Esse lançamento implanta extensões gradualmente em diferentes zonas ao longo de um período. O período padrão para esse lançamento é de cinco dias. Essa abordagem é recomendada porque permite identificar e resolver possíveis problemas em lançamentos anteriores antes que eles afetem toda a frota.
- Lançamento rápido. Esse lançamento implanta extensões em todas as VMs segmentadas em todas as zonas e regiões imediatamente. Essa abordagem é útil em situações em que você precisa implantar uma extensão ou um patch rapidamente em ambientes que não são de produção.
Também é possível definir planos de lançamento personalizados para especificar as ondas de implantação com base em zonas ou regiões e o tempo de espera entre as ondas. Para mais
informações, consulte o método
rolloutPlans.insert.
Comportamento em caso de conflito de lançamento
Ao criar ou atualizar uma política global de extensão, um conflito pode ocorrer nas seguintes situações:
- Ao criar uma política global. Um conflito no nome da política ocorre se já existir uma política zonal com o mesmo nome da política global em uma zona.
- Ao atualizar uma política global. Um conflito no conteúdo da política ocorre se uma política zonal existente foi modificada de forma independente da implantação da política global. Por exemplo, se você modificar uma política zonal usando uma chamada de API zonal e um lançamento de política global subsequente tentar modificar essa mesma política zonal, ocorrerá um conflito.
Para evitar esses conflitos, especifique um comportamento de conflito para o lançamento, que determina se a política global deve substituir as políticas zonais conflitantes durante um lançamento. É possível especificar um dos seguintes comportamentos:
- Não substituir (padrão). Se você não especificar um comportamento de conflito, a implantação da política global não vai substituir as políticas zonais conflitantes. A configuração da política zonal tem precedência nessa zona.
- Substituir. Se você definir o comportamento de conflito como
overwrite, a política global vai substituir as políticas zonais conflitantes, e a configuração da política global será aplicada nessa zona.
Conflitos de lançamento e prioridade de política são recursos distintos que funcionam de forma independente. Para mais informações sobre a prioridade da política, consulte Prioridade da política e resolução de conflitos.
Para mais informações sobre conflito de lançamento, consulte o parâmetro conflictBehavior no método globalVmExtensionPolicies.insert.
Tentar fazer um lançamento de novo
Quando você atualiza ou exclui uma política de extensão global, o VM Extension Manager inicia um novo lançamento para aplicar as mudanças de acordo com o plano de lançamento. Se uma implantação for interrompida ou se novas zonas forem adicionadas, será possível tentar novamente a operação iniciando uma nova implantação para a mesma política.
Tentar novamente o lançamento de uma política de atualização
A lista a seguir descreve cenários em que talvez seja necessário tentar novamente o lançamento de uma política de atualização:
- Novas zonas adicionadas. Se novas zonas Google Cloud ficarem disponíveis depois que você implantar uma política global, o Gerenciador de extensões de VM não aplicará automaticamente as políticas atuais às VMs na nova zona. É possível tentar novamente o lançamento da atualização para aplicar a política de extensão às VMs nas novas zonas.
- Reverta as mudanças na política zonal. Se as políticas zonais foram modificadas de forma independente, por exemplo, usando uma chamada de API zonal para modificar uma política zonal, tente novamente um lançamento de atualização com
conflictBehaviordefinido comooverwritepara reaplicar a configuração da política global e substituir as mudanças na política zonal. - Lançamento interrompido. Se um lançamento anterior falhar antes da conclusão, você poderá iniciar um novo lançamento para tentar atualizar de novo.
- Acelerar um lançamento. Se um lançamento em andamento estiver progredindo muito lentamente, inicie um novo usando um plano
FAST_ROLLOUTou personalizado para acelerar o processo de atualização.
Para mais informações, consulte o parâmetro retryUuid no
método globalVmExtensionPolicies.update.
Ao tentar novamente um lançamento, você precisa fornecer um identificador universal exclusivo (UUID) para identificar a solicitação de nova tentativa.
Você pode usar qualquer gerador de UUID para criar um. O UUID precisa usar o formato hexadecimal de 32 caracteres, por exemplo, a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8.
Como tentar novamente o lançamento de uma política de exclusão
A lista a seguir descreve cenários em que talvez seja necessário tentar novamente um lançamento para excluir uma política:
- Lançamento interrompido. Se um lançamento anterior para excluir uma política foi interrompido ou não foi concluído, você pode iniciar um novo lançamento para tentar novamente a operação de exclusão.
- Acelerar um lançamento. Se um lançamento de exclusão em andamento estiver progredindo muito
lentamente, inicie um novo lançamento usando um plano
FAST_ROLLOUTou um plano de lançamento personalizado para acelerar o processo de exclusão.
Para mais informações, consulte o parâmetro retryUuid no
método globalVmExtensionPolicies.delete.
A seguir
Para saber mais sobre como gerenciar extensões, consulte os seguintes recursos:
- Instalar extensões de VM criando políticas de extensão
- Gerenciar extensões de VM usando políticas de extensão