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: implanta extensões gradualmente em diferentes zonas durante um período. O período padrão é 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.
- Implantação rápida: esse tipo de implantação envia extensões para 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 de não 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: se já existir uma política zonal que entre em conflito com a política global em uma zona.
- Ao atualizar uma política global: se uma política zonal existente foi modificada independente da implantação da política global, por exemplo, usando uma chamada de API zonal.
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.
Para mais informações, 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 Google Cloud zonas ficarem disponíveis depois que você implantar uma política global, o VM Extension Manager não vai 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.
- Reverter 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 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 excluir a operação novamente.
- 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