Gerenciar feature gates

O que é um portão de recurso e por que ele existe?

Alguns clientes de dispositivos com isolamento físico do Google Distributed Cloud (GDC) precisam concluir um processo de acreditação para atender a um conjunto de requisitos de compliance. Esses clientes podem ter recursos específicos que precisam passar por uma análise de acreditação por terceiros antes de serem ativados para cargas de trabalho de produção.

Alguns recursos podem exigir vários lançamentos para serem finalizados e não devem ser expostos a todos os clientes até que estejam estáveis e prontos. No entanto, outros clientes podem querer trabalhar com o Google para fazer testes de prova de conceito com o recurso não lançado.

O GDC apresenta vários conceitos para manter recursos antes de estarem prontos:

  • Limite de nível de recurso de implantação (limite de implantação): define o nível mínimo a ser usado no dispositivo. Isso é definido no momento do bootstrap.

  • Recurso FeatureGate: define a configuração de nível superior que acompanha o nível de maturidade padrão por recurso. O recurso também monitora todas as substituições de recursos adicionadas pelo operador.

  • Nível de recurso: rastreia o nível de maturidade em que um determinado recurso está definido. Um recurso é ativado quando é maior ou igual ao limite de implantação.

Os valores possíveis de nível de recurso em ordem crescente são: DEV, TEST, PREVIEW, PRODUCTION e ACCREDITED.

Por exemplo, se o limite de implantação for definido como PRODUCTION, os recursos definidos com o nível ACCREDITED ou PRODUCTION serão ativados. Se o limite de implantação for definido como ACCREDITED, apenas os recursos com nível ACCREDITED serão ativados.

Os gates ou níveis de recursos não são iguais aos testes A/B que você pode encontrar em produtos de consumo. Os portões de recursos ficam ativados ou desativados para todo o dispositivo GDC. Eles são projetados para serem ativados após a conclusão da análise de acreditação e permanecerem ativados.

As implantações com requisitos de acreditação precisam ter a própria configuração FeatureGate, que precisa corresponder ao que foi acreditado para essa ou versões anteriores.

Uso no nível do recurso

Há três definições de recursos personalizados relacionadas à configuração de portões e níveis de recursos:

  • Stage: define o limite de implantação de um cluster. Armazena o limite mínimo de estágio de implantação, que é o que comparar com os feature gates para determinar a ativação de recursos.
  • FeatureGate: armazena a etapa padrão de cada recurso e acompanha as substituições.
  • SubcomponentOverride: usado pelo sistema de gate de recursos para substituir o estágio padrão de um recurso e ativá-lo. Aparece em outros lugares e outros contextos.

O valor da etapa é o limite mínimo de implantação armazenado em cada cluster. Isso só pode ser definido durante a inicialização e nunca alterado depois. Todos os recursos com um valor de estágio igual ou maior são ativados. Para substituir a etapa padrão de um portão de recurso, consulte OOPS-P0072.

Os portões de recursos são semelhantes a uma atualização. Nenhuma imagem ou versão muda, mas é efetivamente a etapa final de um upgrade para ativar os recursos adicionados em um upgrade anterior. A ativação desse recurso pode ocorrer semanas ou meses após o upgrade inicial, dependendo de quanto tempo leva o credenciamento. Continue fazendo upgrades regularmente para incluir correções e patches enquanto o credenciamento estiver em andamento.

Quando os recursos são substituídos, o GDC aciona um reconciliador para reiniciar todos os pods que dependem do recurso. Isso precisa ser feito durante uma janela de manutenção, já que algumas mudanças podem exigir inatividade.

Alguns recursos têm um runbook de manual de serviço que descreve quando ele precisa ser ativado e o que procurar depois que a substituição for aplicada. Isso pode ser para casos que exigem mais do que uma reinicialização do pod ou precisam ser realizados depois que outros recursos são ativados.

Você pode encontrar esses runbooks de recursos no manual de serviço anexado ao componente operacional relevante.

A lista de flags de recursos ativas está disponível na documentação de Estágios de recursos.